SIG EDUCA YouTube Tutoriales

Análisis de terreno en Google Earth Engine

básicoLección 6 de 186 minGoogle Earth Engine

Calcula parámetros morfométricos de un DEM en Google Earth Engine: pendiente, aspecto y sombreado, y descárgalos a Google Drive.

Introducción #

En esta guía aprenderás a cargar un modelo digital de elevación (DEM) en Google Earth Engine y calcular parámetros morfométricos del terreno como la pendiente, el aspecto y el sombreado. Estos productos son útiles en muchas aplicaciones, desde análisis hidrológicos hasta planificación urbana y modelado de la superficie terrestre.

Objetivos #

Recursos #

Puedes hacer este análisis con cualquiera de los DEM del catálogo de Google Earth Engine, por ejemplo con estos.

Las paletas de colores vienen del script de pendientes de GIS&Beers, un gran recurso para empezar.

Parámetros morfométricos #

Los parámetros morfométricos describen la forma del relieve y se calculan a partir de un DEM. Son clave en geología, hidrología, ordenamiento del territorio, agricultura y gestión del riesgo.

ParámetroQué mideEjemplo de uso
PendienteLa inclinación del terreno en grados, donde 0° es plano y 90° es vertical.Zonas susceptibles a deslizamientos o aptas para cultivo.
AspectoHacia dónde mira la ladera, con 0° o 360° al norte, 90° al este, 180° al sur y 270° al oeste.Exposición al sol, humedad del suelo y vegetación.
SombreadoCómo se ilumina el relieve con una fuente de luz simulada.Mapas con efecto 3D y lectura visual de la topografía.

Como referencia, así se suele interpretar la pendiente.

PendienteRelieve
0° a 5°Plano o casi plano
5° a 15°Ondulado suave
15° a 30°Moderadamente escarpado
Más de 30°Fuertemente escarpado

El sombreado suele ponerse debajo del DEM o de la pendiente con algo de transparencia. Por eso en el código tiene opacity: 0.46.

Proceso #

Diagrama: AOI, selección del DEM, recorte, cálculo con ee.Terrain.products, visualización y exportación
Flujo de trabajo del análisis de terreno.

Paso 1: Dibujar la región de interés #

Dibuja la región de interés (AOI) con las herramientas de geometría del Code Editor.

Rectángulo naranja dibujado como región de interés
Región de interés (AOI).

Antes de ejecutar el código, dibuja tu zona de estudio con las herramientas de geometría del mapa y cámbiale el nombre a AOI en el panel de importaciones, porque así la llama el script.

Paso 2: Seleccionar el DEM #

Usamos el dataset ALOS de JAXA, con una resolución espacial de 30 metros.

var DEM = ee.Image('JAXA/ALOS/AW3D30_V1_1').select(['AVE'], ['elevation']);

Paso 3: Recortar con la región de interés #

var dem_clip = DEM.clip(AOI);

Paso 4: Calcular pendiente, aspecto y sombreado #

Para estos cálculos usamos ee.Terrain.products(), que recibe un DEM y devuelve una imagen con varias bandas, cada una con una característica del terreno.

// Aplicación de la función ee.Terrain.products() al DEM
var products = ee.Terrain.products(DEM);

// Selección de las bandas resultantes para su visualización
var slope = products.select(['slope']);
var aspect = products.select(['aspect']);
var hill = products.select(['hillshade']);

Paso 5: Visualizar las variables #

// Paleta de visualización para el DEM
var vis_dem = {min: 0, max: 5000,
  palette: [
    '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef', '3ae237', 'b5e22e', 'd6e21f',
    'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301'
  ]};

// Paleta de visualización para la pendiente
var vis_slope = {min: 0, max: 60, opacity: 1,
  palette: ['00ad45', '00ff1f', 'ffeb00', 'ffa500', 'ff0000']};

// Paleta de visualización para el aspecto
var vis_aspect = {min: 0, max: 360,
  palette: [
    '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef', '3ae237', 'b5e22e', 'd6e21f',
    'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301'
  ]};

