Land Resources

Global Terrain Slope and Aspect Data Documentation

Data source

The NASA Shuttle Radar Topographic Mission (SRTM) has provided digital elevation data (DEMs) for over 80% of the globe. The SRTM data is publicly available as 3 arc second (approximately 90 meters resolution at the equator) DEMs (CGIAR-CSI, 2006).

For latitudes over 60 degrees north elevation data from GTOPO30 (USGS, 2002) with a resolution of 30 arc-seconds (depending on latitude this is approximately a 1 by 1 km cell size) were used.


CGIAR-CSI (2006): NASA Shuttle Radar Topographic Mission (SRTM). The SRTM data is available as 3 arc second (approx. 90m resolution) DEMs. The dataset is available for download at:

USGS (2002): GTOPO30 – Global 30 arc second elevation data. U.S. Geological Survey, National Mapping Division, EROS Data Center; for download available at:

Processing Steps

Under an agreement with the National Aeronautics and Space Administration (NASA) and the Department of Defense's National Geospatial Intelligence Agency (NGA), the U.S. Geological Survey (USGS) is now distributing elevation data from the Shuttle Radar Topography Mission (SRTM). The SRTM is a joint project between NASA and NGA to map the Earth’s land surface in three dimensions at a level of detail unprecedented for such a large area. Flown aboard the NASA Space Shuttle Endeavour February 11-22, 2000, the SRTM successfully collected data from over 80 percent of the Earth’s land surface, for most of the area between 60º N. and 56º S. latitude.

The data currently being distributed by NASA/USGS (finished product) contains “no-data” holes where water or heavy shadow prevented the quantification of elevation. These are generally small holes, which nevertheless render the data less useful, especially in fields of hydrological modelling. Dr. Andrew Jarvis of the CIAT Land Use project, in collaboration with Dr. Robert Hijmans and Dr. Andy Nelson, have further processed the original DEMs to fill in these no-data voids. This involved the production of vector contours, and the re-interpolation of these derived contours back into a raster DEM. These interpolated DEM values were then used to fill in the original no-data holes within the SRTM data.

The DEM files have been mosaiced into a seamless global coverage, and are available for download as 5˚ x 5˚ tiles, in geographic coordinate system - WGS84 datum. The available data cover a raster of  24 rows by 72 columns of 5˚ x 5˚ latitude/longitude tiles, from north 60 degree latitude to 56 degree south.

These processed SRTM data, with a resolution of 3 arc second (approximately 90m at the equator), i.e. 6000 rows by 6000 columns for each 5˚ x 5˚ tile, have been used for calculating: (i) terrain slope gradients for each 3 arc-sec grid cell; (ii) aspect of terrain slopes for each 3 arc-sec grid cell; (iii) terrain slope class by 3 arc-sec grid cell; and (iv) aspect class of terrain slope by 3 arc-sec grid cell. Products (iii) and (iv) were then aggregated to provide distributions of slope gradient and slope aspect classes by 30 arc-sec grid cell and for a 5’x5’ latitude/longitude grid used in global AEZ.

The computer algorithm used to calculate slope gradient and slope aspect operates on sub-grids of 3 by 3 grid cells, say grid cells A to I:


SRTM data are stored in 5˚x5˚ tiles*. When E falls on a border row or column (i.e., rows or columns 1 or 6000 of a tile) the required values falling outside the current tile are filled in from the neighboring tiles.

To calculate terrain slope for grid cell E, the algorithm proceeds as follows:

1.) If the altitude value at E is ‘no data’ then both slope gradient and slope aspect are set to ‘no data’.

2.) Replace any ‘no data’ values in A to D and F to I by the altitude value at E.

Let Px, Py and Pz denote respectively coordinates of grid point P in x direction (i.e. longitude in our case), y direction (i.e. latitude in our application), and z in vertical direction (i.e., altitude), then calculate partial derivatives (dz/dx) and (dz/dy) from:

(dz/dx)  =        - ((Az-Cz) + 2∙ (Dz-Fz) + (Gz-Iz)) / (8∙size_x)
(dz/dy)  =          ((Az-Gz) + 2∙ (Bz-Hz) + (Cz-Iz)) / (8∙size_y)

When working with a grid in latitude and longitude, then size_y is constant for all grid cells. However, size_x depends on latitude and is calculated separately for each row of a tile.

The slope gradient (in degrees) at E is

slgE       =          arctan 

and in percent is given by

slpE       =          100 

The slope aspect, i.e. the orientation of the slope gradient, starting from north (0 degrees) and going clock-wise, is calculated using the variables from above, as follows:

