Python中shapefile上叠加绘制CSV经纬度坐标点失效问题咨询
Python中shapefile与坐标点图层叠加失败的解决方法
首先检查你贴出的代码里,shapefile绘图的代码行被#注释,先删除行首的#确保shapefile图层被加载到绘图轴。
如果取消注释后仍然只显示坐标点,几乎都是两个图层的坐标参考系(CRS)不匹配导致的:两个图层使用的坐标系不同,坐标数值范围差异极大,其中一个图层会落在当前画布的可视区域之外,因此只能看到其中一个图层。
解决步骤如下:
- 第一步:分别打印两个GeoDataFrame的CRS参数确认是否一致
print(geo_dfstat19.crs) print(sfstreets.crs)
- 第二步:如果输出的CRS参数不同,将其中一个图层转换为和另一个相同的CRS即可,推荐将坐标点图层转换为和shapefile一致的CRS:
geo_dfstat19 = geo_dfstat19.to_crs(sfstreets.crs)
- 第三步:转换完成后重新执行叠加绘图代码,即可正常显示两个图层
如果仍然存在显示问题,可以尝试以下排查方案: - 调整shapefile的绘图参数测试:将alpha设为1,颜色换成辨识度高的蓝色,避免因为透明度过低或者颜色和背景重合导致看不到图层
- 手动适配画布范围到shapefile的边界,避免坐标范围适配到点图层导致shapefile被挤出可视区:
# 绘图完成后添加以下两行 ax.set_xlim(sfstreets.total_bounds[0], sfstreets.total_bounds[2]) ax.set_ylim(sfstreets.total_bounds[1], sfstreets.total_bounds[3])
内容的提问来源于stack exchange,提问作者CKay
相关产品推荐
相关产品推荐

