Skip to content

Instantly share code, notes, and snippets.

@LuisSevillano
Last active March 7, 2018 16:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save LuisSevillano/ef30303be5b60fd99622e54db4e6db26 to your computer and use it in GitHub Desktop.
Save LuisSevillano/ef30303be5b60fd99622e54db4e6db26 to your computer and use it in GitHub Desktop.
Funcionalidades básicas de QGIS (II)

Este tutorial contempla únicamente el manejo de archivos de tipo vectorial (no se van a tratar archivos de tipo raster).

Funcionalidades básicas de QGIS (II)

Herramientas de geoproceso y análisis vectorial

A lo largo de este taller vamos a conocer algunas de las Herramientas de geoproceso que nos permiten manipular archivos de tipo vectorial. Este conjunto de herramientas se encuentran en la pestaña Vectorial.

Para cualquier cálculo y operación entre dos o más archivos es fundamental que se encuentren bajo el mismo sistema de referencia de coordenadas.

  • Intersección: devuelve un nuevo conjunto de datos con el área en común entre los archivos que han participado en el proceso.

  • Diferencia asimétrica: proceso inverso a Intersección.

  • Unión: nos permite combinar y unir dos o más shapefiles.

  • Dissolve (Disolver): crea nuevas unidades geoespaciales disolviendo los límites entre las mismas. Podríamos obtener el contorno de la ciudad de Bilbao desde un shapefile de sus barrios. En este caso disolveríamos todos los polígonos y nos quedaría uno solo, el contorno.

    dissolve

    Esta herramienta también nos permite crear nuevos conjuntos de datos en base a un atributo común. Por ejemplo, partiendo del shapefile de secciones censales y a partir del campo que contenga el código de barrio, podríamos obtener un nuevo shapefile de los barrios disolviendo los límites entre aquellos polígonos cuyo código de barrio fuera común.

    Para una tabla de atributos con los campos:

    • código sección censal
    • código distrito
    • nombre distrito
    • etc.

    Podríamos obtener un shapefile de los distritos uniendo (disolviendo los límites entre) todos aquellos que compartan el mismo id de distrito.

    dissolve-example

  • Diferencia: ofrece la posibilidad de generar un nuevo conjunto de datos con los polígonos que no se encuentren comprendido entre dos capas.

    diff

  • Búfer de distancia fija (zona de influencia): genera una nueva capa con un perímetro alrededor de una entidad en base a los parámetros establecidos. Tienen muchas aplicaciones como la protección de la naturaleza o la gestión de ruidos en carretera. Nos puede servir para conocer las entidades que se pueden ver afectadas por una nueva obra, contaminación, etc.

    buffer

  • Cortar: utiliza un shapefile como capa de corte y genera uno nuevo. Hemos de tener en cuenta que no siempre vamos a tener atributos lo suficientemente precisos como para poder filtrar en base a ellos. Tendremos que basarnos en herramientas de este tipo para realizar cálculos o simplemente para generar nuevos polígonos en el contexto del desarrollo de un basemap para un mapa.

    clip

Ejercicio I

Vamos a realizar un mapa de la Isla de Ibiza y de Formentera. Utilizaremos los extractos de Open Street Maps de geofabrik para carreteras y usos del suelo.

  • Filtramos desde la capa de municipios extraída del Centro de descargas del Instituto Geográfico Nacional para obtener un shapefile de Ibiza y Formentera. Utilizando la herramienta de identificación elegimos un campo que nos permita aislar las dos islas.

  • Lo guardamos en una nueva capa con el sistema de coordenadas WGS84. Eliminamos la capa anterior.

  • Ahora vamos a utilizar la herramienta Dissolve para crear una nueva capa del contorno. Esta capa será la que nos va a ayudar a cortar el resto de capas.

    Posible caso practico: establecer un perímetro alrededor de un espacio natural protegido de 1 km. Una zona en la que no se podrán realizar nuevas construcciones.

  • Vamos a cargar la capa: Red Natura 2000 del Mapama, una red ecológica europea de áreas de conservación de la biodiversidad. Una vez añadida la capa filtramos hasta quedarnos con la zona protegida Serra Grossa.

  • Creamos un perímetro alrededor del parque con la herramienta buffer. Requiere un parámetro Distancia que utiliza la medida estandar de 100 km. En este caso utilizaremos la medida 0,001 (50m).

  • Cargamos la capa buildings.shp, un extracto de Open Street Maps con un corte (con la herramienta clip) previo para contener tan sólo los edificios de las Islas Baleares.

  • Vamos a utilizar la herramienta cortar o clip para obtener una capa de los edificios de Ibiza y Formentera.
    Podemos cortar capas indidualmente. También existe la opción Procesamiento por lotes dentro del menú cortar que nos permite ejecutar este proceso sobre más de una capa de manera simultánea. Guardamos la nueva capa.

    Ahora avancemos en el tiempo e imaginemos que la capa de buildings contiene edificios construidos entre el año 1900 y 2020, contiene edificios construídos con posterioridad a la declaración de este espacio como protegido (Datos ficticios 😚). También podríamos datos reales del catastro.

    Vamos a utilizar la herramienta intersección para conocer qué edificios se han construido en Serra Grossa o en sus inmediaciones (actuaremos sobre búffer y buildings). Estas dos capas no comparten el mismo sistema de coordenadas por lo que deberemos crear una copia de la capa búffer en WGS84.

    Con este paso obtenemos una capa donde sólo se encuentran los edificios construídos en el interior de la zona protegida o sus perímetro.

  • Vamos a utilizar otra opción de QGIS que es Seleccionar objetos espaciales usando una expresión. En el constructor de consultas escribimos una expresión para seleccionar sólo aquellos edificios consturidos después de 2015. Queremos conocer de entre esos edificios cuáles se construyeron con posterioridad a la declaración de este lugar como zona protegida. Pulsamos sobre Seleccionar objetos espaciales usando una expresión "year" >= 2017 Después guardaremos una nueva capa asegurándonos de marcar la opción Guardar sólo los objetos espaciales seleccionados.

