如何将含城市几何的GeoJSON转换为国家级GeoJSON多边形?
从城市GeoJSON合并出国家多边形的方法
方法1:用QGIS可视化工具操作
- 导入文件:打开QGIS,通过「图层」→「添加图层」→「添加矢量图层」选中你的城市GeoJSON文件。
- 合并要素:打开左侧「处理工具箱」,搜索并运行「合并矢量图层」,选择导入的城市图层(单个图层里的所有城市要素),生成临时合并图层。
- 融合为单一多边形:接着运行「融合(Dissolve)」工具,不需要设置融合字段(直接把所有要素合并成一个),输出的结果就是覆盖所有城市的单一多边形/多多边形。
- 导出结果:右键输出的图层,选择「导出」→「保存要素为」,格式选GeoJSON即可。
方法2:用Python + GeoPandas自动化处理
先安装依赖:
pip install geopandas
然后运行以下代码:
import geopandas as gpd # 读取城市GeoJSON文件 city_gdf = gpd.read_file("你的城市数据.geojson") # 将所有城市几何融合为单个要素 country_gdf = city_gdf.dissolve() # 导出合并后的国家边界GeoJSON country_gdf.to_file("国家边界.geojson", driver="GeoJSON")
注意事项
- 若城市几何存在重叠或间隙,融合后的结果可能有重叠区域或内部空洞,可通过QGIS的「消除重叠」「填充空洞」工具,或GeoPandas中
buffer(0)方法修复拓扑问题。 - 如果现有城市数据未覆盖整个国家的所有区域,合并结果只能代表已覆盖的范围,无法还原完整国家边界。
内容的提问来源于stack exchange,提问作者Berkenus
相关产品推荐
相关产品推荐