// Parámetros de visualización para el sombreado
var vis_hill = {min: 0, max: 255, opacity: 0.46};

// Añadir las variables al mapa
Map.addLayer(DEM, vis_dem, "elevation", 1);
Map.addLayer(slope, vis_slope, "slope", 1);
Map.addLayer(aspect, vis_aspect, "aspect", 1);
Map.addLayer(hill, vis_hill, "hillshade", 1);
Map.centerObject(AOI, 12);
DEM con paleta de colores
Elevación (DEM)
Pendiente en verde, amarillo y rojo
Pendiente (slope)
Aspecto con paleta multicolor
Aspecto (aspect)
Sombreado del relieve en escala de grises
Sombreado (hillshade)

Paso 6: Exportar las variables a Google Drive #

Exporta cada variable a Google Drive en formato GeoTIFF con Export.image.toDrive(). Este ejemplo exporta la pendiente; para las demás cambia image, description y fileNamePrefix.

Export.image.toDrive({
  image: slope,
  description: 'Terrain variables',
  folder: "Digital Elevation Model",
  fileNamePrefix: 'DEM',
  scale: 30,
  region: AOI,
  fileFormat: 'GeoTIFF',
  formatOptions: {
    cloudOptimized: true
  }
});

Código completo #

Este es el script completo del tutorial. Cópialo, pégalo en el Code Editor y presiona Run. Luego ejecuta la exportación desde la pestaña Tasks.

// AOI: dibuja tu región de interés con las herramientas de geometría del mapa
// y nómbrala "AOI" en el panel de importaciones.

// Seleccionar el DEM (ALOS, 30 m)
var DEM = ee.Image('JAXA/ALOS/AW3D30_V1_1').select(['AVE'], ['elevation']);

// Recortar con la región de interés
var dem_clip = DEM.clip(AOI);

// Aplicación de la función ee.Terrain.products() al DEM
var products = ee.Terrain.products(DEM);

// Selección de las bandas resultantes para su visualización
var slope = products.select(['slope']);
var aspect = products.select(['aspect']);
var hill = products.select(['hillshade']);

// Paleta de visualización para el DEM
var vis_dem = {min: 0, max: 5000,
  palette: [
    '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef', '3ae237', 'b5e22e', 'd6e21f',
    'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301'
  ]};

// Paleta de visualización para la pendiente
var vis_slope = {min: 0, max: 60, opacity: 1,
  palette: ['00ad45', '00ff1f', 'ffeb00', 'ffa500', 'ff0000']};

// Paleta de visualización para el aspecto
var vis_aspect = {min: 0, max: 360,
  palette: [
    '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef', '3ae237', 'b5e22e', 'd6e21f',
    'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301'
  ]};

// Parámetros de visualización para el sombreado
var vis_hill = {min: 0, max: 255, opacity: 0.46};

// Añadir las variables al mapa
Map.addLayer(DEM, vis_dem, "elevation", 1);
Map.addLayer(slope, vis_slope, "slope", 1);
Map.addLayer(aspect, vis_aspect, "aspect", 1);
Map.addLayer(hill, vis_hill, "hillshade", 1);
Map.centerObject(AOI, 12);

// Exportar la pendiente a Google Drive
// (para exportar aspect o hillshade, cambia image, description y fileNamePrefix)
Export.image.toDrive({
  image: slope,
  description: 'Terrain variables',
  folder: "Digital Elevation Model",
  fileNamePrefix: 'DEM',
  scale: 30,
  region: AOI,
  fileFormat: 'GeoTIFF',
  formatOptions: {
    cloudOptimized: true
  }
});

Conclusiones #

Con este proceso puedes descargar y visualizar modelos digitales de elevación junto con características del terreno en Google Earth Engine. Estos productos son valiosos para una amplia gama de aplicaciones geoespaciales y aportan información clave para el análisis del paisaje y la topografía.

Material de apoyo #

Guía en PDF7.0 Análisis de terreno · 6 páginas
Descargar PDF
Código en GEEAbre el script en el Code Editor de Earth Engine
Abrir código
© 2026 SIG EDUCA