There are a number of geospatial indexing systems which caters to spatial data types, query requirements, and use cases, with the choice often depending largely on the needs of your geospatial application and type of data. H3 is the relatively newer kid on the geospatial block, promising accuracy and scalability. Let’s delve in to understand its defining characteristics, how it works, and its practical applications.

What is H3?

H3 is a geospatial indexing system developed by Uber Technologies. It partitions the Earth’s surface into a hierarchical grid primarily composed of hexagons, with a small number of pentagons required to accommodate the geometry of mapping a sphere. Each cell is assigned a unique H3 index, enabling geographic data to be represented and analysed in a consistent and scalable way.

In simpler terms, H3 is a way of breaking down the world into pieces, similar to how a jigsaw puzzle has pieces that fit together. These pieces are mostly shaped like hexagons, like the honeycomb in a beehive.

These cells come in different sizes, allowing larger cells to represent broad areas like countries, and smaller cells to represent more granular areas such as neighbourhoods.

Each cell is assigned a unique identifier that helps systems understand where a location falls on the Earth’s surface. Rather than specifying an exact latitude and longitude, an H3 index represents an area containing that location, enabling consistent spatial analysis across datasets.

Key Characteristics of H3

  1. Hierarchical Grid
    H3 uses a hierarchical structure built on an icosahedron, where the Earth’s surface is progressively subdivided into higher-resolution grids. At each level, cells are refined into smaller hexagon-based regions, enabling scalable representation of locations at different levels of detail. Due to the geometry of mapping a sphere, the grid cannot be composed entirely of hexagons, each resolution includes exactly 12 pentagons positioned at the vertices of the icosahedron.
  2. Uniform Precision
    H3 provides near-uniform spatial indexing, where cells at the same resolution have similar, though not identical, areas and spacing. Due to the spherical geometry of the Earth and the underlying icosahedral projection, cell areas can vary depending on their position, particularly near pentagons and icosahedron vertices.
  3. Spatial Relationships
    H3 provides improved spatial relationships than traditional rectangular grids like latitude and longitude or Geohash. Hexagonal cells have more consistent neighbour relationships, reducing directional bias and enabling more uniform adjacency. However, distortion is not eliminated, as the grid is projected onto a spherical surface.
  4. Resolution Levels
    H3 supports multiple resolution levels (0–15), allowing users to choose the appropriate level of detail for their application. Higher resolutions provide finer spatial granularity but result in a significantly larger number of cells to manage.
  5. Efficient Spatial Queries
    H3 enables efficient approximation of spatial queries, such as point-in-polygon analysis, nearest-neighbour searches, and spatial aggregation, particularly at scale. These operations are performed using indexed cells rather than exact geometric calculations.
  6. Open Source
    H3 is open-source and available to the public, making it accessible for developers and researchers to use, extend and contribute to its development.
  7. Geospatial Libraries
    H3 is supported across a wide range of geospatial tools and programming environments, including Python, JavaScript, SQL engines, and data platforms, making it easier to integrate into modern data workflows.

How Does H3 Work?

Here’s a technical explanation of how H3 works:

  1. Hexagonal Grid
    H3 starts by projecting the Earth onto an icosahedron and subdividing its surface into a grid of cells that are primarily hexagonal, with 12 pentagons required to account for spherical geometry. These cells form the fundamental building blocks of the system.
  2. Hierarchical Levels
    H3 employs a hierarchical approach with multiple resolution levels. At each level, cells are subdivided into finer-resolution regions, enabling progressively more detailed spatial indexing. H3 supports 16 resolution levels (0–15), ranging from coarse global coverage to highly granular local detail. The grid is constructed from 122 base cells derived from an icosahedral projection of the Earth, which form the foundation for all higher-resolution cells.
  3. Unique Hexagon IDs
    Each cell in the grid is assigned a unique identifier known as an H3 index. These indices represent specific geographic regions rather than exact points. An H3 index encodes multiple pieces of information, including the resolution and the position of the cell within the hierarchical grid, allowing efficient spatial indexing and analysis.

What does H3 look like?

This geospatial indexing system partitions the globe into hexagons for accurate analysis, as indicated in this image.

Geohash vs H3 Comparison

Source: Uber

Real Estate Applications of H3

Originally developed by Uber to support large-scale spatial analysis for applications such as ride-sharing and logistics, H3 enables efficient aggregation and analysis of location-based data. It has been widely used to optimise driver-passenger matching, identify optimal pickup and drop-off locations, and support routing and demand modelling.

Due to its ability to represent geographic data as discrete, standardised cells, H3 is also highly applicable to real estate and property analytics. It enables use cases such as spatial clustering of property data, price heatmapping, catchment analysis, and proximity-based insights, for example, access to transport, schools, or amenities.

While H3 and Geohash serve similar purposes as geospatial indexing systems, they differ in structure and behaviour. H3’s hexagonal grid provides more consistent neighbour relationships and reduces directional bias compared to rectangular grids, making it well-suited for spatial analysis at scale. However, the choice between H3 and alternatives such as Geohash ultimately depends on the specific requirements of the use case.

How Does H3 Compare?

H3 is one of several geospatial indexing systems designed to support different spatial data types, query patterns, and analytical use cases. The choice between H3 and alternative systems, such as Geohash or S2, depends on factors including the required level of spatial precision, indexing structure, and how neighbouring relationships are handled.

If you’re evaluating which system to adopt, it’s important to compare how H3 and Geohash differ in terms of grid structure, hierarchy, and query behaviour. Read how H3 and Geohash compare if you’re considering which system to adopt.

Snowflake’s H3 Functionality

Snowflake provides SQL functions that enable you to use H3 with GEOGRAPHY objects.

Intel In Your Inbox

Sign up to our newsletter and receive our latest knowledge articles, practical guides and datasets.