HOWTO import SRTM elevation data

From GRASS-Wiki
Revision as of 21:35, 24 September 2017 by ⚠️Mmetz (talk | contribs) (→‎Available data: update liinks)
Jump to navigation Jump to search

Background: Space Shuttle Radar Topography Mission

Available data

Space Shuttle Radar Topography Mission - several SRTM Data Versions and Products are available. An overview of the different versions is given in figure 2 in the SRTM user guide.

SRTM data available through the USGS EarthExplorer are NGA SRTM version 2. If in doubt, use JPL/NASA Version 3 SRTM global elevation data.

Download

(FTP - therein SRTMGL3.003/2000.02.11/ which is a huge file list)
  • Map based search: EarthExplorer can be used to search, preview, and download Shuttle Radar Topography Mission (SRTM) 1 Arc-Second Global data. The collections are located under the Digital Elevation category.

Note: GRASS GIS installations usually contain a location 'demolocation' which is in Latitude-Longitude, suitable for SRTM import.

Which SRTM tile to take?

SRTM tiles are of 1 degree by 1 degree size. The SRTM filename contains the coordinates which refer to the center of the lower left pixel (e.g., N51E010: lower left cell center at 10E, 51N). To identify a tile name, a grid can be easily visualized in the GRASS monitor:

d.grid size=1

Import of original SRTM tiles in HGT format

Importing multiple SRTM files via GUI menu

You can easily import many SRTM files in one step:

Bulk import of SRTM via menu
Bulk import of SRTM via menu (remember to add 'hgt' into the extension field)

This menu function calls internally the SRTM driver of GDAL.

Importing multiple SRTM files via command line

Use the r.in.srtm module for automated import into a Latitude-Longitude location.

See:

  • M.H. Bowman. Mapping freely available high resolution global elevation and vector data in GRASS. GRASS Newsletter, Vol.3, pp 7-10, June 2005. [ PDF ]

Import of CGIAR SRTM void-filled tiles

  • SRTM 90 data in GeoTIFF format are available from http://srtm.csi.cgiar.org/. These come in 5 degree by 5 degree tiles. Horizontal resolution: 3 arc second (90 m at equator). Coverage: world. Import with r.in.gdal

Update: note that NASA EarthExplorer (see on top of this page) offers ~ 30m resolution SRTM V3 data which are void filled.

Import of multiple SRTM tiles in one step (mosaiking)

To simplify the import of multiple SRTM tiles, the tiles can be mosaicked first with gdalwarp:

Original SRTM tiles:

 # unzip all
 for i in *.hgt.zip ; do unzip  $i ; done
 # create mosaik (optionally reproject on the fly with -t_srs)
 gdalwarp *.hgt srtm_mosaik.tif
 # import
 r.in.gdal input=srtm_mosaik output=srtm_mosaik

CGIAR SRTM tiles:

 # create mosaik (optionally reproject on the fly with -t_srs)
 gdalwarp *.tif srtm_mosaik.tif
 # import
 r.in.gdal input=srtm_mosaik output=srtm_mosaik

Void filling of original SRTM tiles

The module r.fillnulls can be used. See screenshot

See:

  • M. Neteler, 2005. SRTM and VMAP0 data in OGR and GRASS. GRASS Newsletter, Vol.3, pp 2-6, June 2005. [ PDF | Erratum 1/2006 (txt) ]

Update 2014: better use the already void filled SRTM V3 1 arc-second for global coverage (~30 meters) data (get from NASA EarthExplorer, see above)

Import of SRTM tiles with reprojection on the fly

Instead of processing SRTM in a different location, it can be imported right away into the location of interest (e.g. UTM or whatever other projection) through reprojecting on the fly with bilinear resampling using r.import.

Example for North Carolina sample dataset with newest 1 arc-second for global coverage (~30 meters). You get the SRTM V3 1 arc-second global data from EarthExplorer (http://earthexplorer.usgs.gov/). The collections are located under the Digital Elevation category.

# set computational region to e.g. Landsat channel 3:
g.region raster=lsat7_2000_30 -p

# Import with reprojection on the fly. Recommended parameters:
# resample   Resampling method to use for reprojection -  bilinear
# extent   Output raster map extent
#    - region: extent of current region
# resolution   Resolution of output raster map
#    - region: current region resolution - limit to g.region setting from above
r.import input=n35_w079_1arc_v3.tif output=srtmv3_resamp resample=bilinear \
  extent=region resolution=region title="SRTM V3 resampled to Landsat7 resolution"

# beautify colors:
r.colors srtmv3_resamp color=elevation

See also