6.2. Lesson: Análisis Vectorial
Los datos vectoriales también se pueden analizar para revelar cómo las diferentes entidades interactúan entre sí en el espacio. Hay muchas funciones diferentes relacionadas con el análisis, por lo que no las revisaremos todas. Más bien, haremos una pregunta e intentaremos resolverla utilizando las herramientas que proporciona QGIS.
El objetivo de esta lección: Plantear una pregunta y contestarla utilizando las herramientas de análisis.
6.2.1. El proceso SIG
Antes de empezar, sería útil dar una breve descripción de un proceso que se puede utilizar para resolver un problema. La forma de hacerlo es:
Plantear el problema
Obtener los datos
Analizar el problema
Presentar los resultados
6.2.2. El Problema
Comencemos este procedimiento eligiendo un problema que se deba resolver. Por ejemplo, imaginemos que eres un agente inmobiliario que está buscando un inmueble en Swellendam para clientes con el siguiente perfil:
Necesita estar en Swellendam
Debe estar a una distancia razonable conduciendo de una escuela (digamos 1 km)
Debe medir mas de 100m cuadrados
A menos de 50m de la calle principal
Mas cerca de 500m a un restaurante
6.2.3. Los Datos
Para contestar a estas preguntas, vamos a necesitar los siguientes datos:
Las propiedades residenciales (buildings) en el área
Las carreteras dentro y alrededor de la ciudad
La localización de escuelas y restaurantes
El tamaño de las construcciones
Estos datos están disponibles a través de OSM, y debe encontrar que el conjunto de datos que ha estado utilizando a lo largo de este manual también se puede usar para esta lección.
Si desea descargar datos de otra área, vaya a Introduction Chapter para leer como hacerlo
Nota
Aunque hay coherencia en los campos de datos que encontramos en las descargas de OSM, pueden variar en su cobertura y detalle. Si ves, por ejemplo, que la región que has elegido no contiene información sobre restaurantes, quizás necesitas elegir otra región.
6.2.4. Follow Along: Comenzar un Proyecto y obtener los Datos
Primero necesitamos cargar los datos para trabajar con ellos.
Inicia un nuevo proyecto QGIS
Si quieres, puedes añadir un mapa de fondo. Abre el Explorador y carga el mapa OSM de fondo en el menú XYZ Tiles.
En la base de datos Geopackage
training_data.gpkg
, Encontrará la mayoría de los conjuntos de datos que utilizaremos en este capítulo:buildings
roads
restaurants
schools
Cárgalos, y además
landuse.sqlite
.Zoom a la extensión de la capa para ver Swellendam, Sudáfrica
Antes de proceder filtraremos la capa roads, para tener solo unos tipos específicos de carreteras con las que trabajar.
Algunas carreteras en los conjuntos de datos OSM son listados como
unclassified
,tracks
,path
yfootway
. Queremos excluirlos de nuestro conjunto de datos y centrarnos en los otros tipos de carreteras, más adecuados para este ejercicio.Además, los datos de OSM pueden no actualizarse en todas partes, y también excluiremos los valores
NULL
.Click derecho en la capa
roads
y elige Filtrar….En el diálogo emergente filtramos estas entidades con la siguiente expresión:
"highway" NOT IN ('footway', 'path', 'unclassified', 'track') AND "highway" IS NOT NULL
La concatenación de los dos operadores
NOT
eIN
excluye todas las entidades que tienen estos valores de atributo en el campohighway
.IS NOT NULL
combinado con el operadorAND
excluye roads sin valor en el campo``highway``.Note el icono al lado de la capa roads. Le ayuda a recordar que esta capa tiene un filtro activado, por lo que algunas entidades pueden no estar disponibles en el proyecto.
El mapa con todos los datos debería verse como el siguiente:
6.2.5. Try Yourself Convertir el SRC de una Capa
Debido a que vamos a medir distancias dentro de nuestras capas, necesitamos cambiar el SRC de las capas. Para hacer esto, debemos seleccionar cada capa una a una, guardar la capa en una nueva con nuestra nueva proyección, y luego importar esa nueva capa en nuestro mapa.
Tienes muchas opciones diferentes, p.ej. puede exportar cada capa como un conjunto de datos en formato Shapefile de ESRI, puede agregar las capas a un archivo GeoPackage existente o puede crear otro archivo GeoPackage y llenarlo con las nuevas capas reproyectadas. Mostraremos la última opción, por lo que training_data.gpkg
permanecerá limpio. Siéntase libre de elegir el mejor flujo de trabajo para usted.
Nota
En este ejemplo, estamos utilizando el SRC WGS 84 / UTM zone 34S, pero debe usar un SRC UTM que sea más apropiado para su región.
Click derecho en la capa roads en el panel Capas
Click en Exportar –> Guardar Objetos Como…
En el diálogo Guardar Capa Vectorial como elija GeoPackage como Formato
Click en … para el Nombre de archivo, y nombra al nuevo GeoPackage
vector_analysis
Cambia el Nombre de la Capa a
roads_34S
Cambia el SRC a WGS 84 / UTM zone 34S
Click en Aceptar:
Esto creará la nueva base de datos GeoPackage y agregará la capa
roads_34S
.Repita este proceso para cada capa, creando una nueva capa en el archivo
vector_analysis.gpkg
GeoPackage con_34S
añadido al nombre original.En macOS, pulse el botón Reemplazar en el cuadro de diálogo que aparece para permitir que QGIS sobrescriba el GeoPackage existente.
Nota
Cuando se elige guardar una capa en un GeoPackage existente, QGIS añadirá esa capa junto a las capas existentes en el GeoPaquete, si no existe ya ninguna capa con el mismo nombre.
Eliminar cada una de las capas antiguas del proyecto
Una vez que haya completado el proceso para todas las capas, haga click con el botón derecho en cualquier capa y haga click en Zoom a la extensión de la capa para enfocar el mapa sobre el área de interés.
Ahora que hemos convertido los datos de OSM en una proyección UTM, podemos comenzar nuestros cálculos.
6.2.6. Follow Along: Analizando el Problema: Distancias a Colegios y Carreteras.
QGIS le permite calcular distancias entre cualquier objeto vectorial.
Compruebe que las capas
roads_34S
ybuildings_34S
está visibles (para simplificar el mapa mientras trabaja)Click en
para abrir el núcleo analítico de QGIS. Basicamente, todos los algoritmos (para análisis vectorial y ráster) están disponibles en esta caja de herramientas.Comenzamos calculando el área alrededor de las
roads_34S
usando el algoritmo:guilabel:Buffer. Puede encontrarlo en el grupo .O puede escribir
buffer
en el buscador de menú en la parte superior de la caja de herramientas:Doble click en él para abrir el diálogo del algoritmo
Selecciona
roads_34S
como Capa de entrada, fija Distancia a 50 y usa los valores por defecto para el resto de parámetros.La Distancia por defecto está en metros porque nuestro conjunto de datos de entrada se encuentra en un Sistema de coordenadas proyectadas que utiliza el medidor como su unidad de medida básica. Puede usar el cuadro combinado para elegir otras unidades proyectadas como kilómetros, yardas, etc.
Nota
Si está intentando crear un búfer en una capa con un Sistema de coordenadas geográficas, el procesamiento le avisará y le sugerirá que vuelva a proyectar la capa a un Sistema de coordenadas métrico.
Por defecto, Proceso crea capas temporales y las agrega al panel Capas. También puede agregar el resultado a la base de datos GeoPackage de la siguiente manera:
Clickando en el botón … y escogiendo Guardar en GeoPackage…
Nombrando la nueva capa
roads_buffer_50m
Guardándola en el archivo
vector_analysis.gpkg
Click en Ejecutar, y entonces cierre el diálogo Buffer
Ahora tu mapa se parece un poco a esto:
Si su nueva capa está en la parte superior de la lista Capas, probablemente oscurecerá gran parte de su mapa, pero esto le proporciona todas las áreas de su región que están dentro de los 50 metros de una carretera.
Tenga en cuenta que hay áreas distintas dentro de su búfer, que corresponden a cada carretera individual. Para deshacerse de este problema:
Desmarque la capa roads_buffer_50m y recree el buffer con Disolver resultados activado.
Guarde la salida como roads_buffer_50m_dissolved
Click en Ejecutar y cierre el diálogo Buffer
Una vez que ha añadido la capa al panel Capas, se parecerá a esto:
Ahora no hay subdivisiones innecesarias.
Nota
La Ayuda breve en el lado derecho del cuadro de diálogo explica cómo funciona el algoritmo. Si necesita más información, simplemente haga click en el botón Ayuda en la parte inferior para abrir una guía más detallada del algoritmo.
6.2.7. Try Yourself Distancia a escuelas.
Usa el mismo enfoque que anteriormente y crea un buffer para tus colegios.
Tendrá un radio de 1 km
. Guarde la nueva capa en el archivo vector_analysis.gpkg
como schools_buffer_1km_dissolved
.
Respuesta
Su diálogo de búfer debería verse así:
La Buffer distance es 1 kilómetro.
El valor de Segments to approximate se establece en 20. Esto es opcional, pero se recomienda, porque hace que los búferes de salida se vean más fluidos. Compara esto:
A esto:
La primera imagen muestra el búfer con el valor de Segments to approximate establecido en 5 y la segunda muestra el valor establecido en 20. En nuestro ejemplo, la diferencia es sutil, pero puede ver que los bordes del búfer son más suaves con el valor más alto.
6.2.8. Follow Along: Áreas que se solapan.
Ahora hemos identificado áreas donde la carretera está a menos de 50 metros y áreas donde hay una escuela dentro de 1 km (línea recta, no por carretera). Pero obviamente, solo queremos las áreas donde se satisfacen ambos criterios. Para hacer eso, necesitaremos usar la herramienta Intersección. Puede encontrarlo en el grupo en Caja de Herramientas de Procesos.
Utilice como las dos capas de búfer la capa de entrada y capa superpuesta, elige el GeoPackage
vector_analysis.gpkg
en Intersección con nombre de la caparoad_school_buffers_intersect
. Deja el resto como se sugiere (por defecto).Haz click en Ejecutar.
En la imagen de abajo, las áreas azules son donde se cumplen los dos criterios de distancia.
Usted puede borrar las dos capas buffer y solo mantener la que muestra la superposición, dado que eso era lo que queriamos conocer en primer lugar:
6.2.9. Follow Along: Extraer las Construcciones
Ahora tienes el área a la que las construcciones deben superponerse. A continuación, desea extraer las construcciones en esa área.
Busca la entrada de menú
dentro de la Caja de Herramientas de ProcesosSeleccione
buildings_34S
en Extraer objetos de. Marque intersecan en Donde los objetos (predicado geométrico), seleccione la capa de intersección del búfer en Comparando los objetos de. Guarde en el archivovector_analysis.gpkg
, y nombre la capawell_located_houses
.Click en Ejecutar y cierre el diálogo
Probablemente encontrará que no parece haber cambiado mucho. Si es así, mueva la capa well_located_houses a la parte superior de la lista de capas, luego amplíe.
Los edificios rojos son los que coinciden con nuestros criterios, mientras que los edificios en verde son los que no.
Ahora tiene dos capas separadas y puede eliminar
buildings_34S
de la lista de capas.
6.2.10. Try Yourself Filtrado adicional de nuestros Edificios
Ahora tenemos una capa que nos muestra los edificios en un radio de 1km de una escuela y a menos de 50m de una carretera. Ahora tenemos que reducir la selección para que sólo nos muestre los edificios que están a menos de 500 metros de un restaurante.
Usando los procesos descritos anteriormente, cree una nueva capa llamada C que filtre aún más su capa well_located_houses para mostrar solo aquellos que están dentro de 500m de un restaurante.
Respuesta
Para crear la nueva capa houses_restaurants_500m, pasamos por un proceso de dos pasos:
Primero, cree una zona de influencia de 500 m alrededor de los restaurantes y agregue la capa al mapa:
A continuación, extraiga edificios dentro de esa área de amortiguamiento:
Su mapa ahora debería mostrar solo aquellos edificios que se encuentran dentro de los 50 m de una carretera, 1 km de una escuela y 500 m de un restaurante:
6.2.11. Follow Along: Seleccionar las Construcciones de Tamaño Adecuado
Para ver qué edificios son del tamaño correcto (más de 100 metros cuadrados), necesitamos calcular su tamaño.
Seleccione la capa houses_restaurants_500m y abra la Calculadora de campo haciendo click en el botón Abrir calculadora de campo en la barra de herramientas principal o en la ventana de la tabla de atributos
Seleccione Crear un nuevo campo, establezca Nombre del campo de salida en
AREA
, elija Número decimal (real) como Tipo de campo de salida, y elija$area
del grupo .El nuevo campo
AREA
contendrá el área de cada edificio en metros cuadrados.Click en Aceptar. El campo
AREA
se ha agregado al final de la tabla de atributos.Haga click en el botón Conmutar edición para finalizar la edición y guardar las ediciones cuando se le solicite.
En la pestaña Filtro de objeto del proveedor a
de las propiedades de capa, establezca el"AREA >= 100
.Haz click en Aceptar.
Su mapa ahora solo debería mostrarle aquellos edificios que coinciden con nuestros criterios iniciales y que tienen más de 100 metros cuadrados de tamaño.
6.2.12. Try Yourself
Guarde su solución como una nueva capa, utilizando el enfoque que aprendió anteriormente para hacerlo. El archivo debe guardarse dentro de la misma base de datos GeoPackage, con el nombre solution
.
6.2.13. In Conclusion
Utilizando el enfoque de resolución de problemas SIG junto con las herramientas de análisis de vectores QGIS, pudo resolver un problema con múltiples criterios de forma rápida y fácil.
6.2.14. What’s Next?
En la próxima lección, veremos cómo calcular la distancia más corta a lo largo de las carreteras de un punto a otro.