aspE      =          arctan  

The above expression can be evaluated for (dz/dy) ≠ 0. Otherwise aspE = 45˚ (for (dz/dx) < 0) or aspE = 270˚ (for (dz/dx) > 0)

3.)  To produce distributions of slope gradients and aspects for grids at 30 arc-sec or 5 min latitude/longitude, slope gradients are groups into 9 classes:

C1:       0 % ≤ slope ≤ 0.5 %
C2:       0.5 % ≤ slope ≤ 2 %
C3:       2 % ≤ slope ≤ 5 %
C4:       5 % ≤ slope ≤ 10 %
C5:       10 % ≤ slope ≤ 15 %
C6:       15 % ≤ slope ≤ 30 %
C7:       30 % ≤ slope ≤ 45 %
C8:       Slope > 45 %
C9:       Slope gradient undefined (i.e., outside land mask)

Slope aspects are classified in 5 classes:

N:        0˚ < aspect ≤ 45˚ or 315˚ < aspect ≤ 360˚
E:         45˚ < aspect ≤ 135˚
S:         135˚ < aspect ≤ 225˚
W:        225˚ < aspect ≤ 315˚
U:         Slope aspect undefined; this value is used for grids where slope gradient is undefined or slope gradient is less than 2 %.

Detailed data description

Data Format

The data are provided as ASCII files in a grid format. They consist of header information containing a set of keywords, followed by cell values in row-major order. The file format is

XLLCENTER xxx | xllcorner xxx>
YLLCENTER xxx | yllcorner xxx>
row 1
row 2
row n

where xxx is a number. Row 1 of the data is at the top of the grid, row 2 is just under row 1 and so on. The end of each row of data from the grid is terminated with a carriage return in the file. The grid is defined in the header information with the following keywords:

NCOLS: number of columns
NROWS: number of rows
XLLCENTER: x-coordinate of lower left centre
YLLCENTER: y-coordinate of lower left centre
CELLSIZE: grid cell size
NODATA_VALUE: The value assigned to nodata information

Geographical details

Spatial coverage: Global

Grid cell size: 5 minutes and 30 arc seconds

Geographic coordinate system (Longitude, latitude)
Units: Decimal degrees
Datum: WGS84

Data content

The data comprise one elevation map describing median elevation in each grid cell, eight slope and four aspect maps describing percentage distributions of the respective slope or aspect classes. The sum of all classes for slopes and aspects respectively is 100 percentages.


Elevation data:


Slope and aspect classes:

percentage * 1000

Land mask:

In addition a land mask has been provided. The land mask shows the number of 3 arc second grid cells in the SRTM data that fall into a 5 minutes or 30 arc second grid cell. Along coastlines 5 minutes or 30 arcsecond grid cells usually only contain a fraction of the higher resolution 3 arc second grid cells, which were used for the slope and aspect calculations. In the 5 minutes and 30 arc second grids the slopes and aspect distributions always sum up to 100 percent. Thus if the real percentage distribution of a particular 5 minutes or 30 arc second is required it can be calculated using the land mask.

Table 1. Description of file names of the IIASA-LUC Global Terrain Slopes and Aspect Database.




grid cell size:
5x5 minutes

grid cell size:
30 arc seconds







Number of 3 arc second grid cells that belong to the land mask and fall into respective 5 minutes or 30 arc second grid cells






Median elevation (meters)



Slope class



0 % ≤ slope ≤ 0.5 %



0.5 % ≤ slope ≤ 2 %



2 % ≤ slope ≤ 5 %



5 % ≤ slope ≤ 10 %



10 % ≤ slope ≤ 15 %



15 % ≤ slope ≤ 30 %



30 % ≤ slope ≤ 45 %



Slope > 45 %



Aspect class



North: 0˚< aspect ≤45˚ or 315˚< aspect ≤360˚



East: 45˚ < aspect ≤ 135˚



South: 135˚ < aspect ≤ 225˚



West: 225˚ < aspect ≤ 315˚



Undefined: Slope aspect undefined; this value is used for grids where slope gradient is undefined or slope gradient is less than 2%.

*For the globe the computer program processes 36 million sub-grids, in total 32.4 billion sub-grids are considered.


Data Citation
Fischer, G., F. Nachtergaele, S. Prieler, H.T. van Velthuizen, L. Verelst, D. Wiberg, 2008. Global Agro-ecological Zones Assessment for Agriculture (GAEZ 2008). IIASA, Laxenburg, Austria and FAO, Rome, Italy.

Data format Information

Data Format Information