You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Geopandas中对单个多边形图层执行Union操作?

实现Geopandas单图层Union操作

在Geopandas中没有直接对应QGIS单图层Union的内置函数,但可以通过两种方式实现相同效果,根据需求选择:

1. 保留原始属性(对应QGIS Union工具完整功能)

如果需要保留所有重叠区域对应的原始要素属性,可将图层与自身执行overlay操作:

import geopandas as gpd

# 假设你的图层GeoDataFrame名为zone
union_with_attributes = gpd.overlay(zone, zone, how='union')

# 可选:去除重复的几何与属性
union_with_attributes = union_with_attributes.drop_duplicates(subset='geometry').reset_index(drop=True)

2. 仅合并几何(高效消除重叠,不保留属性)

如果只需要无重叠的几何集合,无需原始属性,使用unary_union更高效:

import geopandas as gpd

# 合并所有几何为单个MultiPolygon对象
merged_geom = zone.geometry.unary_union

# 将MultiPolygon拆分为单个Polygon并转为GeoDataFrame
union_geometry_only = gpd.GeoDataFrame(
    {'geometry': list(merged_geom.geoms)},
    crs=zone.crs
)

注:上述方法仅适用于多边形图层,若图层包含线、点等非多边形要素,unary_union行为会有所不同。

内容的提问来源于stack exchange,提问作者Alexandro47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:42:06