Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python bindings for H3, a hierarchical hexagonal geospatial indexing system developed by Uber Technologies

Project description

H3-Python

Build Status Build Status Appveyor H3 Version License

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

Installing

You need to have cc, make, and cmake in your $PATH when installing this package:

which cc
/usr/bin/cc
which make
/usr/bin/make
which cmake
/usr/bin/cmake
pip install h3

Development

git clone https://github.com/uber/h3-py.git && cd h3-py
virtualenv env
source env/bin/activate
pip install -r requirements-dev.txt
fab bootstrap

Usage

The following visualizations are achieved with folium.

from h3 import h3

Convert lat/lng to hexagon address

h3_address = h3.geo_to_h3(37.3615593, -122.0553238, 5) # lat, lng, hex resolution
hex_center_coordinates = h3.h3_to_geo(h3_address) # array of [lat, lng]
hex_boundary = h3.h3_to_geo_boundary(h3_address) # array of arrays of [lat, lng]
docs/source/Hexagon.png

Get KRings of hexagon

h3.k_ring_distances(h3_address, 4) # array of 4 rings with size [1, 6, 12, 18]
h3.k_ring(h3_address, 4) # a collection of hexagons within kring sizes from 0 to 3
docs/source/KRings.png

Polyfill a Geo Json with hexagons

geoJson = {'type': 'Polygon',
 'coordinates': [[[37.813318999983238, -122.4089866999972145],
 [ 37.7866302000007224, -122.3805436999997056 ],
 [37.7198061999978478, -122.3544736999993603],
 [ 37.7076131999975672, -122.5123436999983966 ],
 [37.7835871999971715, -122.5247187000021967],
 [37.8151571999998453, -122.4798767000009008]]] }
hexagons = list(h3.polyfill(geoJson, 8)) # resolution 8
docs/source/Polyfill.png

For more API reference, please see the H3 Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for h3, version 3.4.3
Filename, size File type Python version Upload date Hashes
Filename, size h3-3.4.3.tar.gz (10.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page