[R-sig-Geo] display projected NetCDF files
Robert J. Hijmans
r.hijmans at gmail.com
Tue Jul 20 23:30:08 CEST 2010
Walt,
You should be able to read and plot this file like this:
library(raster)
b = brick("air.mon.mean.nc", varname= 'air')
plot(b, 1)
#or
r = raster("air.mon.mean.nc", varname= 'air', band=1)
plot(r)
#or
sp = as(b, 'SpatialGridDataFrame')
#etc
The projection info is stored in r at prj (for the time being, util I
transform these to proj4 syntax, for at the least the common cases)
Robert
On Wed, Jul 14, 2010 at 10:42 AM, Walt Golet <wgolet at gmri.org> wrote:
> Hello,
> A new list member here with a question regarding the display of projected NetCDF files in R. The initial grids (dimension 349 x 277) cover all of North America with the following borders:
> 12.2N;133.5W, 54.5N; 152.9W, 57.3N; 49.4W ,14.3N;65.1W in the Lambert Conformal Conic Grid. I extracted a smaller grid (our area of interest) which becomes a 64 x 51 matrix for air temperature, longitude and latitude with new borders (40.614, -84.052) (54.263, -76.513) (44.268,-52.644) (32.869,-63.768).
>
> #####Reading, extracting and sub setting the grid
> library(ncdf)
> AIR1=open.ncdf("air.mon.mean.nc",write=FALSE,readunlim=TRUE)
> print(AIR1)
> AIR2=AIR1$var[[2]]
> AIR=get.var.ncdf(AIR1,AIR2,start=c(1,1,13,1),count=c(349,277,1,372))
> AIR_JAN_1979=AIR[234:297,120:170,1]
> AIR2LAT=AIR1$var[[3]]
> AIR_LAT_19791=get.var.ncdf(AIR1,AIR2LAT,start=c(1,1),count=c(349,277))
> AIR_LAT_1979=AIR_LAT_19791[234:297,120:170]
> AIR2LONG=AIR1$var[[4]]
> AIR_LONG_19791=get.var.ncdf(AIR1,AIR2LONG,start=c(1,1),count=c(349,277))
> AIR_LONG_1979=AIR_LONG_19791[234:297,120:170]
>
> #######file information on projection and orientation of grid
> int Lambert_Conformal[] "
> grid_mapping_name: lambert_conformal_conic"
> standard_parallel: 50" " standard_parallel: 50"
> longitude_of_central_meridian: -107"
> latitude_of_projection_origin: 50"
> false_easting: 5632642.22547"
> false_northing: 4612545.65137"
> y Size:277" #### Original size of grid, extracted one is only 64 x 51
> long_name: northward distance from southwest corner of domain in projection coordinates"
> units: m"
> standard_name: projection_y_coordinate"
> x Size:349"
> long_name: eastward distance from southwest corner of domain in projection coordinates"
> units: m"
> standard_name: projection_x_coordinate"
> nbnds Size:2"
>
>
> simple plots such as filled.contour will plot the results, but are not projected properly.
> I imagine there is a method within rgdal{spTransform} to correctly display this data in its projected format or perhaps transform these positions, but it eludes me at this time. Somewhat similar questions have appeared online, but the answers I have found do not give correct projections. Any help with this would be appreciated. Thanks in advance for what may be a simple transformation,
>
> Walt
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
More information about the R-sig-Geo
mailing list