Trabajo desde hace años en aplicaciones que combinan datos abiertos de distinta procedencia para resolver un problema que parece sencillo y no lo es tanto: representar el modelo 3D de cualquier municipio español, con una altura que no sea un promedio inventado o procedural ni un valor por defecto según el número de plantas catastrales, sino una medición real extraída de la nube de puntos LiDAR del Plan Nacional de Ortofotografía Aérea.

El planteamiento parte de dos fuentes independientes. Por un lado, los footprints de los edificios, es decir, la huella en planta de cada construcción, que se obtienen de Overture Maps a través de DuckDB, consultando directamente los ficheros Parquet publicados en su bucket público sin necesidad de descargar nada más que el municipio de interés. Por otro lado, la altura de cada uno de esos edificios, que se calcula a partir de los servicios WCS que el CNIG pone a disposición pública dentro de su infraestructura de datos espaciales. Descarté deliberadamente apoyarme en las etiquetas de altura que a veces aparecen en OpenStreetMap, porque la cobertura de ese atributo es muy irregular (la inmensa mayoría de edificios simplemente no lo tienen), y porque cuando algún generador o herramienta de terceros rellena ese hueco suele hacerlo asumiendo una altura fija o un número de plantas idéntico para todo el municipio, lo que produce un skyline plano y falso en cuanto se extruye, sin ninguna relación con la realidad topográfica del lugar. Frente a eso, un dato de elevación medido directamente por LiDAR, edificio a edificio, es de otra naturaleza por completo.

Aquí es donde entra el procedimiento que da título a este artículo. El Instituto Geográfico Nacional genera, a partir de los vuelos LiDAR aerotransportados del PNOA, un Modelo Digital de Superficies (la altura de todo lo que hay sobre el terreno, incluyendo tejados, vegetación y cualquier otro elemento) y un Modelo Digital del Terreno (la altura del suelo desnudo, sin nada encima). La resta de ambos, superficie menos terreno, da como resultado lo que se conoce como modelo normalizado o DHM (Digital Heights Model) , y es exactamente ese valor el que representa cuánto sobresale cada construcción sobre el nivel del suelo en ese punto concreto. El CNIG ya distribuye directamente esta versión normalizada para la clase edificación, con un paso de malla de 2,5 metros, así que el cálculo no hay que hacerlo desde cero, aunque conceptualmente el proceso sigue siendo esa resta entre el DSM y el DTM.

El siguiente paso es asignar un único valor de altura a cada polígono de edificio. Aquí conviene ser cuidadoso, porque la densidad de puntos del LiDAR del PNOA no es homogénea ni especialmente alta en comparación con otros programas de captura más recientes, y tomar directamente el valor máximo dentro de la huella de un edificio es una receta segura para que una antena, un pararrayos o simplemente un punto mal clasificado dispare la altura del edificio entero a cifras absurdas. Por eso la aplicación extrae un percentil del conjunto de valores dentro de cada polígono en lugar del máximo, y ese percentil es ajustable. Trabajar con el percentil 90 en lugar del 95, por ejemplo, ya reduce de forma notable la influencia de esos valores extremos, y además se aplica un recorte adicional a nivel de todo el conjunto de edificios descargado, de manera que ningún valor aislado pueda distorsionar la lectura general del municipio.

El stack técnico detrás de todo esto es R y Shiny como capa de aplicación, con DuckDB y su extensión espacial para consultar Overture Maps, sf y terra para el álgebra de mapas y la extracción zonal, leaflet para la visualización en dos dimensiones con clasificación por rupturas naturales (Jenks) para que la simbología por color tenga sentido incluso cuando las alturas de un municipio son parecidas entre sí, y mapdeck sobre Mapbox GL para la vista tridimensional, con extrusión real de cada edificio a su altura calculada y exportación tanto a GeoPackage como a KMZ para quien prefiera visualizarlo directamente en Google Earth.
Una de las aplicaciones que más interesantes me parecen de este enfoque es precisamente en el ámbito rural, donde la disponibilidad de huellas de edificios digitalizadas con precisión suele ser más limitada, y donde herramientas tradicionales de reconstrucción 3D por fotogrametría no siempre resultan viables o rentables para un municipio pequeño. Al apoyarse en un dato de elevación de cobertura nacional y sistemática como el LiDAR del PNOA, el resultado no depende de que exista una campaña de vuelo específica para esa localidad ni de un modelado manual edificio a edificio.
Y hay un terreno de combinación que todavía no he explorado del todo pero que tiene mucho recorrido, que es el análisis hidrológico en tres dimensiones. Con el volumen edificado ya extruido y disponible como capa 3D, se abre la puerta a automatizar análisis de inundabilidad en ArcGIS Pro, cruzando cotas de lámina de agua simuladas con la geometría real del parque edificado para estimar qué construcciones quedarían afectadas a distintos niveles de crecida, en lugar de trabajar únicamente con polígonos en planta sin información de volumen. Es un desarrollo natural del mismo dato que ya se está generando aquí, y probablemente sea el siguiente paso de este proyecto.

Si esto te interesa, si trabajas en un ayuntamiento, una consultora de riesgos, un despacho de arquitectura o simplemente te gustaría charlar sobre cómo aplicarlo a tu caso concreto, estoy disponible, así que no dudes en contactar conmigo.
Alberto Concejal
Geovisualization.net
#LiDAR #GIS #CNIG #PNOA #OvertureMaps #Cartografia3D #RStats #Geovisualizacion #UrbanAnalytics #ArcGISPro