Search Shortcut cmd + k | ctrl + k

- Overview
- Documentation
- Development
- Download Metrics
- FAQ
- Core Extensions
- List of Community Extensions

- duckpgq
- evalexpr_rhai
- pivot_table
- psql
- sheetreader

h3
Downloads 7236this week

Hierarchical hexagonal indexing for geospatial data

Extension repository on GitHub
Extension descriptor (YAML)

### Installing and Loading

    INSTALL h3 FROM community;
    LOAD h3;

### Example

    SELECT h3_latlng_to_cell(37.7887987, -122.3931578, 9);

### About h3

The H3 extension adds support for the H3 hierarchical hexagonal grid system.

### Added Functions

function_name | function_type | description | comment | example
--- | --- | --- | --- | ---
h3_latlng_to_cell | scalar | Convert latitude/longitude coordinate to cell ID |  |
h3_latlng_to_cell_string | scalar | Convert latitude/longitude coordinate to cell ID (returns VARCHAR) |  |
h3_cell_to_lat | scalar | Convert cell ID to latitude |  |
h3_cell_to_lng | scalar | Convert cell ID to longitude |  |
h3_cell_to_latlng | scalar | Convert cell ID to latitude/longitude |  |
h3_cell_to_boundary_wkt | scalar | Convert cell ID to cell boundary |  |
h3_get_resolution | scalar | Get resolution number of cell ID |  |
h3_get_base_cell_number | scalar | Get base cell number of cell ID |  |
h3_string_to_h3 | scalar | Convert VARCHAR cell ID to UBIGINT |  |
h3_h3_to_string | scalar | Convert BIGINT or UBIGINT cell ID to VARCHAR |  |
h3_is_valid_cell | scalar | True if this is a valid cell ID |  |
h3_is_res_class_iii | scalar | True if the cell's resolution is class III |  |
h3_is_pentagon | scalar | True if the cell is a pentagon |  |
h3_get_icosahedron_faces | scalar | List of icosahedron face IDs the cell is on |  |
h3_cell_to_parent | scalar | Get coarser cell for a cell |  |
h3_cell_to_children | scalar | Get finer cells for a cell |  |
h3_cell_to_center_child | scalar | Get the center finer cell for a cell |  |
h3_cell_to_child_pos | scalar | Get a sub-indexing number for a cell inside a parent |  |
h3_child_pos_to_cell | scalar | Convert parent and sub-indexing number to a cell ID |  |
h3_compact_cells | scalar | Convert a set of single-resolution cells to the minimal mixed-resolution set |  |
h3_uncompact_cells | scalar | Convert a mixed-resolution set to a single-resolution set of cells |  |
h3_grid_disk | scalar | Find cells within a grid distance |  |
h3_grid_disk_distances | scalar | Find cells within a grid distance, sorted by distance |  |
h3_grid_disk_unsafe | scalar | Find cells within a grid distance, with no pentagon distortion |  |
h3_grid_disk_distances_unsafe | scalar | Find cells within a grid distance, sorted by distance, with no pentagon distortion |  |
h3_grid_disk_distances_safe | scalar | Find cells within a grid distance, sorted by distance |  |
h3_grid_ring_unsafe | scalar | Find cells exactly a grid distance away, with no pentagon distortion |  |
h3_grid_path_cells | scalar | Find a grid path to connect two cells |  |
h3_grid_distance | scalar | Find the grid distance between two cells |  |
h3_cell_to_local_ij | scalar | Convert a cell ID to a local I,J coordinate space |  |
h3_local_ij_to_cell | scalar | Convert a local I,J coordinate to a cell ID |  |
h3_cell_to_vertex | scalar | Get the vertex ID for a cell ID and vertex number |  |
h3_cell_to_vertexes | scalar | Get all vertex IDs for a cell ID |  |
h3_vertex_to_lat | scalar | Convert a vertex ID to latitude |  |
h3_vertex_to_lng | scalar | Convert a vertex ID to longitude |  |
h3_vertex_to_latlng | scalar | Convert a vertex ID to latitude/longitude coordinate |  |
h3_is_valid_directed_edge | scalar | True if passed a valid directed edge ID |  |
h3_origin_to_directed_edges | scalar | Get all directed edge IDs for a cell ID |  |
h3_directed_edge_to_cells | scalar | Convert a directed edge ID to origin/destination cell IDs |  |
h3_get_directed_edge_origin | scalar | Convert a directed edge ID to origin cell ID |  |
h3_get_directed_edge_destination | scalar | Convert a directed edge ID to destination cell ID |  |
h3_cells_to_directed_edge | scalar | Convert an origin/destination pair to directed edge ID |  |
h3_are_neighbor_cells | scalar | True if the two cell IDs are directly adjacent |  |
h3_directed_edge_to_boundary_wkt | scalar | Convert directed edge ID to linestring WKT |  |
h3_get_hexagon_area_avg | scalar | Get average area of a hexagon cell at resolution |  |
h3_cell_area | scalar | Get the area of a cell ID |  |
h3_get_hexagon_edge_length_avg | scalar | Average hexagon edge length at resolution |  |
h3_edge_length | scalar | Get the length of a directed edge ID |  |
h3_get_num_cells | scalar | Get the number of cells at a resolution |  |
h3_get_res0_cells | scalar | Get all resolution 0 cells |  |
h3_get_res0_cells_string | scalar | Get all resolution 0 cells (returns VARCHAR) |  |
h3_get_pentagons | scalar | Get all pentagons at a resolution |  |
h3_get_pentagons_string | scalar | Get all pentagons at a resolution (returns VARCHAR) |  |
h3_great_circle_distance | scalar | Compute the great circle distance between two points (haversine) |  |
h3_cells_to_multi_polygon_wkt | scalar | Convert a set of cells to multipolygon WKT |  |
h3_polygon_wkt_to_cells | scalar | Convert polygon WKT to a set of cells |  |
h3_polygon_wkt_to_cells_string | scalar | Convert polygon WKT to a set of cells (returns VARCHAR) |  |
h3_polygon_wkt_to_cells_experimental | scalar | Convert polygon WKT to a set of cells | new algorithm |
h3_polygon_wkt_to_cells_experimental_string | scalar | Convert polygon WKT to a set of cells | new algorithm (returns VARCHAR) |
h3_is_valid_vertex | scalar | True if passed a valid vertex ID |  |