我有一个包含大量点的纬度和经度数据的 Pandas 数据框,我想将它们剪辑到一个 shapefile 中;即:shapefile 边界之外的所有内容都将被丢弃。
有没有办法在 Python 包(例如 MatPlotLib)中实现这一点?
我在 Google 上搜索过,但“裁剪”似乎指的是数据被 map 图例/轴切断,而不是我所描述的。
此图像显示了我所追求的 - 我在 ArcMap 中完成了此操作,但需要自动执行该过程。灰色点代表整个数据框,而红色点被“剪裁”到下面的绿色 shapefile。
这是我运行的代码,用于覆盖要点以防它有任何用处:
f, ax = plt.subplots(1, figsize=(12, 12))
ax.plot(Easting,Northing, 'bo', markersize=5)
IMD.plot(column='imd_score', colormap='Blues', linewidth=0.1, axes=ax)
locs, labels = plt.xticks()
plt.setp(labels, rotation=90)
plt.axis('equal')
最佳答案
你可以试试geopandas .这是一个非常好的库,基本上与 pandas 数据框一起工作,但地理定位,即包含一列几何。您可以直接在其中导入导出 shapefile,最后执行类似 Intersection 的操作.
关于python - 使用 Python 将 Pandas 数据框剪切为 shapefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265861/