xdenisx

Interpolation lat lon regular grid

Apr 4th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.48 KB | None | 0 0
  1. def create_map(ax, llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat):
  2.      m =
  3.  Basemap(llcrnrlon=llcrnrlon,llcrnrlat=llcrnrlat,urcrnrlon=urcrnrlon,urcrnrlat=urcrnrlat,resolution='i',projection='cyl',lon_0=(urcrnrlon+llcrnrlon)/2,lat_0=(urcrnrlat+llcrnrlat)/2)
  4.      m.drawcoastlines()
  5.      m.drawmapboundary()
  6.      m.drawstates(linewidth=3)
  7.     m.fillcontinents(color='lightgrey',lake_color='white')
  8.      m.drawcountries(linewidth=3)
  9.      return m
  10.  
  11.  
  12. def plotMapData(ax,data):
  13.  
  14.      lats = []
  15.      lons = []
  16.      val = []
  17.    
  18.      for k,v in data.iteritems():
  19.          lats.append(float(k[0]))
  20.          lons.append(float(k[1]))
  21.          val.append(float(v))
  22.        
  23.     value = np.array(val)
  24.      lat = np.array(lats)
  25.     lon = np.array(lons)
  26.            
  27.      llcrnlon = lon.min()-0.5
  28.      llcrnlat = lat.min()-0.5
  29.      urcrnlon = lon.max()+0.5
  30.      urcrnlat = lat.max()+0.5
  31.  
  32.     xi = np.linspace(llcrnlon,urcrnlon,1000)
  33.     yi = np.linspace(llcrnlat,urcrnlat,1000)
  34.      zi = griddata(lon,lat,value,xi,yi)
  35.  
  36.     cmap = cm.jet
  37.      m = create_map(ax,llcrnlon,llcrnlat,urcrnlon,urcrnlat)
  38.      cs = ax.contour(xi,yi,zi,15,linewidth=0.5,cmap=cmap,alpha=0.5)  
  39.      ax.contourf(xi,yi,zi,15,cmap=cmap,zorder=1000,alpha=0.5)
  40.  
  41.      colorscale = cm.ScalarMappable()
  42.      colorscale.set_array(value)
  43.      colorscale.set_cmap(cmap)
  44.  
  45.      colors = colorscale.to_rgba(value)
  46.      ax.scatter(lon,lat,c=colors,zorder=1000,cmap=cmap,s=10)
  47.      colorbar(colorscale, shrink=0.50, ax=ax,extend='both')
Advertisement
Add Comment
Please, Sign In to add comment