Hi, we have been experimenting with a API for real-time positioning of trains called Oxyfi (Oxyfi-Realtidspositionering | Trafiklab). We have it working in our ArcGIS Enterprise 10.9.1 but there is one issue. All train positions fed to the stream service output from the GeoEvent service are interpreted as current observations. It is like every updated position would be a new unique train.
A stream service can be visualized to show previous observations as well as the current. Our service does show previous observations but visualize these as current observations. Somehow, it feels like it cannot identify which observations that origin from the same train.
Below is an example of how it should work using demodata from Esri (https://realtimegis2016.esri.com:6443/arcgis/rest/services/SandyVehicles/StreamServer) and tested in our Enterprise instance. The map shows the current and five previous observations connected by a line.
With our stream service, these settings does not have any effect. The map shows multiple observations but they are all symbolized as current observations.
The field that identifies unique trains is a string and have values like "9025.trains.se". In GeoEvent Manager we have tagged this field with the TRACK_ID tag.
Does anyone know what could be causing this behavior and what we could try to solve it?
Solved! Go to Solution.
We solved this by adding a new attribute field of type Date and tagging this as TIME_START.
We solved this by adding a new attribute field of type Date and tagging this as TIME_START.
I have had some similar issues and I have found that strings can be really bad to use as your track identifier. Unless you have that field indexed, it will not properly do any join type operation, like identifying and overwriting the previous position for a vehicle, or using the data enrichment from a file or feature class to add additional fields to the output. If you do add the index on everything that uses that string to join, then it seems to work ok.