Go bindings for the H3 hierarchical hexagonal geospatial indexing system, enabling spatial analysis in Go applications.
H3-Go is a Go language binding library for the H3 Core Library, a hierarchical hexagonal geospatial indexing system. It enables Go developers to convert geographic coordinates into hexagonal cells, perform spatial queries, and analyze geographic hierarchies efficiently within their applications.
Go developers working with geospatial data, mapping applications, location-based services, or spatial analysis who need efficient hexagonal grid operations.
Developers choose H3-Go because it provides idiomatic Go bindings to Uber's proven H3 system, offering consistent spatial indexing across platforms with full access to H3's advanced geospatial algorithms through a clean Go API.
Go bindings for H3, a hierarchical hexagonal geospatial indexing system
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adheres to Go conventions by dropping 'get' prefixes and adding method receivers like Cell#GridDisk, making it natural for Go developers as shown in the bindings table.
Binds all H3 C functions including spatial operations, hierarchy traversal, and polygon support, ensuring full access to H3's capabilities as listed in the README.
Includes H3 C source code for portability across platforms with CGO support, eliminating external dependencies, as mentioned in the CGO section.
Enables hexagonal grid operations like grid disk calculations and compact storage, optimized for geospatial analysis in location-based services.
Requires CGO_ENABLED=1, complicating cross-compilation and build processes, as warned in the prerequisites section with potential errors like excluded Go files.
The CGO layer introduces additional latency and memory overhead compared to pure Go libraries, which can impact high-throughput applications.
Tied exclusively to Uber's H3 hexagonal indexing, limiting flexibility if projects need alternative geospatial systems like quadkeys or S2 cells.