Skip to main content
Engineering

H3: Uber’s Hexagonal Hierarchical Spatial Index

June 27, 2018 / Global
Featured image for H3: Uber’s Hexagonal Hierarchical Spatial Index
Figure 1. H3 enables users to partition the globe into hexagons for more accurate analysis.
ImageImageImage
Figure 2. The maps above depict the process of bucketing points with H3: cars in a city; cars in hexagons; and hexagons shaded by number of cars.
Figure 3. Zip code map of New York City (Manhattan).
Figure 4. Randomly generated hexagonal clusters cover the city of San Francisco.
Figure 5. We chose to use gnomonic projections centered on icosahedron faces (left) for H3’s map projection, projecting Earth as a spherical icosahedron (right).
Figure 6. Distances from a triangle to its neighbors (left), a square to its neighbors (center), and a hexagon to its neighbors (right).
Figure 7. H3 used to create a grid on a single icosahedron face.
Figure 8. H3 enables the user to subdivide areas into smaller and smaller hexagons.
Figure 9. The point (blue, left) and its containing hexagon, the centroid (lighter blue, middle) of its containing hexagon, and both the point and centroid of the containing hexagon (right) depict a possible difference between the two.
Figure 10. Hexagons neighboring an index, with distance of 0 (left; just the original index), 1 (middle; with neighbors of the original index), and 2 (right; with neighbors of neighbors).
Figure 11. Dense hexagons representing California stand in stark contrast to compact hexagons representing the state, requiring many fewer hexagons to represent the same area.
Figure 12. H3 can represent the movement from one cell to another, here represented by drawing an arrow from the origin to destination cell.
Isaac Brodsky

Isaac Brodsky

Isaac Brodsky is a software engineer on Uber’s Marketplace Intelligence team.

Posted by Isaac Brodsky

Category: