Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
[[["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."],[[["\u003cp\u003eCalculates the direction a terrain faces (aspect) in degrees, ranging from 0 to 360.\u003c/p\u003e\n"],["\u003cp\u003eUses a digital elevation model (DEM) as input to determine aspect.\u003c/p\u003e\n"],["\u003cp\u003eEmploys a 4-connected neighborhood method, leading to potential missing values around image edges.\u003c/p\u003e\n"],["\u003cp\u003eOutputs an image where pixel values represent aspect in degrees (0=North, 90=East, 180=South, 270=West).\u003c/p\u003e\n"]]],[],null,["# ee.Terrain.aspect\n\nCalculates aspect in degrees from a terrain DEM.\n\n\u003cbr /\u003e\n\nThe local gradient is computed using the 4-connected neighbors of each pixel, so missing values will occur around the edges of an image.\n\n| Usage | Returns |\n|----------------------------|---------|\n| `ee.Terrain.aspect(input)` | Image |\n\n| Argument | Type | Details |\n|----------|-------|--------------------------------|\n| `input` | Image | An elevation image, in meters. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A digital elevation model.\nvar dem = ee.Image('NASA/NASADEM_HGT/001').select('elevation');\n\n// Calculate slope. Units are degrees, range is [0,90).\nvar slope = ee.Terrain.slope(dem);\n\n// Calculate aspect. Units are degrees where 0=N, 90=E, 180=S, 270=W.\nvar aspect = ee.Terrain.aspect(dem);\n\n// Display slope and aspect layers on the map.\nMap.setCenter(-123.457, 47.815, 11);\nMap.addLayer(slope, {min: 0, max: 89.99}, 'Slope');\nMap.addLayer(aspect, {min: 0, max: 359.99}, 'Aspect');\n\n// Use the ee.Terrain.products function to calculate slope, aspect, and\n// hillshade simultaneously. The output bands are appended to the input image.\n// Hillshade is calculated based on illumination azimuth=270, elevation=45.\nvar terrain = ee.Terrain.products(dem);\nprint('ee.Terrain.products bands', terrain.bandNames());\nMap.addLayer(terrain.select('hillshade'), {min: 0, max: 255}, 'Hillshade');;\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# A digital elevation model.\ndem = ee.Image('NASA/NASADEM_HGT/001').select('elevation')\n\n# Calculate slope. Units are degrees, range is [0,90).\nslope = ee.Terrain.slope(dem)\n\n# Calculate aspect. Units are degrees where 0=N, 90=E, 180=S, 270=W.\naspect = ee.Terrain.aspect(dem)\n\n# Display slope and aspect layers on the map.\nm = geemap.Map()\nm.set_center(-123.457, 47.815, 11)\nm.add_layer(slope, {'min': 0, 'max': 89.99}, 'Slope')\nm.add_layer(aspect, {'min': 0, 'max': 359.99}, 'Aspect')\n\n# Use the ee.Terrain.products function to calculate slope, aspect, and\n# hillshade simultaneously. The output bands are appended to the input image.\n# Hillshade is calculated based on illumination azimuth=270, elevation=45.\nterrain = ee.Terrain.products(dem)\ndisplay('ee.Terrain.products bands', terrain.bandNames())\nm.add_layer(terrain.select('hillshade'), {'min': 0, 'max': 255}, 'Hillshade')\nm\n```"]]