Omitir los comandos de cinta
Saltar al contenido principal
Inicio de sesión

Saber más

Administrar permisosAdministrar permisos
Caso 5: Modelo ciudad: Datos catastrales y Modelos Digitales de Elevación (post 1/2)
29/05/2020 - Tecnología, Formación

Introducción

Entre la información alfanumérica a descarga se encuentran datos muy valiosos, como son las denominadas "unidades urbanas" referidas al parcelario dónde consta el año de construcción, destinos y otros de singular interés para generar vistas 2,5D y 3D de las edificaciones simbolizadas según distintos criterios.

En esta primera parte aprenderemos a descargar y procesar la información para preparar los datos, en especial los Modelos Digitales de Elevación y, muy interesante, la información catastral de detalle.

En la introducción del post 1/2 del caso 4, ya se describieron los MDE (ver, por favor) así que entraremos en materia dando esa parte por entendida. También en los puntos 5 a 8 se trabaja con los edificios y el parcelario de urbana, pero repetiremos específicamente para este ejercicio esa parte.

Ejercicio

El ejercicio se desarrolla sobre el municipio de Barañáin en la Comarca de Pamplona. Una de las localidades del continuo con Pamplona que han vivido la transformación en ciudad dormitorio. Su escasa extensión de 1,39 Km2, su posición orográfica en una meseta entre ríos y su densidad de población con más de 20.000 habitantes le hacen idóneo para nuestro objetivo.

1. Comenzaremos, como siempre, abriendo una nueva sesión de QGIS y dotando al proyecto de contexto geográfico, incorporando en esta ocasión la Ortofotografía de 2018 por servicio teselado (WMTS) dando de alta el servicio:

 

http://idena.navarra.es/ogc/wmts/1.0.0/WMTSCapabilities.xml

De esta forma, fijamos el SRC del proyecto en EPSG:25830, que es el oficial. QGIS hará una transformación al vuelo excelente con información que tuviera otros SRC, aunque no será ésta la ocasión.

2. Servirá posteriormente para dar una vista impresionante, incorporar el Mapa de Relieve clasificado según el LiDAR en color derivado del MDS (resolución de 1 m). Para ello, igual que antes damos d alta, pero el servicio WMS, con la URL:

https://idena.navarra.es/ogc/wms

Y buscamos en "Cobertura de la tierra – mapas básicos e imágenes" – "Mapas de relieve" – Mapa de relieve clasificado en color (MDS)": IDENA:ELEVAC_Ras_RelieveClasificado_MDS_1M_VE2017, incorporándolo al proyecto y situándolo debajo en el Panel de capas.

En Propiedades de la Ortofoto, con una Transparencia del 60%, se gana en la interpretabilidad del territorio de la zona del ejercicio.

2. Descargamos la delimitación del municipio (está ad-hoc) e incorporamos directamente el ZIP, hacemos zoom a la capa y modificamos la simbología a línea sencilla, color rojo, grosor 0,88 mm.

3. Para acceder a los Modelos Digitales de Elevación (píxel de 50 cm) de la zona de estudio acudimos a la Cartoteca y Fototeca de Navarra* y activamos Cartoteca – Cartografía - LiDAR y MDE's – MDS - 2017 MDS 50cm y MDT - 2017 MDS 50cm. Aparecerá la malla de descarga.

En búsquedas, escribimos Barañáin y seleccionamos el municipio. Se cumple estrictamente la regla que dice que tu zona de estudio se reparte siempre en el mayor número de hojas posibles (versión de la Ley de Murphy aplicada a los SIG).

Con la selección por polígono, obtenemos en el panel de resultados las dos hojas y la previsualización de la vigente con el MDS coloreado por la clasificación simplificada. En cada resultado, nos descargamos el archivo ZIP con formato ASC:

                MDT:

  • MDT_0141_21_2017_EPSG25830_50cm.asc.zip
  • MDT_0141_31_2017_EPSG25830_50cm.asc.zip

                MDS:

  • MDS_0141_21_2017_EPSG25830_50cm.asc.zip
  • MDS_0141_31_2017_EPSG25830_50cm.asc.zip

* También pueden descargarse desde el Repositorio de Descarga de Cartografía, para quién conozca bien la nomenclatura de las hojas. En este caso hay una colección de MDS-MDT (alturas), pero al no ser un producto habitual, lo obviaremos para no quitar emoción.

4. Desde IDENA, descargamos la delimitación de las edificaciones sobre rasante:

