import geopandas as gpd

# 读取GeoJSON文件
gdf = gpd.read_file('中国_省.geojson')

# 方法1:只保留 'MultiPolygon' 类型的数据
gdf_polygons = gdf[gdf.geom_type == 'MultiPolygon']
gdf_polygons.to_file('path_to_save_polygons_only.shp', driver='ESRI Shapefile')

# 方法2:将 'MultiLineString' 转换为 'Polygon'
gdf['geometry'] = gdf['geometry'].apply(lambda x: x.buffer(0) if x.geom_type == 'MultiLineString' else x)

# 保存转换后的数据为 Shapefile
gdf.to_file('path_to_save_converted_data.shp', driver='ESRI Shapefile')

# 方法3:将 'MultiPolygon' 和 'MultiLineString' 数据合并并保存
gdf_combined = gdf[gdf.geom_type.isin(['MultiPolygon', 'MultiLineString'])]
gdf_combined.to_file('path_to_save_combined_data.shp', driver='ESRI Shapefile')

print("GeoJSON successfully converted and saved as Shapefiles.")

数据下载网址:天地图 服务中心

shp文件可以在arcmap中展示出来

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