/h3-pg

PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system

Primary LanguageCApache License 2.0Apache-2.0

PostgreSQL bindings for H3

This library provides PostgreSQL bindings for the H3 Core Library. For API reference, please see the H3 Documentation.

Developed in collaboration with Scandinavian Highlands.

Prerequisites

  • PostgreSQL 9.6 or higher (including server headers). It might work with earlier versions, we have not tested earlier than 9.6.
  • C compiler (e.g., gcc)
  • GNU Make
  • Git & CMake (for libh3)

Quick Overview

If the prerequisites are met you can use the PGXN Client to download, build, and install, e.g.:

$ pgxn install h3
$ pgxn load h3
$ psql
=# SELECT h3_geo_to_h3(POINT('37.3615593,-122.0553238'), 5);
  h3_geo_to_h3   
-----------------
 85e35e73fffffff
(1 row)

Usage

Generally, all functions have been renamed from camelCase in H3 to snake_case in SQL with an added h3_ prefix (except when that would result in a double h3_ prefix). For example geoToH3 becomes h3_geo_to_h3 and h3ToChildren becomes h3_to_children.

See API reference for all provided functions.

For developers

See Development.

License

This project is released under the Apache 2.0 License.