Skip to main content

I'm struggling to find documentation or an article for this problem I am running into. I have a validation tool I created that checks for all sorts of different errors within a GDB. The errors that are caught are then written to ArcOnline where the data can be visualised. The validation tool handles mostly missing/null data. Once the null/missing data is found or fixed, you run the validation tool again to update the ArcOnline data. What I am trying to achieve is that the updating of the data is replaced based on a specific attribute- 'Project_ID'(PID). The ArcOnline layer could have entries for 'PID_1', & entries for 'PID_2'. If the tool is ran again and some existing errors have been remedied for 'PID_1', only those with 'PID_1' will be removed and updated, and those with 'PID_2' are left untouched. (When running the tool, the input data will never have conflicting Project IDs. So it is ran on a project to project basis.)

 

Hopefully this makes sense. Essentially I need to update/replace only data that has a matching identifier.

 

Thanks!

Hi Travis

Not sure I understand completely but here are some thoughts.

To update features in AGOL you must use the Objectid, no other field can be used as the key field - at least in my experience.

So I think you workflow would work roughly like this:

  1. Reader for you AGOL feature layer
  2. Reader for wherever you have the validation results - presumably with these PIDS
  3. Join on PIDs using a FeatureMerger or Joiner - so now you have the PIDs you want to update AND the objectids
  4. AGOL writer in update mode.

Reply