Skip to main content

Hey,

I am mega confused with something that I thought would be relatively simple. I have a Survey123 feature layer in ArcGIS Online that automatically places survey points at 0 lat 0 long (west coast of Africa). What I would like to do is read the Survey layer into FME, geocode the data via an address attribute, and then write back the geometry updates to the layer without altering the attribute table at all. I can do all of that fine except for the final Write/update operation.

I have confirmed that the layer in AGOL is editable and allows for Updates (attributes and geometry). I have the correct AGOL permissions to do these edits. In the parameters for my AGOL Writer, I have the Layer settings as: Update, Use Existing, Update Spatial Column = Yes. The operation completes successfully, but then when I check AGOL it appears that the layer’s geometry has disappeared. The table attributes are there, but no geometry is present.

I can also see that AGOL recognizes some change to the data since my credentials show up in the Editor/EditDate attributes on AGOL.

What am I missing here? Is there a setting on AGOL or FME that I need to enable/disable?

ESRI AGOL Writer Settings

 

Hi ​@smithgk 

I think you have that part set up correctly. An example that I can give is I read in the layer (in your case the survey 123 layer)….I make an update to three fields (watershed, municipality) and then I only pass those updated fields to the writer (just me being paranoid of overwriting other fields lol).
Key thing here is the Feature Operation is set to “Update”, Type Handling to “Use Existing” and I have Update Spatial Columns to “No”. In your case set that to “Yes” b/c you are updating geometry. In my case it is just an attribute update. 
Hope that helps!
 

 


Hi ​@smithgk 

I think you have that part set up correctly. An example that I can give is I read in the layer (in your case the survey 123 layer)….I make an update to three fields (watershed, municipality) and then I only pass those updated fields to the writer (just me being paranoid of overwriting other fields lol).
Key thing here is the Feature Operation is set to “Update”, Type Handling to “Use Existing” and I have Update Spatial Columns to “No”. In your case set that to “Yes” b/c you are updating geometry. In my case it is just an attribute update. 
Hope that helps!
 

 

Thanks for the response! That is exactly what I have configured:

Everything seems to work just fine, except the changes don’t show up in AGOL. The geometry just seems to disappear in AGOL even though everything works fine in FME


🤔This is point data? The geometry type is set to “arcgisonline_point”? Have you tried to write out the data to a test layer in another format, filegdb or geojson?


🤔This is point data? The geometry type is set to “arcgisonline_point”? Have you tried to write out the data to a test layer in another format, filegdb or geojson?

Indeed, the geometry is set to arcgisonline_point (tried changing to _multipoint and it gave me an error) and I have successfully written the data to a local FGDB.


Hi ​@smithgk Well then...running out of tricks….

 

Have you tried Overwriting the existing service and uploading as geodatabase? With this option all records have to be uploaded each time. or you will loose stuff but shouldn’t loose the feature IDs which will otherwise break your Survey 123.
 

 


After talking with my manager, we are fairly certain this is an issue with how Survey123 is creating the data. The survey by itself does not create geometry attributes by default since there is no question that asks for specific location information (i.e. a point on the map). This is why it default places the points in the Atlantic Ocean off the west coast of Africa.

FME isn’t bothered by that, and can geocode/replace the geometry easily. But when FME goes to write geometry enabled data back to AGOL and the feature service, AGOL cannot process the request since there are no geometry attributes to write the data to. The process looks like it completes successfully, but nothing really happens.

Seems super squirrely, but that’s where we are currently at. 


Hi ​@smithgk Well that had not occurred to me. I saw one post:

It turns out that Survey123 Connect determines the geometry type of a survey by looking at the first geopoint, geotrace, or geoshape question it encounters. If the first geometry question is null, Survey123 Connect creates a table for the survey; otherwise, it creates a feature layer for the survey. There is currently no way to capture the geometry from a second (or later) geopoint question.

 

So if there was no geometry question when the survey was created then a you are dealing with a table not a feature class with a geometry type that can be updated.

From here I guess your options would be to recreate with a geometry question. Or take the survey into Survey 123 Connect. You would be able to hide the geometry question from the survey.

If you are adding a point to the original survey you could add and x and a y column and write the coordinates to the table as separate columns and work with them form there. Good luck!


Hi ​@smithgk Well that had not occurred to me. I saw one post:

It turns out that Survey123 Connect determines the geometry type of a survey by looking at the first geopoint, geotrace, or geoshape question it encounters. If the first geometry question is null, Survey123 Connect creates a table for the survey; otherwise, it creates a feature layer for the survey. There is currently no way to capture the geometry from a second (or later) geopoint question.

 

So if there was no geometry question when the survey was created then a you are dealing with a table not a feature class with a geometry type that can be updated.

From here I guess your options would be to recreate with a geometry question. Or take the survey into Survey 123 Connect. You would be able to hide the geometry question from the survey.

If you are adding a point to the original survey you could add and x and a y column and write the coordinates to the table as separate columns and work with them form there. Good luck!

 

That is exactly what I ended up doing! Actually no need for FME at this point, I ended up adding a few attributes when following this guide, so the points are now properly placed on the fly. Thanks for the assistance with this!