También se puede proceder al análisis de datos vectoriales para saber cómo los distintos elementos interactúan entre sí en el espacio. Hay muchas funciones relacionadas con el análisis en SIG, así que no nos detendremos en todas ellas. En su lugar, plantearemos una pregunta e intentaremos resolverla utilizando las herramientas proporcionadas por QGIS.
El objetivo de esta lección: Plantear una pregunta y contestarla utilizando las herramientas de análisis.
Antes de comenzar, sería de utilidad conocer de manera general los pasos que podemos seguir para resolver cualquier problema SIG. Lo que debemos hacer es lo siguiente:
Plantear el problema
Obtener los datos
Analizar el problema
Presentar los resultados
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:
Es necesario que esté en Swellendam.
Debe haber un colegio al que se pueda acceder en coche en un tiempo razonable (digamos una distancia de 1 km).
Debe tener un tamaño superior a los 100m cuadrados.
Debe haber duna carretera principal a una distancia inferior de 50m.
Debe haber un restaurante a una distancia inferior de 500m.
Para resolver todas estas preguntas, vamos a necesitar los siguientes datos:
Los inmuebles destinados a residencia (edificios) localizados en la zona.
Las carreteras dentro y alrededor del pueblo.
La ubicación de los colegios y restaurantes.
El tamaño de los edificios.
Todos estos datos están disponibles en OSM y debe tener en cuenta que el conjunto de datos que ha estado utilizando a través de este manual también se pueden utilizar para esta lección. Sin embargo, para asegurarnos de que tenemos todos los datos completos, descargaremos de nuevo los datos desde OSM utilizando QGIS instalados en la herramienta de descarga de OSM.
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.
Comienza un nuevo proyecto QGIS.
Guarda los datos como osm_data.osm en tu carpeta exercise_data.
Selecciona osm_data.osm y haz clic en Abrir
En el cuadro de diálogo que aparece, selecciona todas las capas, excepto las capas other_relations y multilinestrings:
Esto hará que los datos OSM se importen en su mapa como capas separadas.
Los datos que acabas de descargar desde OSM se encuentran en un sistema de coordenadas, WGS84, que utiliza coordenadas de latitud y longitud, como ya vimos en la lección anterior. Asimismo, también aprendiste que para calcular distancias en metros, necesitamos trabajar con un sistema de coordenadas proyectado. Comienza por establecer el sistema de coordenadas de tu proyecto en un SRC adecuado para tus datos, en el caso de Swellendam, WGS 84 / UTM zone 34S:
Abre el cuadro de diálogo Propiedades del Proyecto, selecciona SRC y filtre la lista para encontrar WGS 84 / UTM zone 34S.
Haz clic en OK.
Ahora necesitamos extraer la información que necesitamos del conjunto de datos OSM. Es necesario finalizar con capas representando todas las casas, colegios, restaurantes y carreteras de la región. Esta información se encuentra dentro de la capa multipolygons y se puede extraer utilizando la información en su Tabla de Atributos. Empezaremos con la capa schools.
Haga clic con el botón derecho del ratón en la capa multipolygons en la Lista de Capas y abre la Propiedades de la Capa.
Ve al menú General.
Bajo Subconjunto de objetos espaciales haz clic en el botón [Constructor de consultas] para abrir el cuadro de diálogo Constructor de consultas.
Mira en la lista de Campos de la izquierda de este cuadro de diálogo hasta que veas el campo amenity.
Haz clic sobre él una vez.
Haz clic en el botón Todos que se encuentra bajo la lista Valores:
Ahora necesitamos comunicar a QGIS que solamente nos muestre aquellos polígonos donde el valor de amenity es igual a school.
Haga doble clic sobre la palabra servicios en la lista de Campos.
Vea lo que sucede en el campo guilabel:Expresión de filtrado especifico del proveedor a continuación:
La palabra "amenity" ha aparecido. Para crear el resto de la consulta:
Haz clic en el botón = (bajo Operadores).
Haz doble clic en el valor school en la lista de Valores.
Haz clic en Aceptar dos veces.
Este filtrará las capas OSM multipolygons a solo mostrar las escuelas en la región. Ahora puede:
Cambiar el nombre de la capa filtrada de OSM al de schools e importar de nuevo la capa multipolygons desde osm_data.osm, o
Duplicar la capa filtrada, renombrar la copia, borrar la Query Builder y crea tu nueva consulta en e l:guilabel:Constructor de consultas.
Usando la técnica anterior, utiliza la herramienta Constructor de consultas para extraer los datos que quedan de OSM para crear las siguientes capas:
carreteras ( de la capa de OSM lines)
restaurantes (desde la capa multipolygons de OSM)
casas (desde la capa multipolygons de OSM)
Puede que quieras utilizar de nuevo la capa roads.shp que creaste en lecciones anteriores.
Guarde su mapa bajo exercise_data, as analysis.qgs (este mapa será utilizado en futuros módulos)
En el administrador de archivos de tu sistema operativo, crea una nueva carpeta en exercise_data y llamalá desarrollo_urbano. Aquí es donde guardarás los conjuntos de datos que resultarán de las funciones de análisis.
Algunas de las carreteras en los datos de OSM están listadas como unclassified, tracks, path y footway. Queremos eliminarlas de nuestro conjunto de datos de carreteras.
Abre el Constructor de Consultas para la capa roads, haz clic en Limpiear y crea la siguiente consulta:
"highway" != 'NULL' AND "highway" != 'unclassified' AND "highway" != 'track' AND "highway" != 'path' AND "highway" != 'footway'
Puedes, o bien utilizar la estrategia utilizada anteriormente, haciendo doble clic en los valores y clic en los botones, o bien puedes copiar y pegar el comando que aparece arriba.
Esto debería reducir inmediatamente el número de carreteras en tu mapa:
Como vamos a estar midiendo distancias entre nuestras capas, necesitamos cambiar el SRC de las capas. Para ello, necesitamos seleccionar las capas una por una, guardar la capa a un nuevo shapefile con nuestra nueva proyección y entonces añadir la nueva capa a nuestro mapa.
Nota
En este ejemplo, vamos a usar el SRC WGS 84 / UTM zone 34S, pero puedes utilizar un SRC UTM que sea más apropiado para tu región.
Haz clic derecho sobre la capa carreteras en el panel Capas.
Haz clic en Guardar como...
En el diálogo Guardar capa vectorial como..., elige las siguientes opciones y haz clic en Aceptar (asegurate de que seleccionas Añadir archivo guardado al mapa):
El nuevo shapefile se creará y la capa resultante es añadida a tu mapa.
Nota
Si usted no tiene activado Activar transformación de SRC ‘al vuelo’ o el : guilabel:` Activar automáticamente la reproyección ‘al vuelo’ si las capas tienen diferentes configuración de SRC` (véase la lección anterior), puede ser no pueda ver las nuevas capas que acaba de agregar al mapa. En este caso, puede centrar el mapa en cualquiera de las capas haciendo clic derecho sobre cualquier capa y haga clic derecho en Zum a la extensión de la capa, o simplemente permitir que cualquiera de las opciones mencionadas ‘al vuelo’.
Elimina la capa carreteras vieja.
Repite este proceso para cada capa, creando un nuevo shapefile y una nueva capa añadiendo el apendice “_34S” al nombre original y eliminando cada una de las capas viejas.
Una vez que hayas completado el proceso para cada capa, haz clic derecho sobre cualquiera de las capas y clic en Zum a la extensión de la capa para enfocar el mapa a la zona de interés.
Ahora que hemos convertido los datos OSM a una proyección UTM, podemos empezar nuestros cálculos.
QGIS te permite calcular distancias desde cualquier objeto vectorial.
Asegurate de que solamente las capas carreteras_34S y casas_34S son visibles, para simplificar el mapa mientras trabajas.
Haz clic en la herramienta Vectorial ‣ Herramientas de geoproceso ‣ Buffer(s):
Esto te da un nuevo cuadro de diálogo.
Configúralo así:
La Distancia de buffer es en metros porque nuestros datos de entradas están en un Sistema Proyectado de Coordenadas que usa metros como su unidad básica de medida. Esta es la razón por la que necesitabamos utilizar datos proyectados.
Guarda la capa resultante en exercise_data/desarrollo_inmobiliario/ as carreteras_buffer_50m.shp.
Clic OK y el buffer se creará.
Cuando te pregunte si debe “añadir resultado al TDC”, clic Aceptar. (“TDC” significa “Tabla de Contenidos”, que es lo mismo que la Lista de capas).
Cierra el cuadro de diálogo Buffer(s) .
Ahora tu mapa se parece un poco a esto:
Si tu nueva capa es la primera en la lista Capas, probablemente ocultará una gran parte de tu mapa, pero nos da todas las áreas que están a dentro de una distancia de 50m de una carretera en tu región.
Sin embargo, verás que hay zonas distintas dentro de nuestro buffer, correspondiendo a cada una de las carreteras. Para resolver este problema, elimina la capa y crea el buffer de nuevo utilizando las opciones mostradas aquí:
Toma nota de que ahora está activada la caja Disolver resultados de buffer.
Guarda el resultado con el mismo nombre que utilizaste antes (clic Si cuando te pida permiso para reemplazar el antiguo).
Haz clic en Aceptar y cierra el cuadro de diálogo Buffer(s) de nuevo.
Una vez que le añadas la capa a Layers list, se verá esto:
Ahora no hay subdivisiones innecesarias.
Usa el mismo enfoque que anteriormente y crea un buffer para tus colegios.
Es necesario que sea 1 km en radios, y guardarlo en el directorio habitual como schools_buffer_1km.shp.
:ref:` Comprueba tus resultados <vector-analysis-basic-2>`
Ahora tenemos áreas donde la carretera está a 50 metros y en la que hay un colegio en un espacio de 1 km ( en línea recta, no por la carretera). Pero obviamente, sólo queremos aquellas áreas donde coincidan estos dos criterios Para lo cual, necesitaremos utilizar la herramienta Intersect tool. La puedes encontrar en Vector ‣ Geoprocessing Tools ‣ Intersect. Instalela de la siguiente manera:
Las dos capas de entrada son los dos buffers; la ruta de guardado es la usual y el nombre del archivo es road_school_buffers_intersect.shp. Una vez hecho esto, haga clic en OK y añada la capa a Layers list cuando se le pida.
En la imagen inferior, las áreas en azul muestran donde ambos criterios de distancia coinciden
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:
Ahora que usted conoce el área en que las construcciones se superponen. El proximo paso es seleccionar las construcciones en dicha área.
Seleccione en el menu Vector ‣ Research Tools ‣ Select by location. Un dialogo aparecerá.
Configúralo así:
Seleccione OK, luego Close.
Probablemente encontrará que no mucho ha cambiado. De ser así, mueva la capa school_roads_intersect a la parte más baja de la lista de capas y luego haga un zoom in:
Los edificios destacados en amarillo son aquellos que cumplen nuestros criterios y están seleccionados, mientras que los edificios en verde son los que no. Podemos ahora guardar los edificios seleccionados como una nueva capa.
Haz clic derecho en la capa houses_34S de la Layers list.
Selecciona Guadar Selección como....
Configura el diálogo emergente así:
El nombre del archivo es well_located_houses.shp.
Haz clic en OK.
Ahora tienes la selección como una capa separada y puedes quitar la capa houses_34S.
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, crear una capa llamada houses_restaurants_500m aplicando filtros adicionales a la capa well_located_houses para mostrar sólo aquellos que están a menos de 500 metros de un restaurante.
:ref:` Comprueba tus resultados <vector-analysis-basic-3>`
Para ver que edificios son del tamaño correcto (más de 100 metros cuadrados), primero necesitamos calcular su tamaño.
Abre la tabla de atributos de la capa houses_restaurants_500m.
Entra en el modo de edición y abre la calculadora de campos.
Configúralo así:
Si no puedes encontrar AREA en la lista, intenta crear un nuevo campo como hiciste en la lección previa de este módulo.
Haz clic en OK.
Desplázate a la derecha de la tabla de atributos; tu campo AREA contiene ahora el área en metros cuadrados de todos los edificios de la capa houses_restaurants_500m.
Haga clic en el botón del modo de edición de nuevo para finalizar la edición y guarde los cambios cuando se le pida.
Construya una consulta como hizo anteriormente en esta lección.
Haga clic en Aceptar. Tu mapa debería mostrar aquellos edificios que cumplen los criterios iniciales y aquellos de tamaño superior a 100 metros cuadrados.
Guarda la solución como una nueva capa usando la estrategia que aprendiste anteriormente. El archivo debería ser guardado en el directorio usual con el nombre solution.shp.
Usando la estrategia de resolución de problemas SIG junto con las herramientas de análisis vectorial de QGIS, has sido capaz de resolver un problema con múltiples criterios rápida y fácilmente.
En la siguiente lección veremos como calcular la distancia mas corta de un punto a otro de una carretera.