Suggestions for creating a live-updating map using location data stored in ODK Aggregate


I've got a working ODK deployment (using ODK Aggregate, not ODK Central), and want to make a very basic live-updating map of new form submissions - i.e. when a new form is uploaded, it's location is added to a map including all other submissions.

I've got the location data being collected and stored in ODK Aggregate, but am a bit unclear on what the best way of streaming that data from ODK Aggregate to a mapping software is.

My current hypothetical solution is to stream the data from Aggregate to a google sheets spreadsheet, which I would then publish as a .csv file on the web, and then pull that data using ArcGIS online. This seems rather clunky though, and I'm unclear on how often it would update, especially on the google end from sheets to a .csv.

Anyone dealt with this issue before? What solutions have you used in the past? Any suggestions are welcome, but if you have any suggestions involving free tools, that would be even better.


Hi @jgraham,
I am not a Google nor an arcgis user. But I have to deal with your needs...
Our aggregate server uses postgresql to store data. We added postgis extension to generate spatial views ans serve it to QGIS. We use to use trigger to actualize spatial data and map. But non we use a cron task (5min) to retrieve every new data on our map.
I think arcgis can manage postgis data si I think it could be an easy solution.
We also use Redash ( tool to generate dashboards directly from aggregate. Redash uses simple long/lat columns to map points. And we can set the update frequency.
Recently some use cases show how to generate kml geojson and wkt data within collect... Maybe another way.
I will soon document a use case on the forum about the use or odk and Redash.

1 Like

Ah, I should have known that doing it purely on the backend would be easier. We're running postgresql for our database as well, so will give this solution a shot.

Thanks for the help!

1 Like