Qué son las capas virtuales o “virtual layers”, y cómo se trabaja con ellas

Desde la versión 2.14 de QGIS hemos visto que se ha añadido esta funcionalidad, que puede ser muy útil si sabemos cómo utilizarla, aunque tengo entendido que no es muy conocida.
En este artículo voy a explicar un poco su función y para qué nos puede ser útil, sin entrar en aspectos técnicos de funcionamiento.
Debemos saber que las capas virtuales, como su nombre indica, no son más que una representación diferente de los datos que tenemos cargados en nuestro proyecto. Es decir, que cuando trabajemos con ellas, debemos saber que no estamos creando nuevos datasets, ni duplicando información. También tenemos que saber que vamos a usar lenguaje SQL, por lo que el usuario debe estar familiarizado con este lenguaje, aunque voy a tratar de explicar lo más básico.
Para acceder a ellas lo haremos desde el botón que abrirá el promt de capas vituales, y es aquí donde escribiremos nuestra consulta. Así de sencillo.
capas virtuales
¿Pero, qué es una consulta?
Muy sencillo, gracias a las capas virtuales puedo hacer una consulta de los datos que tengo cargados en lenguaje SQL, esto es, puedo seleccionar solo los aeropuertos que tengan el código ‘MAD’, o los 20 primeros aeropuertos ordenados por orden alfabético.
También debemos destacar que podemos acceder a las geometrías de la capa, no solo a sus datos alfanuméricos. Esto lo conseguiremos con el campo “geometry”.
Gracias a esta funcionalidad, también por ejemplo también podremos seleccionar las carreteras más largas, o los hoteles que estén a menos de cinco Km. de la costa.
¿Qué diferencia hay con el filtrado de capas?
Es cierto que todas estas cuestiones se pueden resolver de otras maneras (¿Qué no se puede hacer de diversas maneras en un SIG?) pero, en mi opinión, la principal ventaja de las capas virtuales es el uso de SQL de una manera muy sencilla. Por resumirlo de alguna manera, nos permite atacar a los datos de un Shapefile co lenguaje SQL, cosa que antes no de podía. También nos permite usar las opciones espaciales de QGIs, como buffers, etc.
Ejemplos:
Como he dicho, se pueden resolver distintos tipos de problemas usando SQL, por ejemplo:
Seleccionar 20 primeros aeropuertos ordenados por su código.
SELECT * from aeropuertos order by codigo ASC LIMIT 20
Si quiero mostrar solo algunos campos:
O hacer un buffer a estos puntos
SELECT id, ST_BUFFER(geometry, 0.1) as buff from aeropuertos limit 20;
capas virtuales
¿Puedo hacer joins?
¡Claro! Las capas virtuales permiten el uso de joins SQL, por ejemplo, podemos obtener datos de dos capas relacionadas:
SELECT * from aeropuertos, ciudades WHERE aeropuertos.nom_ciudades = ciudad.nombre
Conclusion:
Como hemos visto, me atrevería a decir que las capas virtuales en QGIS son algo poco explorado, pero en mi opinión pueden llegar a ser de extrema utilidad, pudiendo incluso llegar a mejorar considerablemente nuestra productividad en alguna tarea.

Autor: Pablo Pardo.

Descubre más en nuestro blog sobre tutoriales de QGIS

curso-QGIS-AvanzadoCURSO AVANZADO DE QGIS

¡Comenta desde tu cuenta de Facebook!

Dejar respuesta

Please enter your comment!
Please enter your name here