The Land Surface Analysis Satellite Applications Facility
(LSA SAF) distributes several products
derived from the EUMETSAT satellites data. I am working with R to read and process the data (the
file of this example is available from the
Static Auxiliary Data page
of the LSA-SAF service.)
library(rgdal)
library(raster)
r <- raster("HDF5_LSASAF_USGS_DEM_Euro.hdf")
Although the file is read correctly, the projection info is missing.
> r
class : RasterLayer
dimensions : 651, 1701, 1107351 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : 0, 1701, 0, 651 (xmin, xmax, ymin, ymax)
coord. ref. : NA
data source : /home/oscar/temp/HDF5_LSASAF_USGS_DEM_Euro.hdf
names : HDF5_LSASAF_USGS_DEM_Euro
values : -32768, 32767 (min, max)
If I use gdalsrsinfo to parse the file and obtain the
projection, I get ERROR 1: ERROR - failed to load SRS definition
from ... which is more or less the same if I use GDALspatialRef
in R:
> GDALSpatialRef('HDF5_LSASAF_USGS_DEM_Euro.hdf')
[1] ""
As far as I know these files use the
GEOS projection.
However, if I set this PROJ.4 string and the file is transformed
to a latitude-longitude projection, the results are erroneous
(look at the extent of the projectExtent output):
projection(r) <- CRS("+proj=geos +lon_0=0 +h=35785831 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs ")
> projectExtent(r, CRS(projLL))
class : RasterLayer
dimensions : 651, 1701, 1107351 (nrow, ncol, ncell)
resolution : 8.983153e-06, 9.043695e-06 (x, y)
extent : 0, 0.01528034, 0, 0.005887445 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
It seems that the LSA-SAF data
are not yet geo-corrected
and the images are expressed in the "raw" Column-Row system, so
this could be the root of the problem. There are
Latitude and Longitude static files
which could be used for remapping the rasters. However, I would
like to use a more direct approach with a correct PROJ.4 string
and a projection transform with gdalwarp or rgdal::spTransform
in R.

