Best way to store GPS tracking data?

New Contributor

We're looking in to adding GPS tracking data to our mobile app in order to track the location of independent contractor drivers. There may be as many as 500 drivers tracked in any given day, and the data may need to be retained for up to 5 years. The preview feature for azure maps data service looks promising, but it looks more geared towards map layers and geofence configurations due to it's volume limitations. Azure IoT also looks like a promising platform for storing the volume of data involved, but it seems that it will be difficult to register and deregister devices on a daily basis as the independent contractors come and go.  Curious if anyone has used these services for a similar use case, or if there may be other storage options available. 

4 Replies
Are you looking at only storing data or being able to analyze the data too? if yes, what type of analytics?

@Seshagiri-AzureMaps we need to both store and perform some informal analytics - mostly UI display.  At present, we have architected the solution to transmit data points to an Azure IoT Hub instance.  When the message arrives, we use an Azure function to process the incoming JSON, and perform any required alerting or special handling of the data. The function then converts the JSON location point to a csv format where it it written to append blob storage with a file for each device for each day. the idea being that the csv is smaller, thus less costly, to store in the blob.  Post processing, the data will be occasionally  displayed as a route map for an end user, but may also be analyzed at a later date to determine geofence entry and exit times.

@Woody0 thank you for the reply. Can you confirm what is the interval at which the GPS location is collected from your feet (e.g., every 30 seconds etc). The current Spatial services were specifically designed for geofence scenarios and not for storage, we will evaluate if we can build something targeting storage.

@Seshagiri-AzureMaps Thank you for your follow-up. I recall choosing not to store the data within Azure Maps as the capacity of an Azure Maps tenant wasn't capable of containing the volume of data we would need to store long term at a cost effective basis. We are still testing the number of points we would be collecting - the plugin we are using only records when in motion, and starts with every 10 meters of change in distance. As speed increases it uses an elastic concept to collect fewer points at higher speeds. The number of sample points will be highly variable based on distance and speed. The best estimate I have now is approximately 10 points per minute per vehicle for a sample route.