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