Version 14 (modified by anch, 9 years ago) (diff)


Creating DEMs from ASTER or SRTM data

The ASTER GDEM is a global elevation dataset at 1-arc-second (30m) horizontal resolution, covering the earth from 83S-83N. More data about the dataset is available at http://www.ersdac.or.jp/GDEM/E/2.html, the dataset itself can be downloaded from http://asterweb.jpl.nasa.gov/gdem-wist.asp.

The Shuttle Radar Topography Mission mapped global elevations at a 3 arc second (90m posting) resolution between 60N and 56S. More information is available from http://srtm.usgs.gov/, and the data are available via the USGS Earth Explorer


  1. Fire up Grass. Select a location in lat/long projection using WGS84 datum (create one if none avaialble), make a note of the selected location and mapset names.
  1. Import the data file:

For ASTER data:

r.in.gdal input=<aster_tile>_dem.tif output=aster_data

For SRTM data:

r.in.gdal input=w001001.adf output=srtm_data

for multiple tiles, put in a simple loop e.g:

for tile in `ls *.tif`;
do r.in.gdal input=$tile output=$tile.aster;
  1. Quit Grass and then start it up again. Select a location using UTM projection for the target area or create one if none is available - make sure you've got the right UTM zone. Note you can also use whatever other projection you want, but this guide assumes you want UTM.
  1. Use a conversion utility (eg see the spreadsheet at http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.HTM#Spreadsheet) to determine the boundaries of the target flight in meters within the selected UTM zone. If the flight spans two or more UTM zones, you will have to calculate the offsets appropriate to work out the east and west boundaries of the area. eg. If western boundary is zone 32 and eastern boundary is zone 33, for eastern value use zone 32, add 750000 to value from spreadsheet

to find eastings relative to zone 32 bound.

  1. Set active region to calculated eastings/northings using:
    g.region n=<north val> s=<south val> e=<east val> w=<west val> res=50
  1. Use r.proj to convert from lat/long to UTM:
    r.proj input=<input_map_name> location=<lat/long_location> mapset=<lat/long_mapset> output=<output_map_name>
  1. If r.proj gives an error saying that the input map is outside the bounds of the current region, go back to step 6 and check your numbers

10 Output ASCII DEM from converted map as normal (see Creation of DEMs from NextMap data)