lunes, 10 de diciembre de 2018

QGIS: cortar múltiples capas.

Aunque ya tenemos elaborados un par de artículos sobre cómo cortar capas ráster y vectoriales en QGIS, os presentamos un complemento que permite hacer el trabajo de una sola vez, de manera rápida y eficaz: Clip Multiple Layers
La mejor y más rápida forma de instalarlo es desde el administrador de complementos de QGIS.
La propia información del complemento nos asegura que corta todas las capas visibles, tanto ráster como vectoriales, en base a un polígono de corte. No hay mejor forma de saberlo que probarlo...

Preparamos un lienzo de trabajo en QGIS (3.4.1) que contiene una muestra de todos los tipos de elementos vectoriales shape (puntos, líneas, polígonos) en formato SHP y además un par de capas ráster (ortofoto en formato ECW y MDT en formato ASC).

Sobre todo ello creamos un polígono de nombre zona_corte que es el que va a actuar como capa de corte sobre el resto de elementos. Arrancamos el complemento Clip Multiple Layers (desde el botón que crea en la barra de iconos o desde el menú Complementos).
Muy pocas cosas necesitamos configurar: simplemente seleccionar en el desplegable la capa de corte que vamos a usar y una carpeta donde exportar los resultados del corte. Por último marcar o desmarcar que las capas cortadas se añadan directamente al proyecto QGIS.
Ejecutamos el complemento y a esperar.... 
Tras unos segundos se nos añaden al proyecto perfectamente las capas vectoriales cortadas. En cambio las capas ráster nos arrojan diversos errores y el programa parece quedarse colgado en ellas (en la propia ventana del complemento se nos avisa de esto). Igualmente, en la carpeta destino dada para los archivos de corte, se nos han creado dos carpetas: vectors, con todo su contenido perfectamente creado, y rasters, que permanece vacía.
Además los vectoriales cortados conservan su tabla de atributos (como lógicamente debe de ser):

El complemento ejecuta la operación de corte solamente sobre aquellas capas que tengamos visibles en el lienzo. Todo funciona perfectamente para las capas vectoriales pero, tras varias pruebas, hemos sido incapaces de exportar algo a la carpeta rasters con las pruebas del ejemplo. Si en cambio hemos conseguido algún recorte trabajando con formato TIF...
¿Quizá no admita los formatos ECW o ASC? ¿Un mal momento de Python? ¿Tema de proyecciones? Seguiremos intentándolo pues la comodidad y eficacia con la que este complemento funciona con vectores nos gustaría también tenerla en los ráster.
Podéis seguir la evolución de este complemento y enviar reportes de funcionamiento desde el repositorio de su autor. Saludos!

lunes, 3 de diciembre de 2018

Un vistazo a SIOSE 2014.

Si en 2016 dábamos cuenta de que se había completado el SIOSE 2011, este 2018 el Instituto Geográfico Nacional nos ha traído la actualización de uno de los grandes productos cartográficos a fecha de referencia 2014. Como ya hicimos entonces volvemos a remitiros a su estupendo portal temático sobre el Sistema de Ocupación del Suelo de España para acceder a toda la información.

Los datos de este SIOSE 2014 están disponibles (como siempre) en el magnífico Centro de Descargas del CNIG bajo el epígrafe Información geográfica temática, junto con las otras series anteriores (2005 y 2011). Para una información aún más exhaustiva y completa del producto podemos descargar la documentación técnica que se ofrece bajo el enlace Información auxiliar, y que ofrece una serie de documentos PDF con la descripción del modelo de datos, metodología, estructura, etc... que harán las delicias de los usuarios más técnicos.

Dicho lo cual nosotros, como casi siempre, vamos a intentar mostrar aspectos más prácticos de este impresionante conjunto de información. En este sentido lo primero es destacar la GRAN NOVEDAD que esta versión 2014 presenta frente a sus predecesoras: el formato en el que se presentan los datos.

Recordamos que los anteriores SIOSE se ofrecían en el archiconocido formato shape (.shp), probablemente el rey de los formatos vectoriales en información cartográfica. A ello se acompañaba una base de datos Access (.mdb) con la información de las coberturas asociadas a cada polígono. De esta forma, y como vimos en el artículo sobre SIOSE 2011, podíamos relacionar las tablas de datos y geometría para realizar múltiples y diversas consultas espaciales de la información.
SIOSE 2014 abandona el clásico SHP y abraza dos nuevos formatos: GeoPackage (nuevo formato OGC) y GDB (GeoDataBase para ArcGIS). Dicho de otro modo, se nos ofrecen los datos en un formato abierto y en un formato comercial. La verdad es que no entendemos que se abandone el formato shape (compatible con la práctica totalidad de softwares) para incluir un formato perteneciente a una empresa privada de software comercial... pero bueno, es lo que hay.
Listado de productos SIOSE a descarga. Destacados los dos formatos nuevos para SIOSE 2014.
La unidad de descarga sigue siendo la Comunidad Autónoma.
Por fortuna tenemos los datos en GeoPackage, que es un formato abierto y el que nos interesa. Además nos ha sorprendido para bien como veremos un poco más adelante y tiene visos de convertirse en un estándar del mundillo. Te recomendamos este estupendo artículo de mappingGIS sobre las ventajas de este formato y su comparación con .shp.

