我有一个 geopandas 数据框,其中有几行具有重叠的多边形几何形状以及索引(唯一且连续)。我想将重叠的多边形几何图形合并为一个多多边形,并保留各个重叠多边形的相应最小索引。
例如: 地理数据框如下:
假设索引为 10233、10235、10238 的多边形几何图形重叠。我想要一个单行,将这些几何图形合并在一个多多边形中(而不是 3 个单独的几何图形),并且相应的索引应该是 3 行的最小索引,即 10233。我想对整个地理数据框执行此操作
我尝试使用 geopandas 的溶解函数:
gdf = gdf.dissolve(by = 'index').reset_index()
这不会执行任何操作,因为“index”是唯一的。我也尝试过:
gdf = gdf.dissolve().reset_index()
但是,这将所有几何图形组合成单行多多边形
最佳答案
我认为这就是您的想法:
import geopandas as gpd
# load your geodataframe ..
# self join on geodataframe to get all polygon intersections
intersects = gdf.sjoin(gdf, how="left", predicate="intersects")
# dissolve intersections on right index indices using the minimum value
intersects_diss = intersects.dissolve("id_right",aggfunc="min")
# dissolve again on left index using minimum
intersects_diss = intersects_diss.reset_index().dissolve("id_left",aggfunc="min")
关于python - 对 geopandas 中相交/重叠的几何图形进行分组和组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73566774/