I am trying to evaluate an equation in the raster calculator and I need latitude values. I have the DEM for the region and am wondering if it is possible to create a latitude raster based on the DEM?
Thanks a lot!
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.
Sign up to join this communityI am trying to evaluate an equation in the raster calculator and I need latitude values. I have the DEM for the region and am wondering if it is possible to create a latitude raster based on the DEM?
Thanks a lot!
Unproject the DEM to determine the geographic region it covers.
Create the latitude coordinate grid for this region. (In Arc* products prior to version 10, this is done with "$$YMap": http://forums.esri.com/Thread.asp?c=93&f=1740&t=182407.)
Projecting this grid produces the latitude raster. For the projection, use some form of interpolation for the resampling (bilinear should be good enough in most cases), not nearest-neighbor.
whuber's method is simpler, but this should also work if you have Spatial Analyst and ArcGIS:
I realise this is an old thread but thought I'd contribute to help anyone searching in the future. My DEM was too large to use Patrick's method, so I used a points file that contained a reasonable number of points (approx. 70, spread across the extent of the United Kingdom), then interpolated between these (using latitude as the z value). Hope this is helpful to someone, sometime!
The simplest way to create Lat/Long grids rasters is to use the r.latlong
function in GRASS GIS.
By importing a DEM (or another raster), you can use the DEM as input and the function will create a latitude (and longitude using the -l
flag) that matches the input DEM. You can then export to any desired format. This took ~ 1.5 min for a 13 x 10 degree, 30m DEM, using a 32 GB RAM, 32 Core workstation.
I used Kate's approach in ArcGIS (very much appreciated, even after all this time). I used a basic IDW interpolation with a variable search window on ~300 points. The rabbit hole that led me this far has been trying to ADD a directional elevation trend to to an existing DEM dataset to impose a stronger flow accumulation trend in a flat landscape. As the $$YMAP/$$XMAP GRID variables are no longer supported in Arc 10+, this was the easiest workaround for me. Doing this is was able to create two rasters for X and Y coordinate values to then work into map algebra.
This is now trivial to do with GRASS tools available within QGIS. Open your raster data in QGIS (e.g., 'raster_dem.tif') and open the GRASS tool r.rastercalculator
in the Processing Toolbox. For the formula
variable, enter this:
raster_dem = y()
This will produce a raster of latitude values. If you also need a raster of longitude values, simply use x()
instead of y()
. It's much faster than previous methods too.