2015-12-14 87 views
2

我有一個Pandas數據框,其中包含緯度和經度數據以獲得豐富的點數,並且我想將它們剪切到shapefile;即:刪除shapefile邊界外的所有內容。使用Python將熊貓數據框剪切到shapefile文件

有沒有辦法在一個Python包(如MatPlotLib)中實現這一點?

我已經在Google上搜索過,但'clipping'似乎指的是地圖傳說/軸切斷的數據,而不是我所描述的。

此圖顯示了我所追求的內容 - 我在ArcMap中完成了這一操作,但需要自動執行此過程。灰色點表示整個數據幀,而紅色點則被「剪切」到下面的綠色形狀文件中。

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') 

回答

1

你可以試試geopandas。這是一個非常好的庫,它基本上與熊貓數據框一起工作,但是是地理定位的,即包含一列Geometry。你可以直接在其中導入導出shapefile,最後做一些類似Intersection的事情。