Descargamos para este artículo la Comunidad Autónoma de La Rioja y cargamos en QGIS 3.4 Madeira el archivo SIOSE_La_Rioja_2014.gpkg correspondiente (99 megas). La primera ventaja del formato GeoPackage salta entonces a la vista.
QGIS nos pregunta las capas que deseamos añadir. Y es que el formato GeoPackage contiene, en un único archivo, tanto la información geométrica de los polígonos SIOSE como información alfanumérica asociada a esos polígonos en diversas tablas. Un gran avance en comodidad.
La explicación del contenido de cada capa la tenemos en el PDF que acompaña la descarga:

  • T_POLIGONOS: contiene la geometría de los polígonos SIOSE.
  • T_VALORES. Tabla con la información de todas las coberturas y atributos asociadas a cada polígono SIOSE
  • TABLA_PLANA: Tabla que también contiene la información de coberturas y atributos de los polígonos SIOSE, pero con menos potencialidad de consulta que T_VALORES y basado en un rótulo tipo texto descriptivo de la información de los polígonos.
  • TC_SIOSE_COBERTURAS y TC_SIOSE ATRIBUTOS: Tablas con todos los tipos de coberturas y atributos existentes en el modelo de datos SIOSE.
  • TC_SIOSE_CODIIGE y TC_SIOSE HILUCS: Tablas con la descripción de la clasificación de coberturas y usos según INSPIRE.

Recordamos la conveniencia de leerse los documentos técnicos a la hora de empezar a trabajar con la base de datos, sobre todo leer el documento sobre “Estructura y consulta de la base de datos SIOSE”. Seleccionamos todas las capas y aceptamos para abrirlas en QGIS. La segunda gran ventaja del formato GeoPackage se muestra ante nosotros:
Los datos SIOSE se nos cargan ya clasificados por categorías y con una simbología apropiada. Maravilloso.
No se trata sólo de que visualmente la apertura sea impecable (en contraste con los shp), sino que al tener ya los usos del suelo individualizados por capas categorizadas, el ahorro de tiempo que supone no tener que estar relacionando con los códigos de cada parcela es impresionante. Obviamente la preclasificación que se nos ofrece en el árbol de capas atiende al uso dominante de cada polígono, como podemos comprobar fácilmente con la herramienta de información.
Para un polígono clasificado como bosque de coníferas en el árbol de capas comprobamos que su código SIOSE es A(80CNFpl_20MTR) lo que en terminología SIOSE corresponde a una Asociación de 80% de coníferas en plantación y un 20% de matorral.
Disponer de todo ello (geometrías y tablas) en el mismo lugar es un avance muy a tener en cuenta a favor de este formato GeoPackage que nos permite una primera idea global de los usos de cada polígono con presentación es impecable. La lista de colores la tenemos disponible en la tabla TC_SIOSE_CODIIGE.

Para estudios pormenorizados evidentemente hay que seguir construyendo consultas espaciales más o menos complejas. Vamos con un ejemplo simple sobre la capa de polígonos, para que podáis practicar y ver las posibilidades. Buscamos las áreas con un 80% de frondosas caducifolias y un 20% de matorral, y que además tengan una extensión entre 50 y 100 hectáreas.
Construimos la fórmula de consulta en la tabla de atributos.

Pulsamos "seleccionar objetos espaciales" y QGIS nos muestra marcados en amarillo (seleccionados) aquellos que cumplen los requisitos (25 resultados):

Polígonos que también vemos seleccionados en la tabla de atributos correspondiente, confirmando además que cumplen los requisitos de código SIOSE A(80FDC_20MTR) y extensión de hectáreas (entre 50 y 100):

Desde aquí nos es muy sencillo, por ejemplo, copiar las filas seleccionadas al portapapeles:

Y pegarlas como una nueva capa (vectorial o temporal) en nuestra área de trabajo:

Con lo que ya tendríamos los elementos de nuestra búsqueda en capa individualizada para trabajar con ellos (cambiar la proyección de la nueva capa a la del proyecto si no los visualizáis):
Nuestra capa temporal (se pierde al cerrar el proyecto por lo que debemos guardarla antes en el formato que queramos)
 y su tabla de atributos perfectamente extraída del conjunto de datos SIOSE gracias a una consulta espacial.
En definitiva un producto complejo que requiere de un conocimiento avanzado para saber interactuar con todos los datos presentes en las diferentes tablas. Los mismos documentos de ayuda nos dicen que "para tener toda la potencialidad de consulta a la base de datos SIOSE es necesario relacionar la información de las coberturas y usos (con sus correspondientes parámetros) que están en la tabla T_VALORES, con su polígono asociado en T_POLIGONOS mediante el campo común ID_POLYGON". Podéis repasar cómo realizar esta relación de tablas en nuestro artículo al respecto.
Saludos.