ian.bates@aecom.com

Updating AGOL feature service with related features

Discussion created by ian.bates@aecom.com on Oct 25, 2016

Our design uses a feature service on ArcGIS Online  it has four feature layers:

  • Parent Project - point feature class (attributes PROJECT_ID, SUBTYPE)
    • Child Points (attributes PROJECT_ID, SUBTYPE)
    • Child polyline (attributes PROJECT_ID, SUBTYPE)
    • Child polygons(attributes PROJECT_ID, SUBTYPE)

 

There is a one - many relationship between the parent and child classes based upon a unique PROJECT_ID field. Since the symbology for the child features needs to be based upon the parents SUBTYPE field we understand that since AGOL doesn't support custom database views we don't have any alternative but to duplicate this field on the child feature layers.

 

In our normal workflow child features are created in a custom JavaScript API app. When child features are created the SUBTYPE field is automatically populated based upon the parent feature. However there is also a need to update the feature service using desktop GIS. To date we discovered 3 alternatives:

1. Download a File Geodatabase from the Feature Service - update copies across a couple of users and then manually merge and use a script to update child features.  The Feature Service data is overwritten and timestamps OBJECTID are lost.

2. Download a File Geodatabase modify and then re-upload to AGOL after. In this scenario we understand its not possible to update the current feature service only create a new feature service.

3. Use ArcMap offline download/edit/sync functionality to update AGOL directly.

  •    However we would need to write a REST api calls or similar to ensure that all the child features have the parent SUBTYPE copied to them.
  • or use some kind of client side script to ensure that when child features are create the related parent SUBTYPE is copied.

 

We think option 3 is the best long term solution - is this the case?

Are there any alternative options we have missed to update AGOL?

Is there any technique we have missed in AGOL of symbolizing child features using parent subtype - eliminating the need to copy the SUBTYPE field?

Outcomes