python - 如何将接触的多边形与 geopandas 合并

标签 python polygon geopandas

我需要将 shapefile 中的所有接触多边形与 geopandas 合并。那么有没有解决办法。例如,下图必须是一个多边形,而不是多个多边形。

谢谢

polygons to merge

最佳答案

这取决于您希望如何处理附加到这些多边形的数据。如果您不关心它们并且只对几何图形感兴趣,一种选择是解散整个 GeoDataFrame,然后将其分解。

combined_polygons = gdf.dissolve().explode()

但是,这可能不是最有效的解决方案。最好的方法是确定邻接组件并根据这些组件进行分解。您可以使用 libpysal 轻松做到这一点。

import libpysal

# create spatial weights matrix
W = libpysal.weights.Queen.from_dataframe(gdf)

# get component labels
components = W.component_labels

combined_polygons = gdf.dissolve(by=components)

后者将允许您在 dissolve 中指定 aggfunc 以管理其他属性。

关于python - 如何将接触的多边形与 geopandas 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67280722/

相关文章:

javascript - 设置多边形在谷歌地图中的显示顺序

algorithm - 如何用一条线分割一个多边形?

javascript - 在javascript中将svg路径转换为多边形

python - geopandas:如何 "normalize"geoseries

anaconda - 如何将 geopandas 更新到最新版本?

python - ctypes中的编译器依赖

python reduce问题对象没有属性

python - "sudo pip install Django"=> 须藤 : pip: command not found

python - 在 Windows 上安装 geopandas 的问题

python - 识别 Pandas 中的非连续行