GeoSpock maps trillions of data points

Extending GL JS to create custom visualizations for BI

Mapbox
maps for developers

--

By: Angelina Calderon

Geospock is building a data indexing engine to ingest, store, and retrieve geospatial and temporal data at petabyte scale. Their goal is to unlock the vast amounts of real-time data that companies collect, providing analytics software that makes it faster to derive insights, and therefore, more cost-efficient to manage data lakes. They’ve customized our maps and business intelligence tools so users can index and explore trillions of points of data.

David Brown, VP of Customer Success told us about upgrading their mapping engine using GL JS, our web API:

We needed maps with very high-rendering performance to take advantage of what we call extreme data — trillions of points or more. We also needed the flexibility to build our own custom visualisations with the same high-performance characteristics. Mapbox GL JS was the only web-based mapping library that met those goals. — David Brown

Pedestrian-friendly supermarkets and banks in the Bay area

In mapping data at such a massive scale, can you describe the challenges you faced?

In illumin8, our interactive analytics product, we wanted a seamless navigation experience anywhere in the dataset, at any zoom level. We needed to load data in tiles, on-demand, using our back-end indexing to supply different detail levels and normalise the data being displayed on every frame so users can quickly explore the map.

This was a big challenge, particularly for a web app, because it requires sophisticated, and variable rendering, where we can control the detail at each zoom. It also needs to be fast enough to run interactively at a high frame rate, like in a modern 3D game engine. GL JS solved this problem for us, providing not just a high-performance map display, but in fact a highly extensible, GPU-accelerated rendering engine for web apps.

What were you able to build using GL JS?

We took the standard Mapbox point renderer and customised it to load GeoSpock data progressively on-demand. This gave us precise control of visual density frame-by-frame. Another example is our track rendering, where we visualise speed along the tracks by animating chevrons along them. Neither of these dynamic visualisations would be possible without the solid foundation GL JS offers.

illumin8 tracking flights out of ORD

So you customized our library to your use-case?

Yes, we integrated a customised version of the library into our web-based analytics product, illumin8. We are of course using the library and the Mapbox-hosted vector tiles to provide map rendering and navigation in our app. The real value to us is the first-class, GPU-accelerated rendering engine behind Mapbox GL. By extending the GL JS library with our own JavaScript and shader code, we’re able to build on the visualisations that are included (point, line, and polygon features) and render the sophisticated, dynamic, and real-time views of extreme-scale data that our customers need.

Ad spend by global market

How did the implementation go?

Since our primary use-case was building a JavaScript web app and integrating the GL JS library, our main interaction was with the library documentation, which is excellent. In particular, the large number of clearly-explained examples, with each example running live on the page, helped us get to grips with the features quickly.

Once we started customising GL JS, our attention shifted to the library code itself and extending it to add our custom visualisations and data handling. This turned out to be a delightful experience. GL JS is very well architected with carefully-designed internal interfaces, allowing us to add our extensions with minimal fuss, and in a nicely-encapsulated form. More broadly, we’ve benefitted from the strong commitment to helping developers as much as possible, things like open-sourcing useful utility libraries like Turf.js, maintaining active discussion forums, and hosting events where developers meet face-to-face. We’re looking forward to working together in the future.

Add our maps and data viz tools to your BI platform so your users can explore custom visualizations at a massive scale. Our cross-platform mapping libraries are open source — extend our code to your use-case. Have questions? Reach out to our team.

--

--

mapping tools for developers + precise location data to change the way we explore the world