Datos de contexto que intervienen en varios análisis: terreno, cobertura y uso del suelo, arbolado, equipamientos críticos y capacidad de respuesta.
Capa | Fuente preferente | Respaldo | Uso |
|---|---|---|---|
Modelo de elevación | LiDAR distrital (UAECD / IDECA) | Copernicus DEM GLO-30 | Pendiente (3.2, 3.3) |
Cobertura del suelo | — | ESA WorldCover 10 m Zanaga et al., 2022 | Vegetación combustible (3.2), superficies (3.5) |
Uso del suelo | POT 555/2021: áreas de actividad y tratamientos | Usos catastrales / OSM | Uso mixto o comercial (3.4) |
Arbolado urbano | Censo de Arbolado Urbano, SIGAU (JBB) | OpenStreetMap | Sombra y enfriamiento (3.5), conteo por manzana |
Equipamientos críticos | — | OpenStreetMap | Exposición de salud, educación y cuidado |
Estaciones de bomberos, hidrantes, red vial | EAAB (hidrantes) | OpenStreetMap | Tiempos de respuesta (3.4) |
Terreno¶
ruta_dem = intentar(obtener_capa, "dem", mensaje="Modelo de elevación")
if ruta_dem is not None:
dem = abrir_raster(ruta_dem)
pend = pendiente_grados(dem)
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
dem.plot(ax=ax[0], cmap="terrain", cbar_kwargs={"label": "m s. n. m."}); ax[0].set_title("Elevación")
pend.plot(ax=ax[1], cmap="magma", vmax=45, cbar_kwargs={"label": "grados"}); ax[1].set_title("Pendiente")
for a in ax: a.set_axis_off()
fig.tight_layout()
Arbolado urbano¶
arb = intentar(obtener_capa, "arbolado", mensaje="Censo de arbolado")
if arb is not None:
from sidro.aoi import construir_aoi
dentro = arb[arb.within(construir_aoi().geometry.iloc[0])]
print(f"Árboles dentro del barrio: {len(dentro):,}")
m = viz.mapa_base(zoom=16)
viz.capa(m, dentro, nombre="Árboles", color="#1e8449", marker_kwds={"radius": 2})
display(viz.cerrar(m))
print(viz.nota_fuente("arbolado"))Árboles dentro del barrio: 3,288
Fuentes — arbolado: Censo de Arbolado Urbano (Jardín Botánico de Bogotá (SIGAU)), nivel local, descargado 2026-10-19
Equipamientos, bomberos e hidrantes¶
for capa in ("equipamientos_criticos", "estaciones_bomberos", "hidrantes"):
g = intentar(obtener_capa, capa, mensaje=capa)
if g is not None:
print(f"{capa}: {len(g)} elementos ({viz.nota_fuente(capa)})")equipamientos_criticos: 33 elementos (Fuentes — equipamientos_criticos: amenity=* (OpenStreetMap), nivel global, descargado 2026-10-25)
estaciones_bomberos: 4 elementos (Fuentes — estaciones_bomberos: amenity=fire_station (OpenStreetMap), nivel global, descargado 2026-10-19)
hidrantes: 162 elementos (Fuentes — hidrantes: Hidrantes del sistema de acueducto (servicio REST abierto) (EAAB-ESP), nivel local, descargado 2026-10-25)
- Zanaga, D., Van De Kerchove, R., Daems, D., & others. (2022). ESA WorldCover 10 m 2021 v200. 10.5281/zenodo.7254221