¿Te imaginas poder predecir zonas de inundación con solo ejecutar un script en Python? En este artículo te mostraremos cómo funciona una potente herramienta de código abierto que combina análisis geoespacial y modelos hidrológicos para simular dinámicas de inundación.


¿Por qué simular inundaciones?

Las inundaciones son el desastre natural más frecuente a nivel global. Según el Banco Mundial:

  • 1.810 millones de personas están expuestas a inundaciones graves

  • Pérdidas económicas estimadas en $1 billón anual para 2050

Contar con herramientas predictivas accesibles es crucial para:

  • Planificación urbana

  • Diseño de infraestructuras

  • Sistemas de alerta temprana

  • Estudios de impacto ambiental


Librerías necesarias

El sistema utiliza estas bibliotecas Python esenciales:

  • rasterio 1.3.9: Lectura/escritura de datos raster

  • geopandas 0.13.2: Procesamiento de datos vectoriales

  • numpy 1.24.4: Cálculos numéricos matriciales

  • pandas 2.0.3: Análisis tabular y manejo de logs

  • matplotlib 3.7.2: Visualización 2D/3D

  • imageio 2.31.5: Generación de animaciones

  • fiona 1.9.5: Soporte para formatos geoespaciales

  • shapely 2.0.2: Operaciones geométricas

Instalación con pip:

Copy
pip install rasterio==1.3.9 geopandas==0.13.2 numpy==1.24.4 pandas==2.0.3 matplotlib==3.7.2 imageio==2.31.5 fiona==1.9.5 shapely==2.0.2

Componentes técnicos destacados

  1. Modelo Digital de Elevaciones (DEM)

    • Base para todos los cálculos hidrológicos

    • Resolución espacial típica: 1-30m

    • Carga de datos:

    python
    Copy
    with rasterio.open("../datos/raster/dem.tif") as src:
        dem = src.read(1)
  2. Motor de simulación

    • Método de autómatas celulares mejorado

    • Parámetros ajustables: niveles de agua (0-2m), velocidad de propagación

  3. Visualización científica

    • Composiciones multi-capa

    • Generación automática de animaciones en formato GIF


Resultados profesionales en 4 pasos

  1. Mapa de sombras 3D

    • Mejora la interpretación del terreno con efectos de iluminación realistas

  2. Simulación multi-escenario

    • Comparación de 11 escenarios de altura de agua

  3. Análisis cuantitativo

    • Tablas comparativas de áreas inundadas (km²) por nivel

  4. Animación explicativa

    • GIF interactivo que muestra la progresión de la inundación


Cómo usar el sistema

Requisitos técnicos:

  • Python 3.8+

  • 4GB RAM mínimo

  • 500MB de espacio en disco

Instalación paso a paso:

  1. Clona el repositorio:

    bash
    Copy
    git clone https://github.com/eddycc66/simulacioninun.git
    cd simulacioninun
  2. Descarga los datos de ejemplo desde el repositorio:
    Dataset de muestra

  3. Estructura los archivos:

    Copy
    simulacioninun/
    └── datos/
        ├── raster/
        │   ├── dem.tif
        │   └── cuenca.tif
        └── vector/
            └── rio.shp
  4. Ejecuta el notebook Jupyter:

    bash
    Copy
    jupyter notebook codigo/anlisishidro.ipynb

Casos de uso reales

  1. Diseño urbano resiliente
    Identificación de zonas seguras para construcción

  2. Agricultura de precisión
    Planificación de cultivos resistentes a inundaciones

  3. Gestión de emergencias
    Creación de mapas de evacuación dinámicos


Recursos adicionales


El futuro de la modelización hidrológica

Próximas mejoras incluyen:

  • Integración con datos meteorológicos en tiempo real

  • Soporte para aceleración GPU

  • Interfaz web interactiva


¡Comienza a simular!

python
Copy
from modelos_hidro import ejecutar_simulacion
ejecutar_simulacion(nivel_agua=1.5, resolucion='10m')