Hi Experts,
I'm attempting to ingest GPS data into ArcGIS Velocity using the HTTP Poller.
The GPS API endpoint supports retrieving historical data by specifying a timestamp in the URL:
https://gpsfeed/api/v1/locations/{logDateUTC}
For example, sending a request to:
https://gpsfeed/api/v1/locations/2018-12-01T08:00:00Z
returns the vehicle locations recorded at that specific time.
I tried using a dynamic URL by passing the timestamp as a URL parameter, but since Velocity's HTTP Poller only supports key-value pairs, the request was sent as:
https://gpsfeed/api/v1/locations/?=2018-12-01T08:00:00Z
which is invalid.
Is there a way to configure the HTTP Poller to send a dynamic URL path (not just parameters) so that I can query historical data by timestamp?
My ultimate goal is to ingest GPS data from the past 2 years.
Any input would be greatly appreciated!
Hi @wchou_esrica I just did some testing on this -
While not documented, Velocity HTTP Poller feed type does replace timestamp values in the URL when using the feed global variables. However, for the URL feed global variables, the date formatting string is not honored and all dates will be sent as an epoch millisecond. I'll check with a developer to see if this is something we can enhance for. In the meantime, does your API support epoch MS time reference in the URL?
Related documentation, see section under feed global variables: https://doc.arcgis.com/en/velocity/ingest/website-poll-feed.htm
Hi @PeterNasuti ,
Thanks for the reply.
Unfortunately, the API only supports "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format .
I did try setting the global variable, but the main issue is that the API's parameter is not key-value pair, so I have to put " " in key field. After url encoding, the request becomes " /api/v1/locations/?%20=2025-07-05T16%3A27%3A14Z and ?%20= is not acceptable.
Is there a way to add parameters without using key-value format?
Thank you,
@wchou_esrica Yes - try this such as
https://yourSite.com/yourURL/$feed.FeedScheduledStartTime OR https://yourSite.com/yourURL/$feed.FeedLastScheduledStartTime
And also specify the Global variables date formatting string:
I am seeing success with this in testing where the value ends up being substituted for the request.
Hi @PeterNasuti ,
What I attempt to do is retrieving all the historical data of a period of time.
The API only returns the location history recorded in the next hour from the provided log date.
For example,
https://gpsfeed/api/v1/locations/2024-12-01T08:00:00Z
returns the locations from 2024-12-01 08:00-09:00.
To retrieve data between 2024-12-01 to 2024-12-30, I would like to dynamically change the url by using URL parameters.
Send a request to
https://gpsfeed/api/v1/locations/2024-12-01T08:00:00Z
After 15 secs,Send a request to
https://gpsfeed/api/v1/locations/2024-12-01T09:00:00Z
and so on.
$feed.FeedLastScheduledStartTime seems doesn't work in my case...