python - 使用 Python 将 Pandas 数据框剪切为 shapefile

标签 python pandas matplotlib clip arcmap

我有一个包含大量点的纬度和经度数据的 Pandas 数据框,我想将它们剪辑到一个 shapefile 中;即:shapefile 边界之外的所有内容都将被丢弃。

有没有办法在 Python 包(例如 MatPlotLib)中实现这一点?

我在 Google 上搜索过,但“裁剪”似乎指的是数据被 map 图例/轴切断,而不是我所描述的。

此图像显示了我所追求的 - 我在 ArcMap 中完成了此操作,但需要自动执行该过程。灰色点代表整个数据框,而红色点被“剪裁”到下面的绿色 shapefile。

Clipped points (Red)

这是我运行的代码,用于覆盖要点以防它有任何用处:

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/

相关文章:

python - Pandas 查询函数不适用于列名中的空格

python - Pandas - 将 df.apply() 的结果存储为仅选择行

Python matplotlib - 如何在不调整热图大小的情况下移动颜色条?

python - Matplotlib 在子图中的条形上打印值

python - Celery - 任务重试导致奇怪的错误

python - 训练精度提高但验证精度保持在 0.5,模型预测每个验证样本几乎相同的类

python - 更清晰的代码来绕过在 Python 中打印 Int 值

Python将列表附加到数据框列

python - Python 中多元 5 次多项式回归的曲面图

python - 在 python 脚本中搜索并替换字符串中的多个模式