basemap中加载的tiff图像y方向倒置
首先使用basemap创建地图画布:
map = Basemap(llcrnrlon=extent[0], llcrnrlat=extent[2],
urcrnrlon=extent[1], urcrnrlat=extent[3],
lat_0=(extent[2]+extent[3])/2, lon_0=(extent[0]+extent[1])/2, resolution='i', projection="lcc")
llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat分别对应画布的左下角点与左上角点的经纬度信息,projection用来确定投影到画布上的经纬度范围。简单来说就是将llcrnrlon,llcrnrlat按照给定的projection系统投影到画布的左下角点(0,0),同理将urcrnrlon,urcrnrlat投影到画布的右上角点,此时从经纬度转换成了平面坐标系下的单位mi。
因此画布对应的实际范围就确定了。
x = linspace(0, map.urcrnrx, data.shape[1])
y = linspace(0, map.urcrnry, data.shape[0])
xx, yy = meshgrid(x, y)
根据原来tiff图的行列号数量给地图画布绘制网格。
然后用basemap将这个网格数据绘制到画布上
map.contourf(xx, yy, data, rangeList, cmap=‘RdYlGn’)