Ejercicio II

En este ejercicio vamos a realizar un mapa sobre el acceso al metro por secciones censales en la Comunidad de Madrid.

  • Abrimos la capa secciones censales (SECC_CPV_E_20111101_01_R_INE.shp) descargada del INE cuya codificación es System. Utilizamos la herramienta filtrar para obtener las secciones censales de la Comunidad de Madrid y guardamos esta nueva capa en ETRS89 / UTM zone 30N (EPSG: 25830). Eliminamos la capa original.

  • Descargamos las capas correspondientes a Metro y Metro Ligero de la Comunidad de Madrid en formato GPX desde el Portal de datos abiertos del Ayuntamiento de Madrid (guardamos las capas directamente desde el navegador en formato XML).

    Añadimos estas dos capas como capas vectoriales y cuando QGIS pregunte qué capas queremos añadir, seleccionamos waypoints.

    Utilizamos la herramienta Unión para mergear estos dos archivos y obtener uno sólo.

    Proyectamos esta nueva capa a ETRS89 / UTM zone 30N creando una copia de la misma en Guardar como.... Eliminamos la capa anterior.

  • Vamos a crear un buffer alrededor de cada estación de Metro. Vectorial → Herramientas de geoproceso → Búffer de distancia fija. Especificamos la capa (Metro) y en el parámetro distancia introducidos un valor de 300 (metros). Seleccionamos la opción Resultado de disolver.

  • Con la herramienta intersección vamos a crear una nueva capa con las secciones censales que se encuentran incluidas en el buffer.

    • Como capa de entrada seleccionamos las secciones censales y
    • Como capa de intersección la capa generada con el buffer.

    No es necesario crear una nueva capa (podemos dejar la opción [Create temporary layer]).

  • Vamos a calcular el área de cada sección censal afectada por el buffer. Sobre la capa Interseccion. Abrimos la calculadora de campos, creamos un nuevo campo de tipo decimal (real) de longitud 20 y precisión 5 llamado área y en la expresión utilizamos el campo de geometría $area.

  • A continuación vamos a cruzar la capa de secciones censales con la de intersección mediante el campo OBJECTID. Creamos una unión desde el panel de propiedades de la capa secciones censales. Seleccionamos que el campo que queremos unir es area. En la opción Elija qué campos se unen seleccionamos exclusivamente el campo area recién creado.

  • Creamos un nuevo campo en secciones censales llamado acceso dividiendo el campo interseccion_area entre "Shape_area". Así obtenemos el área de cada sección censal que se encuentra dentro del buffer. De esta manera podemos hacer un calculo aproximado del acceso de los ciudadanos al servicio del metro.

  • Aquellas celdas que no se han visto afectadas por el buffer tendrán un valor NULL. Podemos utilizar la opción Seleccionar entidades usando una expresión. Introducimos el nombre del campo creado anteriormente (acceso):

      "acceso" IS NULL
    

    selected

  • El siguiente paso será asignar un valor 0 a los polígonos seleccionados. Abrimos la calculadora de campos y seleccionamos la opcion actuar sobre polígonos seleccionados. En lugar de crear un campo nuevo lo actualizamos, seleccionamos el campo (acceso) en el desplegable y en la expresión introducimos 0. Estamos actuando de la siguiente manera: en todos aquellos campos donde acceso tiene por valor NULL añade el valor 0.

    Deseleccionamos los polígonos con la opción Deseleccionar objetos especiales de todas las capas.

  • A continuación sólo tenemos que entrar en propiedades de capa y añadir una escala de color a estos valores.

    En propiedades de la capa y la pestaña estilo elegimos Graduado. Podemos utilizar modo de color Rupturas de color (Jenks).

    Podemos Añadir una nueva clase con valor 0 para colorear de un color diferente aquellas secciones censales con un acceso al metro de más de 300 metros.

Opcional
  • Si queremos conocer qué municipios de la Comunidad de Madrid tienen metro podemos utilizar la herramienta Unir atributos por localización que se encuentra en el panel VectorialHerramientas de gestión de datos.

  • Utilizando como capa vectorial objetivo la capa de municipios recintos_municipales_inspire_peninbal_etrs89 del Centro de descargas del Instituto Geográfico Nacional convenientemente proyectada a ETRS89 / UTM zone 30N y como capa vectorial de unión la que contiene las paradas de metro seleccionamos como Predicado geométrico la opción contiene.

  • El resultado será una nueva capa que contendrá tan sólo aquellos municipios cuyo polígono contiene al menos una parada de metro.

selected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment