3
我有下面的代碼添加一個多邊形到一個情節:使用matplotlib-底圖
from mpl_toolkits.basemap import Basemap
map = Basemap(projection='merc', lat_0=50, lon_0=4,
resolution = 'l', area_thresh = 0.1,
llcrnrlon=4, llcrnrlat=50,
urcrnrlon=40, urcrnrlat=60)
map.drawcoastlines(linewidth=0.15)
map.drawcountries(linewidth=0.15)
map.fillcontinents(color='brown',lake_color='white')
map.drawmapboundary(fill_color='white')
並在此地圖我想顯示僅由一個多邊形shape文件的頂部。多邊形定義了一個封閉區域。我已經找到了關於如何手動添加多邊形或從shapefile中繪製多個多邊形的不同教程,但我無法爲我的情況做到這一點。 shapefile屬性表僅由兩個字段組成:'c'和'區域'。
現在我已經到了這個
import shapefile
s = shapefile.Reader(filepath,'c',drawbounds=False)
shapes = s.shapes()
records = s.records()
for record, shape in zip(records,shapes):
lons,lats = zip(*shape.points)
data = np.array(map(lons, lats)).T
x, y =map(lons,lats)
看到這個答案HTTP ://stackoverflow.com/a/19444121/380231如何構建一個多邊形。 – tacaswell