I'm investigating using Velocity to output to an existing feature layer hosted in ArcGIS Online, as documented here: https://doc.arcgis.com/en/iot/disseminate-and-notify/feature-layer-existing-.htm
I've created the feature layer and setup the schema through ArcGIS Online.
When I select this layer as the output, and chose to only keep latest features, there's a message warning the tags in the schema don't match. "Input schema has fields with tags that are not tagged the same way in the destination schema. Tags that didn't match are 'TRACK_ID'".
How do I add the TRACK_ID tag to my hosted feature layer?
Solved! Go to Solution.
@BrynR Thanks for reaching out to the Velocity community with your question!
At the current Velocity version (3.3), the output schema referenced by the Feature layer (existing) output must be identical to the schema going to the output in the Velocity analytic. This includes identified key fields such as "TRACK_ID / START_TIME / END_TIME". However, as you have encountered ArcGIS Online and ArcGIS Server services created by a client other than ArcGIS Velocity do not set a "TRACK_ID" field in the Time Info object.
Short term resolutions:
Option 1: Use ArcGIS Velocity to create the ArcGIS Online hosted feature layer, and the key fields will be maintained and generated on the ArcGIS Online layer. This can be achieved with the Feature Layer (new) output type from real-time or big data analytics
Option 2: If you are not using the "keep latest features" output setting for the feature layer, simply add a Map Fields tool before the Feature layer (existing) output and remove the identified key fields.
Long term resolutions:
We are investigating enhancing ArcGIS Velocity to relax schema match requirements for "TRACK_ID / START_TIME / END_TIME" provided the output schema is otherwise identical, which will support add new or keep latest feature output configurations despite ArcGIS Online and ArcGIS Server not leveraging the Track ID field identification the same way as Velocity. We are targeting this for the 4.1 release.
Glad to hear you had success with option 1! Currently we do not have a roadmap for Velocity published but we are happy to respond to product ideas in the Ideas space and questions/requests posted on the Esri Community.
Also be sure to check out the "What's new" section of our documentation with each release, this was updated with our latest release last Wednesday 11/9/22:
https://doc.arcgis.com/en/iot/reference/whats-new.htm
Regarding your question on output to ArcGIS Server feature layers, there is not a mechanism to set a Track ID field therefore the keep latest workflows are limited at the 3.3 release. We are working to enhance this for our 4.1 release to relax our validation restrictions to allow this despite no track ID defined in the ArcGIS Server service schema. Additionally, ArcGIS Server versions 10.3+ should succeed with the Feature layer (existing) output to ArcGIS Server as ArcGIS Velocity is simply sending applyEdits calls over the REST API.
@BrynR Thanks for reaching out to the Velocity community with your question!
At the current Velocity version (3.3), the output schema referenced by the Feature layer (existing) output must be identical to the schema going to the output in the Velocity analytic. This includes identified key fields such as "TRACK_ID / START_TIME / END_TIME". However, as you have encountered ArcGIS Online and ArcGIS Server services created by a client other than ArcGIS Velocity do not set a "TRACK_ID" field in the Time Info object.
Short term resolutions:
Option 1: Use ArcGIS Velocity to create the ArcGIS Online hosted feature layer, and the key fields will be maintained and generated on the ArcGIS Online layer. This can be achieved with the Feature Layer (new) output type from real-time or big data analytics
Option 2: If you are not using the "keep latest features" output setting for the feature layer, simply add a Map Fields tool before the Feature layer (existing) output and remove the identified key fields.
Long term resolutions:
We are investigating enhancing ArcGIS Velocity to relax schema match requirements for "TRACK_ID / START_TIME / END_TIME" provided the output schema is otherwise identical, which will support add new or keep latest feature output configurations despite ArcGIS Online and ArcGIS Server not leveraging the Track ID field identification the same way as Velocity. We are targeting this for the 4.1 release.
Is there a way to "keep latest features" and use an existing feature layer from my ArcGIS Online organization? How does one add a tag to a field?
Hi @Teresa_Blader currently at this point in time there is not a way to use the "keep latest features" and use an existing ArcGIS Online feature layer. You could either choose "Add all features" or recreate a new output feature layer with the Track ID in the schema and then use "Keep latest features".
Thanks @PeterNasuti!
I had hoped just naming a field TRACK_ID might work - but it didn't. Schucks.
Do you think there's any other way to push features from a "keep latest features" ArcGIS Velocity layer to an existing database using any of the real-time tools? It seems like all the join tools etc say the sources have to be static.
Ultimately I'm trying to ingest emergency response incidents for a specific call type, and alert officers to use Survey123 to fill out additional fields about the incident - related to a separate public health referral program.
So I was thinking originally the S123 form would pre-populate 3 or 4 fields from the feed, based on the globalID. That works pretty slick for data in the same database - not so slick if not in the same database.
Hi @Teresa_Blader as of right now, the Velocity "Feature layer (Existing)" has to have a Track ID field tagged on the schema for Velocity to write to it with a keep latest option. I have written an enhancement on the product side for us to relax this requirement in a future release and instead just display a warning to the user, rather than a blocking error.
The "add all features" option however would work without the Track ID defined.
Gotcha - I think being able to track, keep the latest option, and push to an existing database is of the most interest to me, so allowing add all features without a tag wouldn't quite hit the mark for my purposes. It sounds like I'm thinking of almost a general ArcGIS feature layer enhancement request then - allowing field tags in the schema.
I'll just continue to use the new ArcGIS Velocity layer to track those and see what I can come up with down the line to connect it to my existing database.
Thanks @PeterNasuti - option 1 did the trick! This was achieved by turning off the option for "Store data in spatiotemporal feature layer"
It's good the output requirements will be enhanced in a future release. Is there a roadmap for Velocity available somewhere?
What if I want to output from Velocity to ArcGIS Server?
ArcGIS Server feature layers must be referenced in an ArcGIS Online portal item ID. To do this, go to your ArcGIS Online content page, and add an item referencing the layer by URL. If applicable, store credentials with this ArcGIS Online item. Then, ArcGIS Velocity feature layer existing output can be specified to point to this ArcGIS Online portal item ID that points to the ArcGIS Server feature layer URL.
What's the workflow to setup the ArcGIS Server feature layer to begin with (ie. including the tags)? And what versions of ArcGIS Server are supported?
Thank you
Glad to hear you had success with option 1! Currently we do not have a roadmap for Velocity published but we are happy to respond to product ideas in the Ideas space and questions/requests posted on the Esri Community.
Also be sure to check out the "What's new" section of our documentation with each release, this was updated with our latest release last Wednesday 11/9/22:
https://doc.arcgis.com/en/iot/reference/whats-new.htm
Regarding your question on output to ArcGIS Server feature layers, there is not a mechanism to set a Track ID field therefore the keep latest workflows are limited at the 3.3 release. We are working to enhance this for our 4.1 release to relax our validation restrictions to allow this despite no track ID defined in the ArcGIS Server service schema. Additionally, ArcGIS Server versions 10.3+ should succeed with the Feature layer (existing) output to ArcGIS Server as ArcGIS Velocity is simply sending applyEdits calls over the REST API.