Skip to main content

I am trying to create a workflow that will update a feature layer on ArcGIS Online that is powering a dashboard but keep running into several roadblocks regarding updating the layer. The points themselves are being updated from two sources (other AGOL feature layers) and I am using FME to combine them. First they go through an attribute manager to get the schema matching (They are similar, but different attribute names and one is significantly longer because it just has more data. This longer one is the base for the "master layer"), then those two go through an Update Detector transformer with both of those being compared to the "mater" feature layer. That update detector finds which existing records have been updated (I hope) and then those updated or new records are linked to the master feature layer writer in Update mode. The problem I am running into is when I hit run, an error occurs and says "your layer is missing the ID attribute 'OBJECTID' needed to update/delete". However I can clearly see there is an object ID field in the master feature layer. First off, does this workflow sound right and if so what could be causing this error? I will add a screenshot with this post but I can't provide the FME file unfortunately.

 

In the attribute editors I have the ObjectIDs removed as when the data is sent to AGOL, it will create new objectIDs. The update detector is creating matches using a different unique ID within the join layers that are from user input.

Hi @afackler_napsg, updating ArcGIS Online can be a bit tricky when updating. If you read the article and follow the steps as mentioned here https://knowledge.safe.com/articles/19302/how-do-i-write-updates-to-an-existing-arcgis-onlin.html

 

ChangeDetector or Updatedetector(old version) usually are good tools to identify the changes/deltas in the data, but require additional steps to prepare the data to be published to AGOL.

 

I would recommend using FeatureMerger instead and fme_db_operation to perform UPDATES
Going off of what Rahul mentioned, if you want to update or delete, you'll need to have something (whether that be a CSV, FFS or other file) that you can use with the feature merger that contains the OBJECTID. But you'll need to keep the file updated or you could read in from the REST service (depending on what you want your performance to be and how often this will be ran). We have several jobs at my organization that we update data on arcgis online and we use either a CSV or FFS merged with the incoming data so we can get the OBJECTID. Let me know if you have questions and I can share a working sample
Going off of what Rahul mentioned, if you want to update or delete, you'll need to have something (whether that be a CSV, FFS or other file) that you can use with the feature merger that contains the OBJECTID. But you'll need to keep the file updated or you could read in from the REST service (depending on what you want your performance to be and how often this will be ran). We have several jobs at my organization that we update data on arcgis online and we use either a CSV or FFS merged with the incoming data so we can get the OBJECTID. Let me know if you have questions and I can share a working sample

Would reading in from the feature layer work? Like how I have it in my example above but instead of Update Detector I use Feature Merger?


Reply