The missing dimension in geospatial data formats

Geospatial data forms the core at various data structures in the HyperTrack stack. Historically geospatial data structures and primitives have been built to service applications that use current location in a point-in-time manner. Geospatial data structures need to be re-imagined as applications of the future start using continuous location tracking. The timestamps of locations become a critical dimension.

Google’s encoded polyline is one of the popular formats for a series of location coordinates. The polyline compresses lengthy location coordinates into a neat text string that can be passed around easily. While it is a useful format to visualize static paths or location dumps it is inadequate for sophisticated real-time tracking use cases where data formats need to answer questions in both space (where) and time (when).

The time dimension of the location data gets obfuscated by the time of beaming the data up especially in scenarios with flaky connectivity and offline tracking. Critical information that answers the when question gets lost. By capturing the time in the data structure the polyline can be visualized with smarter annotations and cool animations of the trace. Imagine replaying an entire trip for auditing with a mere string of characters!

Xa95ZckcqB

We extended the original algorithm to capture the time in the polyline format. Let’s look at an example with three point coordinates and their timestamps.

The time aware polyline is used by HyperTrack’s dashboard to display interactive annotations and by HyperTrack’s end customer experience to provide granular real-time status for events such as stuck in traffic lost GPS connectivity or lost network connectivity. Besides helping our business logic audit and recover from exceptions when the device SDK and cloud API get out of sync the time aware polyline powers the trip replay feature with which our users can audit on-time performance utilization and alerts. If you haven’t already take a look at these visualizations on the demo dashboard.

We are open sourcing the time aware polyline libraries in Python and Javascript so that you can use them in your projects with a simple pip (or npm) install. With these libraries you will be able to encode geospatial data into the time aware polyline format and decode it back. Tell us what you build with time aware polylines!

Get started with location tracking on HyperTrack and integrate time aware polylines in your apps by signing up here (where) now (when).