Saltar al contenido principal

26  Práctica 5 · MDE, interpolación y análisis hidrológico

Duración: 4 horas · Software: QGIS 4.4 (o 3.44 LTR) (GRASS / SAGA / WhiteboxTools) o ArcGIS Pro 3.7 · Lectura previa: Capítulo 19 Área sugerida: subcuenca del estero Yerba Loca o del río Mapocho alto (Región Metropolitana).

26.1 Parte A · Obtener el MDE

Opción 1 · Earth Engine

import ee, geemap
ee.Initialize(project="geomatica-chile-tunombre")
aoi = ee.Geometry.Rectangle([-70.40, -33.40, -70.20, -33.20])
dem = ee.ImageCollection("COPERNICUS/DEM/GLO30").select("DEM").mosaic().clip(aoi)
geemap.ee_export_image(dem, "mde_glo30.tif", scale=30, region=aoi, crs="EPSG:5361")

Opción 2 · QGIS: descarga Copernicus DEM desde el Copernicus Data Space Ecosystem y recorta con Ráster → Extracción → Cortar ráster por extensión.

26.2 Parte B · Interpolación desde puntos

Genera un MDE a partir de puntos acotados (por ejemplo, 300 puntos aleatorios extraídos del MDE) con IDW y TIN, y compáralo con el original:

import numpy as np, rasterio
from scipy.interpolate import griddata

with rasterio.open("mde_glo30.tif") as src:
    z = src.read(1).astype(float); tr = src.transform
filas, cols = np.indices(z.shape)
rng = np.random.default_rng(42)
idx = rng.choice(z.size, 300, replace=False)
x, y, v = cols.ravel()[idx], filas.ravel()[idx], z.ravel()[idx]
z_lin = griddata((x, y), v, (cols, filas), method="linear")
rmse = np.sqrt(np.nanmean((z_lin - z) ** 2))
print(f"RMSE interpolación lineal (TIN) con 300 puntos: {rmse:.1f} m")

26.3 Parte C · Derivados

En QGIS: Ráster → Análisis → Pendiente, Orientación, Sombreado y Rugosidad. Clasifica la pendiente en rangos de 0–5°, 5–15°, 15–30°, 30–45° y > 45°.

26.4 Parte D · Hidrología

Con WhiteboxTools (complemento de QGIS) o Python:

from whitebox import WhiteboxTools
wbt = WhiteboxTools(); wbt.set_working_dir("trabajo")
wbt.breach_depressions_least_cost("mde_glo30.tif", "mde_relleno.tif", dist=10)
wbt.d8_pointer("mde_relleno.tif", "d8.tif")
wbt.d8_flow_accumulation("mde_relleno.tif", "acumulacion.tif", out_type="cells")
wbt.extract_streams("acumulacion.tif", "drenaje.tif", threshold=1000)
wbt.strahler_stream_order("d8.tif", "drenaje.tif", "strahler.tif")

Delimita la cuenca aportante a un punto de salida (pour point) y calcula su área, perímetro, pendiente media y la curva hipsométrica.

26.5 Preguntas

  1. ¿Cómo cambia la red de drenaje con umbrales de 500, 1.000 y 5.000 celdas?
  2. ¿Qué error introduce usar un MDS (Copernicus DEM) en una quebrada con vegetación densa?

26.6 Entregable

Mapa de la cuenca con red de drenaje por orden de Strahler y una tabla de parámetros morfométricos.