底图:根据形状内

时间:2015-11-19 09:36:45

标签: python matplotlib matplotlib-basemap

我在matplotlib底图中有一张地图,我使用shapefile绘制一个国家的省份。

我还有一个具有特定值的点列表。它可能是一个熊猫数据帧,或者像这样的列表列表:

[[32.1232,51.0223,80],[31.24972,51.2497,65],[32.2921,50.242,44],[32.20938,51.6069,67],[31.2480,52.2498,55]]

我希望根据形状内所有点的平均值对每个省进行着色。

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

m = Basemap(projection='merc',llcrnrlat=15,urcrnrlat=55,llcrnrlon=70,urcrnrlon=140,lat_ts=20,resolution='c')

shapefile='C:/Users/...CHN_adm_shp/CHN_adm2'
shp = m.readshapefile(shapefile, 'states', drawbounds=True)
for nshape, seg in enumerate(m.states):
poly = Polygon(seg, facecolor='0.75', edgecolor='k')
ax.add_patch(poly)

plt.show()

到目前为止,我面临的最大障碍是找出一个点是否在一个形状内。怎么办呢?

0 个答案:

没有答案