SLOPE – Terrain Slope (DEM-based)
SLOPE represents the steepness of the terrain, derived from a digital elevation model (DEM). It is typically expressed in degrees (°) or as percent slope, and is a fundamental parameter in hydrology, geomorphology, land-use planning and risk analysis.
What does terrain slope measure?
Slope quantifies how fast elevation changes in space. It is computed from the gradient of the DEM in the x- and y-directions, and describes how steep each pixel is compared to a horizontal plane.
- Hydrology: flow direction, runoff speed, erosion risk.
- Land-use planning: suitability for buildings, roads and agriculture.
- Natural hazards: landslide susceptibility and terrain stability.
- Ecology & climate: controlling microclimate and vegetation patterns.
Note: Slope accuracy depends on DEM resolution, vertical accuracy, and preprocessing (void filling, smoothing, reprojection).
Mathematical definition
p = ∂z/∂x, q = ∂z/∂y
Slope (radians) = arctan( √(p² + q²) )
Slope (degrees) = Slope (radians) · 180 / π
where z is elevation, p and q are the partial derivatives in the x- and y-directions, usually approximated by finite differences in the DEM.
Most GIS / GEE functions (e.g. ee.Terrain.slope) implement
this formula internally and return slope directly in degrees.
Required inputs
Elevation data
| Input | Example sources |
|---|---|
| DEM | SRTM, ALOS, ASTER GDEM, COPERNICUS DEM, local LiDAR DEM |
| Projection & units | Prefer projected CRS with metres as linear unit |
| Resolution | Typically 10–30 m for regional studies |
| Preprocessing | Void filling, sink removal (if used for hydrology) |
Tip: projecting the DEM to a suitable projected CRS (e.g. UTM) avoids distortions in slope due to geographic coordinates.
Interpreting slope values (degrees)
| Slope (°) | Typical interpretation |
|---|---|
| 0 – 2 | Flat to nearly flat |
| 2 – 5 | Gentle slope |
| 5 – 15 | Moderate slope |
| 15 – 30 | Steep slope |
| > 30 | Very steep / mountainous |
These classes are generic; adapt thresholds to your local context (e.g. engineering standards, agricultural machinery limits).
Computing SLOPE in Google Earth Engine (SRTM example)
- Load a DEM (e.g. SRTM, Copernicus DEM) and define your ROI.
- Optionally reproject to a suitable projected CRS with a chosen scale.
- Use
ee.Terrain.slopeto compute slope in degrees. - Visualise and export the slope map if needed.
// SLOPE – Terrain slope example using SRTM in Google Earth Engine
var roi = /* your geometry here */;
// Load SRTM DEM (30 m)
var dem = ee.Image('USGS/SRTMGL1_003')
.clip(roi);
// Optional: reproject to UTM (example EPSG:32636) with 30 m scale
var demProj = dem.reproject({
crs: 'EPSG:32636', // change to the UTM zone of your area
scale: 30
});
// Compute slope in degrees
var slope = ee.Terrain.slope(demProj).rename('SLOPE');
// Visualisation
Map.centerObject(roi, 9);
Map.addLayer(slope, {
min: 0, max: 45,
palette: ['#0b1120','#1d4ed8','#22c55e','#eab308','#f97316','#7f1d1d']
}, 'Terrain Slope (degrees)');
// Optional export
Export.image.toDrive({
image: slope,
description: 'SLOPE_SRTM_example',
region: roi,
scale: 30,
maxPixels: 1e13
});
Important: for large areas or high latitudes, choose an appropriate projected CRS (UTM / local projection) and consistent scale to avoid distortions and ensure accurate slope estimates.