一个快速的地理空间点聚类模块。
项目描述
一个快速的Python 3地理空间点聚类模块。
这是一个从https://github.com/mapbox/supercluster到C++的移植,方便地封装在一个Python模块中。初始基准测试表明,它比原始JavaScript实现快一个数量级(10倍)。
安装PySuperCluster
安装PySuperCluster最简单的方法是使用pip
pip install PySuperCluster
使用PySuperCluster
>>> import numpy
>>> import pysupercluster
>>> points = numpy.array([
... (2.3522, 48.8566), # paris
... (-0.1278, 51.5074), # london
... (-0.0077, 51.4826), # greenwhich
... ])
>>> index = pysupercluster.SuperCluster(
... points,
... min_zoom=0,
... max_zoom=16,
... radius=40,
... extent=512)
>>> clusters = index.getClusters(
... top_left=(-180, 90),
... bottom_right=(180, -90),
... zoom=4)
[
{'id': 0, 'count': 1, 'expansion_zoom': None, 'latitude': 48.8566, 'longitude': 2.3522},
{'id': 3, 'count': 2, 'expansion_zoom': 8, 'latitude': 51.49500168658321, 'longitude': -0.06774999999998421}
]