E incorporamos el ZIP con los shapefiles (los .shp, no los .xml de los metadatos y .sld de simbología) y seleccionamos las edificaciones de Barañáin con Vectorial – Herramientas de investigación – Seleccionar por localización (predicado geométrico: Intersectan) contra diadmi_pol_municipio_122 y con Exportar – Guardar objetos seleccionados, creamos el shapefile "Edificios_sobre_rasante". Para ser más exactos, no son edificios, sino volúmenes constructivos con distintas alturas, que tienen asignada una altura como en la Dirección General del Catastro por número de plantas. El atributo "ETIQUETA" sigue una codificación habitual en el catastro foral utilizado en las cédulas parcelarias para este propósito.

Eliminamos DIRECC_Pol-Edifaltura del panel de capas (y del disco, si queremos) y desactivamos la visualización de Edificios_sobre_rasante de momento.

4. Como los MDE sobrepasan en mucho el ámbito geográfico de la zona de trabajo y para operar con ellos se requiere que sean GeoTIFF, los recortaremos y transformaremos uno a uno, ajustando al área, pero necesitamos un ráster de recorte.

Con el Geoalgoritmo: Geometría mínima delimitadora – Envolver (recuadro delimitador), sobre diadmi_pol_municipio_122, conseguimos acotar el área en una capa temporal.

Para tener un margen geográfico exterior, hacemos un buffer con Vectorial – Herramientas de geoproceso – Buffer:

 

Con Ráster – Conversión – Poligonizar, sobre este Hecho buffer, creamos con valor fijo 1, unidades georreferenciadas y resolución idéntica al MDT (0.5 m), con Extensión de la salida ajustada al propio Buffer, creamos un ráster temporal. En el panel de capas aparece como OUTPUT.

Con Ráster – Conversión – Poligonizar, sobre este Hecho buffer, creamos con valor fijo 1, unidades georreferenciadas y resolución idéntica al MDT (0.5 m), con Extensión de la salida ajustada al propio Buffer, creamos un ráster temporal. En el panel de capas aparece como OUTPUT.

5. Incorporamos al proyecto los archivos ZIP con los ASC que descargamos de la Cartoteca. Cuidado, para no liarse entre MDT y MDS, es mejor realizar el proceso descrito a continuación con cada tipo por separado.

Son archivos compactados de más de 300 Mb, así que costará un tiempo. No incorporan información del SRC, así que "asumen" el del proyecto.

El estilo por defecto es Gris monobanda de negro a blanco, estirando la paleta del mínimo al máximo, con lo que son diferentes y francamente feos. Para no perder tiempo en el renderizado, se puede desactivar su visualización.

Para recortarlos y transformarlos en GeoTIFF, recurrimos a Ráster – Calculadora ráster, con cada archivo con las expresiones de abajo adaptadas a MDT y MDS y hoja. La Extensión de la capa seleccionada debe ser OUTPUT.

"MDT_0141_21_2017_EPSG25830_50cm.asc@1" * OUTPUT@1

Creando MDT_0115_34_2017_EPSG25830_50cm en formato GeoTiff.

Luego con el siguiente:

"MDT_0141_31_2017_EPSG25830_50cm.asc@1" * "OUTPUT@1"

Lo mismo con los MDS.

6. Uniremos los 2 MDT y los 2 MDS en un único ráster "MDT" y único "MDS". Con Ráster – Miscelánea – Combinar.

Modificamos la simbología de ambos a Mapa de sombras (Hillshade), mejorando notablemente la vista del mapa.

 Terminado este proceso con éxito, eliminamos del panel de capas todos los MDE excepto los nuevos MDT y MDS y del disco la serie completa MDT_0XXX_YY_2017_EPSG25830_50cm, tanto .asc.zip como .tif, que ya no son necesarios. También eliminamos del proyecto los archivos temporales Geometría delimitadora, Hecho buffer y OUTPUT (el rasterizado de buffer).

Si ver un MDT de 0,5 cm de resolución ya es emocionante, el MDS promete maravillas. A ver si las conseguimos.

7. Es momento de descargar la parte del catastro que nos interesa. Desde la página de descargas del Servicio de Riqueza Territorial, descargaremos por municipio la parte gráfica de Barañáin (necesitamos el parcelario) y, sobre todo, la alfanumérica. Son archivos "grafico.zip" y "alfanumérico.zip".

