Send feedback
ee.Terrain.slope
Stay organized with collections
Save and categorize content based on your preferences.
Calculates slope in degrees from a terrain DEM.
The local gradient is computed using the 4-connected neighbors of each pixel, so missing values will occur around the edges of an image.
Usage Returns ee.Terrain.slope(input)
Image
Argument Type Details input
Image An elevation image, in meters.
Examples
Code Editor (JavaScript)
// A digital elevation model.
var dem = ee . Image ( 'NASA/NASADEM_HGT/001' ). select ( 'elevation' );
// Calculate slope. Units are degrees, range is [0,90).
var slope = ee . Terrain . slope ( dem );
// Calculate aspect. Units are degrees where 0=N, 90=E, 180=S, 270=W.
var aspect = ee . Terrain . aspect ( dem );
// Display slope and aspect layers on the map.
Map . setCenter ( - 123.457 , 47.815 , 11 );
Map . addLayer ( slope , { min : 0 , max : 89.99 }, 'Slope' );
Map . addLayer ( aspect , { min : 0 , max : 359.99 }, 'Aspect' );
// Use the ee.Terrain.products function to calculate slope, aspect, and
// hillshade simultaneously. The output bands are appended to the input image.
// Hillshade is calculated based on illumination azimuth=270, elevation=45.
var terrain = ee . Terrain . products ( dem );
print ( 'ee.Terrain.products bands' , terrain . bandNames ());
Map . addLayer ( terrain . select ( 'hillshade' ), { min : 0 , max : 255 }, 'Hillshade' );
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
Colab (Python)
# A digital elevation model.
dem = ee . Image ( 'NASA/NASADEM_HGT/001' ) . select ( 'elevation' )
# Calculate slope. Units are degrees, range is [0,90).
slope = ee . Terrain . slope ( dem )
# Calculate aspect. Units are degrees where 0=N, 90=E, 180=S, 270=W.
aspect = ee . Terrain . aspect ( dem )
# Display slope and aspect layers on the map.
m = geemap . Map ()
m . set_center ( - 123.457 , 47.815 , 11 )
m . add_layer ( slope , { 'min' : 0 , 'max' : 89.99 }, 'Slope' )
m . add_layer ( aspect , { 'min' : 0 , 'max' : 359.99 }, 'Aspect' )
# Use the ee.Terrain.products function to calculate slope, aspect, and
# hillshade simultaneously. The output bands are appended to the input image.
# Hillshade is calculated based on illumination azimuth=270, elevation=45.
terrain = ee . Terrain . products ( dem )
display ( 'ee.Terrain.products bands' , terrain . bandNames ())
m . add_layer ( terrain . select ( 'hillshade' ), { 'min' : 0 , 'max' : 255 }, 'Hillshade' )
m
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["Calculates the slope of a terrain in degrees using a Digital Elevation Model (DEM)."],["Uses the 4-connected neighbors of each pixel for computation, leading to missing values at image edges."],["Outputs a slope image with values ranging from 0 to 90 degrees, representing the steepness of the terrain."],["Provides examples in JavaScript and Python demonstrating slope calculation and visualization."]]],[]]