gpt4 book ai didi

Python:如何将 Voronoi 单元扩展到几何的边界?

转载 作者:行者123 更新时间:2023-12-04 14:59:37 27 4
gpt4 key购买 nike

我有两个 geopandas 数据框 dfMdcentersdfMd 由多边形组成,而 centers 由点组成。 Here文件的链接。

f,ax=plt.subplots()
dfMd.plot(ax=ax, column='volume')
centers.plot(ax=ax, color='red')

enter image description here

我想生成扩展到整个几何体的点的 Voronoi 流苏。这就是我正在做的:

from shapely.geometry import mapping
g = [i for i in centers.geometry]
coords = []
for i in range(0, len(g)):
coords.append(mapping(g[i])["coordinates"]) # for first feature/row

from libpysal.cg.voronoi import voronoi, voronoi_frames

regions, vertices = voronoi(coords)
region_df, point_df = voronoi_frames(coords)


fig, ax = plt.subplots()
region_df.plot(ax=ax, color='white',edgecolor='black', lw=3)
dfMd.plot(ax=ax, column='volume',alpha=0.1)
point_df.plot(ax=ax, color='red')

fig, ax = plt.subplots()
region_df.plot(ax=ax, color='white',edgecolor='black', lw=3)
dfMd.plot(ax=ax, column='volume',alpha=0.1)
point_df.plot(ax=ax, color='red')

enter image description here

如何将 Voronoi 区域扩展到我的 dfMd 的外部边界?

最佳答案

您需要在 voronoi_frames() 中添加一个选项 clip=box()。相关代码如下。

from shapely.geometry import box

region_df, point_df = voronoi_frames(coords, clip=box(-4.2, 40.15, -3.0, 40.85))

voronoi

关于Python:如何将 Voronoi 单元扩展到几何的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67236419/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com