AI-generated Key Takeaways
-
The
ee.Terrain.slope
function calculates slope in degrees from a terrain digital elevation model (DEM). -
The local gradient is computed using the 4-connected neighbors of each pixel, which results in missing values around the edges of an image.
-
The function takes an elevation image as input and returns an image representing the slope.
-
Examples are provided in both JavaScript and Python for calculating and displaying slope and aspect, as well as using
ee.Terrain.products
to calculate multiple terrain derivatives simultaneously.
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');
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