AI-generated Key Takeaways
-
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.
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