Connecting Overture Places to H3 in the browswer.

A Tiny Tool for Geospatial Indexing

Joining geospatial data is still too hard.

Spatial index systems – which segment datapoints with location to distinct, tiled regions – are a great tool for quickly joining one location dataset with another. But outside of GIS nerds (my people), such join mechanisms are under-utilized. Mostly because getting your data to the point where it can be manipulated and mapped to tiles is still too complex.

Here’s a little tool to help out: CSV 2 H3.

CSV 2 H3 is a lightweight tool for enriching a CSV with H3 tile IDs, at a user specified resolution, with or without each row’s original coordinates.

Cluster with Aggregate Functions: You can also use this tool to aggregate your records. Click the “Aggregate” button to apply summarization functions to numeric columns (like sum, mean, median, or count), generating statistics for each tile at the resolution you desire.

A Tool for Masking Sensitive Data: All data manipulated by this tool doesn’t leave your machine. It is entirely private, making this tool perfect for rolling-up sensitive data (like movement data or household statistics) up to clustered H3 tile regions. Keep an eye on on the “Minimum points in a cell” figure at the bottom of the page to ensure you’re at a resolution level adequate to mask an individual record.

Remove Stray Records: Sometimes your input data might have an outlier record you don’t want in your final product. Click the red point you’d like to remove, then hit the “Remove Point” button.

I’ve always liked tile-based systems for privacy-safe data sharing. Roll up your precise data to a region, key the new data off the tile ID, and share it with the world. Anyone can compare their own precise data to your data, at the resolution you specify, with just a column join (no complex geospatial conflation needed).

Check out the code on Github.


Have thoughts? Send me a note