python - 对 geopandas 中相交/重叠的几何图形进行分组和组合

标签 python python-3.x gis geopandas shapely

我有一个 geopandas 数据框,其中有几行具有重叠的多边形几何形状以及索引(唯一且连续)。我想将重叠的多边形几何图形合并为一个多多边形,并保留各个重叠多边形的相应最小索引。

例如: 地理数据框如下:

original geodataframe

假设索引为 10233、10235、10238 的多边形几何图形重叠。我想要一个单行,将这些几何图形合并在一个多多边形中(而不是 3 个单独的几何图形),并且相应的索引应该是 3 行的最小索引,即 10233。我想对整个地理数据框执行此操作

我尝试使用 geopandas 的溶解函数:

gdf = gdf.dissolve(by = 'index').reset_index()

这不会执行任何操作,因为“index”是唯一的。我也尝试过:

gdf = gdf.dissolve().reset_index()

但是,这将所有几何图形组合成单行多多边形

最佳答案

我认为这就是您的想法:

Input geometries

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")

Output

关于python - 对 geopandas 中相交/重叠的几何图形进行分组和组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73566774/

相关文章:

Python 字符串修剪

python - 使用 key 对身份验证的 Snowflake 的 SQLAlchemy engine.connect() 失败

python - 如果API没有返回数据,如何跳到Python中的另一个循环?

mysql - 实现地理空间/邻近搜索需要什么?

php - 谷歌地图使用 PHP 在 MySQL 中保存多边形和点

postgresql - 当 Postgres 已经有地理类型时需要 Postgis

python - 使用中间件将 Django 应用排除在本地化之外

python - 如何使logging.logger表现得像打印

python - 在 python/django 中将变量从一种方法传递到另一种方法

python - 使用 Django Rest Framework 在 Heroku 中使用 TemplateDoesNotExist