用于h3的python绑定,一个由uber技术开发的分层六边形地理空间索引系统

h3的Python项目详细描述


H3Python

Build StatusBuild Status AppveyorH3 VersionLicense

这个库为H3 Core Library提供python绑定。有关API参考,请参见 这是H3 Documentation

安装

安装此程序时,需要在$PATH中包含ccmakecmake。 套餐:

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

开发

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

用法

下面的可视化是通过 folium

fromh3importh3

将lat/lng转换为hexagon地址

h3_address=h3.geo_to_h3(37.3615593,-122.0553238,5)# lat, lng, hex resolutionhex_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

得到六边形的krings

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

用六边形填充geo json

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

有关更多api引用,请参见H3 Documentation

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在OSGi felix scr注释中将运行时参数传递给服务   java如何按字母顺序将对象插入ArrayList?   在Netbeans中调试Java   java从json文件中获取不同的照片   通过迭代和打印将java插入2个哈希表的运行时间   java如何替换JUnit 5中的WireMock@Rule注释?   shell在javajsch程序中使用'been'命令访问受限目录   java RMI是什么类型的?   javajooq别名构造   java如何通过在testNG中创建对象来调用测试方法   java下载从安卓 URL加载到imageview中的图像   从java运行bat文件   带有客户端证书的java嵌入式Jetty   java Ajax将JSON数组发送到servlet   创建数据并将数据添加到SQLite数据库时发生java错误   添加CV的javascript HRMS项目过程   java AspectJ加载时编织不起作用   java动态更改(使用JMX)正在监视的文件夹中的新文件   java岛数迭代矩阵并将节点标记为已访问