Jose Gómez-Dans wrote:
> Hi,
> I am starting to play with Basemap. I have some raster data in 
> longitude/latitude (WGS-84, EPSG: 4326).  I would like to plot it using 
> imshow, and to then plot some country boundaries and so on and so forth. I 
> have studied the plotprecip.py example in Basemap's distribution, but as far 
> as i can tell, there's no reprojection of the data there (i.e., the data is 
> already in whatever projection Basemap was initiated with). While I can 
> reproject the data outside of MPL, I was wondering whether I'm missing 
> something, and I can just reproject my data and call imshow within my python 
> script.
>
> Cheers,
> J
>
>
>
>   
Jose:  If you data is on a lat/lon grid, you can plot it directly with 
Basemap with projection='cyl'.  If you want to plot it on some other 
projection, you can reproject the data with Basemap quite easily.  The 
test.py script in the examples directory shows how to reproject lat/lon 
data and plot with  imshow for each of the map projections Basemap 
supports.

The basic recipe is this:

import numpy as np
import matplotlib.pyplot as plt
# transform to nx x ny regularly spaced 40km native projection grid
nx = int((m.xmax-m.xmin)/40000.)+1; ny = int((m.ymax-m.ymin)/40000.)+1
# datain is input data on lat/lon grid described by 1d arrays lons, lats
# (longitudes and latitudes in degrees).
topodat = m.transform_scalar(datain,lons,lats,nx,ny)
# plot image over map with imshow. m is a Basemap instance defining the 
projection
# you want to plot on.
im = m.imshow(topodat,plt.cm.jet)

Note that to plot the data with pcolor/pcolormesh of contourf, you don't 
need to interpolate to a native projection grid.  You can just do

lons, lats = np.meshgrid(lons,lats)
x,y = m(lons,lats)
im = m.pcolormesh(x,y,datain)

-Jeff

-- 
Jeffrey S. Whitaker         Phone  : (303)497-6313
Meteorologist               FAX    : (303)497-6449
NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
325 Broadway                Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to