我有一个数据集,大约包含60000个形状(每个形状都有各自的经度/纬度坐标),我想使用matplotlib和basemap在地图上绘制这些形状。
目前我是这样做的:
for ii in range(len(data)):
lons = np.array([data['lon1'][ii],data['lon3'][ii],data['lon4'][ii],data['lon2'][ii]],'f2')
lats = np.array([data['lat1'][ii],data['lat3'][ii],data['lat4'][ii],data['lat2'][ii]],'f2')
x,y = m(lons,lats)
poly = Polygon(zip(x,y),facecolor=colorval[ii],edgecolor='none')
plt.gca().add_patch(poly)
然而,在我的计算机上这需要大约1.5分钟,我在思考是否有可能稍微加快一些速度。有没有更有效的方法来绘制多边形并将它们添加到地图上?