完整的python basemap 选nc特定区域图

核心代码
【完整代码,数据另外上传】

'''确定经纬度的最小最大值,以及点的个数。
   因为在确定画图范围时,basemap,不能直接根据你选的定你所选画定的范围,自动选取
   所在区域的要素的值。
   nx,ny
   通过比例关系,确定要素是从第n1行n2列到第n3行n4列。
'''
l=nc.variables['lon']
a=nc.variables['lat']
NX=l[:]
NY=a[:]
lx=len(NX)
ly=len(NY)
minx,miny=min(NX),min(NY)
maxx,maxy=max(NX),max(NY)
'''确定,经纬度格点数,用来计算所选区域的经纬度'''
ny1 =int(ly*(llcrnrlat-miny)/(maxy-miny)); nx1 =int(lx*(llcrnrlon-minx)/(maxx-minx))
ny2 =int(ly*(urcrnrlat-miny)/(maxy-miny)); nx2 =int(lx*(urcrnrlon-minx)/(maxx-minx))
#print(ny1,ny2,nx1,nx2)
lons, lats =m.makegrid(nx2-nx1, ny2-ny1) 
#print(lons,lats)
#print(lons,lats)# get lat/lons of ny by nx evenly space grid.
x, y = m(lons, lats) # compute map proj coordinates.
# draw filled contours.
#print(x,y)
tb=[[0 for i in range (nx2-nx1)] for i in range(ny2-ny1)]

'''内是第二,外是第一''' 
jj=0
for j in range(ny1,ny2):
    ii=0
    for i in range(nx1,nx2):
        tb[jj][ii]=data[1][j][i]
        ii+=1
    jj+=1

完整的python basemap 选nc特定区域图_第1张图片

你可能感兴趣的:(basemap&nc)