如何获取GeoDataFrame的Voronoi区域?阿卡:如何将结果多边形与初始点联系起来



我想将Voronoi区域分配给起始点。我从优美的文档中获得了灵感:https://shapely.readthedocs.io/en/stable/manual.html#voronoi-图表。但正如我们从示例中看到的,第一个点是(0,0),但第一个多边形有顶点(2,1)(它描述了中心的多边形(。但是现在我失去了点和多边形之间的关系。

有没有更好的方法将多边形(即面积(与初始点联系起来?

我的完整代码:

# gdf = is a GeoDataFrame
minx, miny, maxx, maxy = gdf.total_bounds
bound = Polygon([(minx, miny),
(maxx, miny),
(maxx, maxy),
(minx, maxy)])
points = MultiPoint(gdf.geometry.to_list())
parcels = voronoi_diagram(points , envelope=bound)
areas = [p.area for p in parcels]
gdf['area'] = areas

这个关系是可以计算的(多边形中只包含一个点(,但我有很多数据(数百万点(,所以我正在寻找更好的解决方案。正如你所看到的,可能有不必要的转换,从地质标准到点和回来。

使用geovoronoi库,函数voronoi_regions_from_coords可以实现您想要的功能。

最新更新