Abriendo el archivo "grafico.zip" en ventana nueva del explorador de archivos, necesitamos extraer los archivos del shapefile que se llaman CATAST_Pol_ParcelaUrba y los incorporamos al proyecto. La situamos en el panel de capas bajo Edificios_sobre_rastante para confirmar que se encuentran todas las parcelas que se necesitan (en ocasiones hay edificaciones en las denominadas parcelas mixtas). Podemos eliminar del disco grafico.zip

8. Pero como hablamos de trabajar con información que se encuentra en "alfanumérico.zip", descargaremos el archivo Excel e instrucciones: unidades_urbanas_PROCESO, y seguimos los pasos indicados. Con ello terminamos con más de 10.000 registros que especifican los datos de cada unidad catastral que forma parte del edificio: viviendas, garajes, trasteros, almacenes, negocios, etc. con sus correspondientes datos valiosos para este ejercicio: año de construcción y destinos.

9. Incorporamos el archivo Excel unidades_urbanas_PROCESO.xlsx en nuestro proyecto en QGIS, hoja "UNIDADES_URBANAS" y realizamos una Relación 1:N con CATAST_Pol_ParcelaUrba. El método fallará (pero no hay solución) si varias construcciones (con ello, nuestras edificaciones también) comparten una misa parcela urbana, ya que no sabremos diferenciar unas construcciones de otras. No es el caso en Barañáin.

Desde el menú Proyecto – Propiedades – Relaciones:

 

Ahora en la tabla de atributos, vista formulario, podemos ver las unidades existentes en cada parcela:

 

De CATAST_Pol_ParcelaUrba vemos el atributo REFCAT, de UNIDADES_URBANAS seleccionamos el atributo DESTINO.

Estamos listos para extraer la información que nos interesa.

10. Sobre CATAST_Pol_ParcelaUrba, con la Calculadora de campos, creamos el atributo "A_CONS_MAX", Numérico entero, con la expresión de agregado:

relation_aggregate( 'UU','max',"A_CONSTRU")

Dónde UU es el nombre que dimos a la relación, max es la operación estadística que nos devuelve el año de construcción más reciente y "A_CONSTRU" es el atributo de la tabla de UNIDADES_URBANAS.

Repetimos la operación creando "A_CONS_MIN", Numérico entero, con la expresión de agregado:

relation_aggregate( 'UU','min',"A_CONSTRU")

Con la selección por expresión:

"A_CONS_MAX" <> "A_CONS_MIN" AND "A_CONS_MIN" >0

Viendo desde la tabla de atributos, solo los seleccionados, podemos juzgar con cuales de las dos fechas queremos trabajar a continuación. No son muchos y no suelen ser viviendas, pero hay edificaciones de las décadas de 1960-70 a las que se añadieron partes con posterioridad, normalmente en este siglo. Para nuestro objetivo nos quedaremos con la fecha más antigua, que no tenga el valor 0 (cero) en "A_CONS_MIN".

Creamos nuevo atributo "FECH_CONST", Numérico entero, con la expresión:

IF( "A_CONS_MIN" >0, "A_CONS_MIN" , "A_CONS_MAX" )

Todos los que se quedan con "FECH_CONST"=0 se corresponden con el "DESTINO"='SUELO', que no interesan al propósito de nuestro ejercicio. Los seleccionamos y borramos.

Es conveniente cerrar la sesión de edición y guardar los cambios para consolidarlos.

11. El caso de los destinos es más complicado, ya que en una misma parcela se dan múltiples usos y no queda otro remedio que hacerlo por pasos.

Además de Vivienda, existen otras tipologías de destino: Museo, Residencia, Guardería Casa consistorial, Casa de cultura, Escuela profesional, Escuela E.G.B., Ambulatorio, Religioso, Piscina, Polideportivos, Pistas deportivas, Nave, locales o almacenes industriales, Almacén agrícola, Estación servicios, Restaurante, Cafetería bar, Subestación eléctrica, Transformador, etc. Una enorme y lógica colección que exige una agregación superior que permita abordarla. Cada cual puede construir la suya, pero la hoja DESTINOS del Excel ya ofrece la de este ejercicio dentro del atributo GRUPO.

El valor DESTINO='EDIFICACION ESPECIAL' es un "saco" de muy variadas tipologías, con lo que, junto a otras se agrupan como 'Nada' a efecto de que no coticen en las cuentas posteriores. Al final del proceso, aquello que esté construido y quede sin valor de uso principal lo asimilaremos a una clase.

