我有一個模型網格組成的許多單元格,我想繪製一個陰影多邊形的matplotlib
basemap
。排序多邊形座標繪圖
使用pyproj
,我首先要投射到的位置,從而使用shapely.geometry
的Polygon
類從提取網格的外部座標的多邊形前。然後我回復他們回WGS84傳遞到我的繪圖功能:
grid_x_mesh, grid_y_mesh = pyproj.transform(wgs84, nplaea, grid_lons, grid_lats)
grid_x = grid_x_mesh.ravel()
grid_y = grid_y_mesh.ravel()
grid_poly = Polygon(zip(grid_x, grid_y))
grid_x, grid_y = grid_poly.exterior.coords.xy
grid_plons, grid_plats = pyproj.transform(nplaea, wgs84, grid_x, grid_y)
然後,使用matplotlib.basemap
方法,我預計將WSG84座標地圖投影(在這種情況下nplaea)和
grid_poly_x, grid_poly_y = m(grid_plons, grid_plats)
grid_poly_xy = zip(grid_poly_x, grid_poly_y)
grid_poly = Polygon(grid_poly_xy, facecolor='red', alpha=0.4)
plt.gca().add_patch(grid_poly)
當試圖這樣做時,我得到了一個十字交叉的模式,我認爲它必須對我提供給多邊形函數的座標進行排序。
我認爲這與我如何提取外部座標有關,或者只是在創建最終的多邊形時繪製座標列表的順序。
如果出現問題,是否有巧妙的排序方法?
繪製的多邊形
特寫
難道還要再通過可以'matplotlib.basemap'繪製這些,如果他們沒有被投射用'地圖()'方法,其中包括地圖尺寸? – ryanjdillon
我承認我從來沒有使用'matplotlib.basemap',但它看起來像它處理它自己的投影lon/lat輸入([很好的例子](http://matplotlib.org/basemap/users/ laea.html)) –