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

转换CRS后在Matplotlib绘制Shapefile图形异常,求排查

解决Matplotlib绘制Shapefile多边形异常的问题

可能的问题及解决步骤:

  • 确认原始数据的CRS是否正确设置
    UTM 18N对应的EPSG代码是32618,若导入Shapefile时Geopandas未自动识别正确CRS,后续坐标转换会完全错误。
    导入时显式指定CRS:

    import geopandas as gpd
    df = gpd.read_file('Delmarva_PL_House_Final.zip', crs='EPSG:32618')
    

    或导入后检查并补全CRS:

    if df.crs is None:
        df.crs = 'EPSG:32618'
    df = df.to_crs(epsg=4326)
    
  • 检查并修复几何拓扑错误
    多边形的拓扑问题(自相交、顶点顺序错误、无效几何等)会导致绘制异常。先排查无效几何:

    invalid_rows = df[~df.geometry.is_valid]
    print(invalid_rows)
    

    若存在无效项,尝试用buffer(0)修复:

    df.geometry = df.geometry.buffer(0)
    

    修复后再执行df.plot()验证效果。

  • 验证坐标转换结果
    转换后查看部分几何的坐标值,确认是否符合WGS84(EPSG:4326)的范围(纬度-9090,经度-180180):

    print(df.geometry.head())
    

    若坐标值明显超出该范围,说明原始CRS设置错误,需回到第一步重新确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 17:07:16