AWS Terrarium DEM Tile Downloader
Resumen
CLI Python que descarga y verifica tiles de elevación (Digital Elevation Model) con codificación Terrarium del dataset AWS Open Data Terrain Tiles. Define el área y los niveles de zoom y genera los tiles en estructura estándar z/x/y más un tiles.json listo para proyectos de mapas. Requiere Python 3.7+.
Instalación
git clone <repo-url> && cd AWS-Dem-Downloader
python3 -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
chmod +x terrain_cli.py # Linux/macOS (opcional)
Uso (CLI real)
./terrain_cli.py [OPTIONS] COMMAND [ARGS]...
./terrain_cli.py download [OPTIONS] -- <min_lon,min_lat,max_lon,max_lat>
- Importante: el
--antes del BBOX es obligatorio si tu longitud mínima (min_lon) es negativa — indica que es argumento, no opción. - Argumento
<min_lon,min_lat,max_lon,max_lat>: bounding box WGS84. - Opciones:
-z, --zoom-range <min,max>: niveles de zoom (ej.10,14). Default:10,15. Max:15.-o, --output-dir <dir>: dónde guardar tiles. Default:terrain_tiles.-c, --concurrency <int>: hilos de descarga. Default:10.--only-missing: modo inteligente — descarga solo los tiles que faltan.
- Opciones globales:
-h, --help,--version.
Patrones / Arquitectura
- Descarga de precisión por bounding box.
- Control de zoom (0-15).
- Descarga concurrente multihilo.
- Verificación de integridad del caché (chequeo dimensional básico de tiles corruptos/faltantes).
- Genera
tiles.jsonmetadata compatible con MapLibre GL JS, Leaflet, Mapbox GL JS, etc. - Informes JSON detallados del estado de descarga/verificación, incluyendo fallos.
Pitfalls
- Omitir el
--delante de un bbox con longitud negativa rompe el parseo. --only-missingahorra tiempo/ancho de banda al reutilizar caché.
Verificación
- Descargar un bbox pequeño, confirmar estructura
z/x/y,tiles.jsony el informe JSON sin fallos.
Referencia
- Repo: https://github.com/orcunkok/AWS-Dem-Downloader (MIT). Fuente de datos: AWS Open Data Terrain Tiles (codificación Terrarium).