[R-sig-Geo] What is the Coordinate Reference System?

Edzer Pebesma edzer@pebe@m@ @ending from uni-muen@ter@de
Mon Jun 18 10:59:23 CEST 2018


Plate carree is essentially a linear mapping of long and lat to x and y,
without changing aspect ratio (scale factor 1 at equator).

projecting long/lat towards plate caree using the proj4 string you
mention will however change the units from degrees to m. So while the
plots of of data in linear long/lat (with aspect ration 1) looks
identical to the one obtained in plate caree (with aspect ratio 1), the
numerical values along their axes are very different.

Many netcdf files carry a grid (raster) with the x and y coordinates of
grid cells (centers?) in another coordinate system, but the ones you
mention below don't, as far as I can tell. I think what they mean by
mentioning plate carree is just saying that this is a regular long/lat
degree grid; rather unlucky wording IMO.

On 06/15/2018 08:14 PM, Ben Tupper wrote:
> Hi,
> 
> That's an interesting approach.  
> 
> On the other hand, sometimes I get bitten (well, muddled really) when I use raster to determine the crs of a ncdf resource.  It all sort of depends.
> 
> Below is an example for Aqua MODIS imagery from OBPG (https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/Mapped/Daily/9km/sst/2017/ <https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/Mapped/Daily/9km/sst/2017/>).  The OBPG docs (https://oceancolor.gsfc.nasa.gov/products/ <https://oceancolor.gsfc.nasa.gov/products/>) state that the data is served up as 'Plate Carrée' which I think has a crs ...
> 
> '+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ' 
> 
> ... as described here http://spatialreference.org/ref/epsg/32662/ <http://spatialreference.org/ref/epsg/32662/>
> 
> You can see below that raster comes up with...
> 
> '+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0' 
> 
> ... which is http://spatialreference.org/ref/epsg/4326/ <http://spatialreference.org/ref/epsg/4326/>
> 
> Explicitly setting the crs while reading doesn't help.  I have never resolved if it is an OBPG documentation bug, my confusion about projections, or some other mystery.  So, my usual practice is to assume that raster makes the right call.
> 
> #### start
> 
> library(raster)
> URI = 'https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/A2017175.L3m_DAY_SST_sst_9km.nc'
> 
> # ~3.8MB
> ok = download.file(URI, basename(URI))
> 
> R = raster::raster(basename(URI), varname = 'sst')
> R
> # class       : RasterLayer
> # dimensions  : 2160, 4320, 9331200  (nrow, ncol, ncell)
> # resolution  : 0.08333334, 0.08333334  (x, y)
> # extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
> # coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
> # data source : /Users/Shared/code/R/others/record/spnc/A2017175.L3m_DAY_SST_sst_9km.nc
> # names       : Sea.Surface.Temperature
> # zvar        : sst
> 
> S = raster::raster(basename(URI), varname = "sst", crs = '+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs')
> # Warning message:
> # In .getProj(prj, crs) :
> #  argument "crs" ignored because the file provides a crs
> 
> #### end
> 
> 
> Cheers,
> Ben
> 
> 
>> On Jun 14, 2018, at 6:42 PM, Michael Sumner <mdsumner using gmail.com> wrote:
>>
>> Try raster::projection(raster::raster(a)) first, then delve if necessary
>> into the ncdump summary with print(raster::raster(a)))
>>
>> But, raster(a) may be enough here? To get that stuff more directly from the
>> NetCDF API you have to use the inq and att functions of ncdf4 or RNetCDF
>> and that's no fun.
>>
>> I'd also try raster(rgdal::readGDAL(a)) which is a totally different but
>> equivalent read path.
>>
>> Cheers, Mike
>>
>> On Thu, 14 Jun 2018, 11:03 Sergio Ibarra, <zergioibarra using gmail.com> wrote:
>>
>>> Greetings,
>>>
>>> I'm want to read NetCDF spatial data from a meteorological model (WRF
>>> model). The NetCDF can have one of these three projections:
>>>
>>> Polar stereographic
>>> Lambert conformal
>>> Mercator projection
>>>
>>> (See figure
>>>
>>> https://user-images.githubusercontent.com/27447280/41389756-ed23f91a-6f68-11e8-961e-6ba901913c54.png
>>> )
>>>
>>> What is the  Coordinate Reference System for each case?
>>>
>>> Thanks!
>>>
>>> Here an example with ncdf4 and raster:
>>>
>>> library(ncdf4)
>>> library(raster)
>>> a <- tempfile()
>>> download.file(url = "
>>> http://www.unidata.ucar.edu/software/netcdf/examples/wrfout_v2_Lambert.nc
>>> ",
>>>              destfile = a) #78 Mb
>>> wrf <- nc_open(a)
>>> paste("The file has",wrf$nvars,"variables")
>>> paste("The file has",names(wrf$var))
>>> lat <- ncvar_get( wrf, "XLAT" )
>>> lon <- ncvar_get( wrf, "XLONG" )
>>> t2 <- ncvar_get( wrf, "T2" ) - 273.15
>>> dim(t2) #73 60 13
>>> #image
>>> image(t2[, , 12])
>>> # raster
>>> rt2 <- raster(t(t2[1:dim(t2)[1],
>>>                   dim(t2)[2]:1,
>>>                   12]),
>>>              xmn = min(lon),
>>>              xmx = max(lon),
>>>              ymn = min(lat),
>>>              ymx = max(lat),
>>> *              crs="+init=epsg:4326") # ???*
>>> spplot(rt2)
>>>
>>>
>>>
>>> --
>>> ​Sergio Ibarra Espinosa
>>> Post Doc
>>> PhD in Atmospheric Sciences
>>> Instituto de Astronomia, Geofísica e Ciências Atmosféricas
>>> Universidade de São Paulo
>>> Rua do Matão, 1226
>>> São Paulo-SP - Brasil -
>>> 05508-090
>>> +55-11-97425-3791
>>> Skype: sergio_ibarra1
>>>
>>>        [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> R-sig-Geo using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>> -- 
>> Dr. Michael Sumner
>> Software and Database Engineer
>> Australian Antarctic Division
>> 203 Channel Highway
>> Kingston Tasmania 7050 Australia
>>
>> 	[[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
> 
> Ben Tupper
> Bigelow Laboratory for Ocean Sciences
> 60 Bigelow Drive, P.O. Box 380
> East Boothbay, Maine 04544
> http://www.bigelow.org
> 
> Ecological Forecasting: https://eco.bigelow.org/
> 
> 
> 
> 
> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> 

-- 
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081



More information about the R-sig-Geo mailing list