El más obvio es identificar las viviendas como elemento clave que traspasar después a Edificios_sobre_rastante.

a) Sobre la tabla "unidades_urbanas_PROCESO UNIDADES_URBANAS", filtramos:

"GRUPO" = 'Vivienda'

b) Sobre CATAST_Pol_ParcelaUrba, con la Calculadora de campos, creamos el atributo "VIVIENDAS", Numérico entero, con la expresión de agregado:

relation_aggregate( 'UU','count',"DESTINO")

En este caso el atributo sobre el que se opera es indiferente, porque solo queremos el número de registros dónde hay ocurrencias, al estar la tabla fuente filtrada. El atributo "VIVIENDAS" es cero allá dónde GRUPO no estaba filtrado.

Si hubiéramos querido conocer el nº de viviendas, el filtro habría sido "DESTINO" = 'VIVIENDA', no GRUPO, pero no es el caso para seguir trabajando con este atributo.

c) Ahora hay dos caminos para resolver el resto de casuísticas, uno muy manual y otro pragmático teniendo en cuenta que GRUPO tiene un dominio de valores reducido.

Ambos pasan por invertir el filtro anterior en la tabla "unidades_urbanas_PROCESO UNIDADES_URBANAS" con la expresión "GRUPO" != 'Vivienda'

El manual es agregar como Texto en nuevo atributo (algo así como "USOS") los valores diferentes de GRUPO en cada parcela para, seleccionando "VIVIENDAS"=0, estudiar y editar los resultados. La función de agregado es:

relation_aggregate( 'UU','concatenate_unique',"GRUPO",',' )

Dónde 'concatenate_unique' une con el separador ',' los distintos valores encontrados en GRUPO.

Podéis probarlo, solo por conocer el resultado de la función.

El método pragmático, ya que tenemos solo 4 valores distintos más de GRUPO, es filtrar cada uno en la tabla de Unidades Urbanas y contar las ocurrencias como hicimos con las viviendas. Creando los atributos DEPORTIVO, PRODUCTIVO, SERVICIOS Y OTROS. Para todos, la expresión será la misma de Viviendas, porque lo importante es el filtro. Recordad que se ejecuta sobre CATAST_Pol_ParcelaUrba:

relation_aggregate( 'UU','count',"DESTINO")

En Filtrar, el botón limpiar nos ayudará a crear la expresión de filtro siguiente, seleccionando en valores Todos.

Despreciamos los GRUPO='Suelo' y GRUPO='Nada'.

Eliminamos el filtro de unidades_urbanas con Limpiar.

d) El paso final es priorizar a que DESTINO (GRUPO) se le quiere dar más peso. Requiere una revisión de las casuísticas y no se acertará siempre, por la propia información fuente. En este caso lo asignaremos al grupo mayoritario.

Creamos el atributo "USO_PRIN", de tipo Texto, tamaño 10, con la expresión:

CASE

WHEN "VIVIENDAS">0 AND "VIVIENDAS">"PRODUCTIVO" AND "VIVIENDAS">"SERVICIOS" AND "VIVIENDAS">"DEPORTIVO" AND "VIVIENDAS">"OTROS" THEN 'Viviendas'

WHEN "SERVICIOS">0 AND "SERVICIOS">"VIVIENDAS" AND "SERVICIOS">"PRODUCTIVO" AND "SERVICIOS">"DEPORTIVO" AND "SERVICIOS">"OTROS" THEN 'Servicios'

WHEN "PRODUCTIVO">0 AND "PRODUCTIVO">"VIVIENDAS" AND "PRODUCTIVO">"SERVICIOS" AND "PRODUCTIVO">"DEPORTIVO" AND "PRODUCTIVO">"OTROS" THEN 'Productivo'

WHEN "OTROS">0 AND "OTROS">"VIVIENDAS" AND "OTROS">"SERVICIOS" AND "OTROS">"DEPORTIVO" AND "OTROS">"PRODUCTIVO" THEN 'Otros'

ELSE 'Ninguno'

END

Como puede verse, el orden en la expresión establece así mismo una prioridad. Si una condición es cierta de arriba-abajo, ya no evalúa las siguientes. Se produce algún fallo puntual de asignación, que podría arreglarse "a mano", pero acierta por encima del 95%.

Cerramos la sesión de edición y guardamos los cambios. Guardamos el proyecto.

Continuamos en el siguiente post.

Datos adjuntos