Análisis de Sobreposición Multicriterio (QGIS3)

El análisis de sobreposición ponderado multicriterio es el proceso de asignación de áreas en base a una variedad de atributos que las áreas seleccionadas deberían poseer. A pesar de que esta es una operación común en SIG, es mejor realizada en el espacio ráster usando un enfoque basado en cuadrícula (grid).

Nota

Sobreposiciones Vector vs Ráster

Puede hacer análisis de sobreposición sobre capas vector usando herramientas de geoprocesamiento como área de influencia, disolver, diferencia e intersección. Este método es idea si quisiera una respuesta binaria adecuado/no-adecuado y si estuviera trabajando con un puñado de capas.

Trabajar en el espacio raster le da una clasificación de la adecuación - no sólo el sitio más adecuado. También le permite combinar fácilmente cualquier cantidad de capas de entrada y asignar diferentes pesos a cada criterio. En general, éste es el enfoque preferido para conveniencia de sitio.

Este tutorial recorre el flujo de trabajo típico para realizar un análisis de conveniencia de sitio - convirtiendo datos vector fuente a los rasters apropiados, re-clasificándolos y realizando las operaciones matemáticas.

Vista general de la tarea

En este tutorial, identificaremos las áreas convenientes para desarrollo, que son

  • Cercanas a caminos, y

  • Alejadas de cuerpos de agua, y

  • No están en regiones protegidas.

Obtener los datos

Usaremos capas de datos vector de OpenStreetMap (OSM). OSM es una base de datos global de datos de mapa base libremente disponible. Geofabrik provee archivos shape actualizados diariamente de los conjuntos de datos OpenStreetMap.

Estaremos usando las capas de datos OSM para el estado de Assam en India. Los archivos shape de la India de Geofabrik fueron descargados, recortados al límite de estado y empaquetados en un sólo archivo GeoPackage. Puede descargar una copia del geopackage del enlace abajo:

assam.gpkg

Fuente de Datos: [GEOFABRIK]

Procedimiento

  1. Navegue al archivo assam.gpkg descargado en el Navegador QGIS. Expándalo y arrastre cada una de las 5 cadas individuales de datos a la pantalla de mapa. Verá que carga las capas boundary, roads, protected_regions, water_polygons y water_polylines en el panel Capas.

../../_images/1104.png
  1. El primer paso en el análisis de superposición es convertir cada capa de datos en ráster. Una consideración importante es que todos los rásters deben tener la misma extensión. Utilizaremos la capa boundary como extensión para todos los raster. Vaya a Procesamiento ‣ Caja de herramientas. Busque y localice el algoritmo GDAL ‣ Conversión vectorial ‣ Rasterizar (vector a raster). Haga doble clic para ejecutarlo.

../../_images/290.png
  1. En el diálogo Rasterizar (vectorial a ráster), seleccionar roads como la Capa de entrada. Crearemos un ráster de salida donde los valores de píxel son 1 donde haya un camino y 0 donde no haya caminos. Ingrese 1 como el Un valor fijo para quemar. Las capas de entrada están en un SRC proyectado con metros como unidad. Seleccione Unidades georeferencias como las Unidades de tamaño del ráster de salida. Estableceremos la resolución del ráster de salida en 15 metros. Seleccione 15 tanto para la Width/Resolución horizontal como la Height/Resolución vertical. A continuación, clic en el botón junto a Extensión de salida y seleccione boundary para Usar extensión para.

../../_images/340.png
  1. Desplácese más abajo y haga clic en el botón de flecha de la Asignar un valor nodata específico a las bandas de salida.

../../_images/419.png
  1. Ese campo debería estar ahora en Not set. Esto es importante porque cuando la calculadora raster (que usaremos más adelante) encuentra un píxel con valor nodata en cualquier capa, establece la salida a nodata también, lo que resulta en una salida incorrecta.

../../_images/518.png
  1. Desplácese hacia abajo hasta encontrar la Parámetros Avanzados y seleccione el perfil Alta Compresión para aplicar la compresión. Esto generará un archivo raster comprimido de menor tamaño después de ejecutar la herramienta. La aplicación de la compresión sin pérdidas es muy recomendable cuando se trabaja con datos ráster.

../../_images/618.png
  1. Establezca el ráster de salida :guilabel: Rasterizado como raster_roads.tif y haga clic en :guilabel: Ejecutar`.

../../_images/717.png
  1. Una vez que termine el procesamiento, verá una nueva capa raster_roads cargada en el panel Capas. El estilo predeterminado mostrará píxeles con caminos en blanco y otros en negro. También queremos convertir otras 4 capas vectoriales a ráster. En vez de ejecutar el algoritmo rasterizar uno por uno, podemos usar la funcionalidad incorporada de procesamiento por lotes para convertirlos a todos a la vez. Vea el tutorial batch-processing para aprender más acerca del procesamiento por lotes. Clic-derecho al algoritmo Rasterizar (vectorial a ráster) y seleccione Ejecutar como Proceso por Lote.

../../_images/817.png
  1. En el diálogo Proceso por Lote, clic el botón en la primera fila de la columna Capa de entrada. Seleccione las capas boundary, protected_regions, water_polygons y water_polylines y clic en Aceptar.

../../_images/917.png

Nota

Esta opción Parámetros avanzados no está disponible cuando se ejecuta el algoritmo por lotes. Tendrá que repetir los pasos anteriores para todas las capas y omitir los pasos 8 a 12 para aplicar la compresión en todas las salidas :guilabel: Rasterizado.

  1. Llene los parámetros con los mismos valores que usamos en la capa de caminos. Después de llenar la primera fila del parámetro, use el botón Autollenar ‣ Rellenar para agregar los mismos valores para todas las capas.

../../_images/1023.png
  1. En la última columna Rasterized, clic el botón en la primera fila. Seleccione Llenar con valores de parámetros para el Modo autorellenar y Capa de entrada para Parámetro a usar. Clic en Aceptar.

../../_images/1126.png
  1. Navegue a un directorio en su computador y nombre la capa como raster_. El interfaz de procesamiento por lote autocompletará el nombre con el nombre de la capa y llenará todas las filas. Asegúrese que la caja Cargar las capas al completarse esté marcada y clic en Aceptar.

../../_images/1224.png
  1. Una vez que termine el procesamiento, tendrá 4 nuevas capas ráster cargadas en el panel Capas. Notará que tenemos 2 capas relacionadas con agua - ambas representan agua. Podemos fusionarlas para tener una sola capa que representa áreas de agua en la región. Busque y localice el algoritmo menuselection:Análisis ráster –> Calculadora ráster en la Caja de herramientas de Proceso. Doble-clic para iniciarlo.

../../_images/1322.png
  1. Ingrese la siguiente expresión en la caja Expresión. Puede hacer clic en la capa apropiada en la caja Capas para auto insertar los nombres de capas. Esta expresión significa que queremos sumar los valores de píxeles en la primera banda de ambos ráster de agua. Clic en el botón junto a Capa(s) de referencia y seleccion raster_water_polygons como la capa de referencia. Nombre a la salida como raster_water_merged.tif y clic en Ejecutar.

"raster_water_polygons@1" + "raster_water_polylines@1"
../../_images/1420.png
  1. El ráster resultante fusionado tendrá píxeles con valor 1 para todas las áreas con agua. Pero notará que hay algunas regiones donde había tanto un polígono de agua como una polilínea agua. Esas áreas tendrán píxeles con valor 2 - lo que no es correcto. Podemos corregir esto con una expresión simple. Abra de nuevo el algoritmo Análisis ráster ‣ Calculadora ráster.

../../_images/1519.png
  1. Ingrese la siguiente expresión que asignará el valor 1 que coincide la expresión y 0 donde no coincide. Clic el botón guilabel: junto a Capa(s) de referencia y seleccione la capa raster_water_merged. Nombre la salida como raster_water.tif y clic en Ejecutar.

"raster_water_merged@1" > 0
../../_images/1618.png
  1. La capa resultante raster_water ahora tiene píxeles con sólo valores 0 y 1.

../../_images/1719.png
  1. Ahora tenermos capas que representan píxeles camino y agua, podemos generar rásters de proximidad. Estos son también conocidos como distancias Euclideanas - donde cada píxel en el ráster de salida representa la distancia al píxel más cercano en el ráster de entrada. Este ráster resultante luego puede ser usado para determinar áreas apropiadas que están dentro de cierta distancia de la entrada. Busque y localice el algoritmo GDAL ‣ Análisis ráster ‣ Proximidad (distancia ráster). Doble-clic para iniciarlo.

../../_images/1817.png
  1. En el cuadro de diálogo :guilabel: Proximidad (Distancia Raster), seleccione raster_roads como :guilabel: Capa de entrada. Seleccione Coordenadas georreferenciadas como Unidades de distancia. Como las capas de entrada están en un SRC proyectado con metros como unidades, introduzca 5000 (5 kilómetros) como Distancia máxima a generar`. Asegúrese de que el valor de Nodata a utilizar para el ráster de proximidad de destino es Not set.

../../_images/1914.png
  1. Puede expandir la etiqueta :guilabel: Parámetros Avanzados y seleccionar el perfil Alta Compresión para aplicar la compresión. Asigne al archivo de salida el nombre roads_proximity.tif y haga clic en Ejecutar.

../../_images/2014.png

Nota

Este proceso puede tardar hasta 15 minutos en ejecutarse. Se trata de un algoritmo de cálculo intensivo que necesita calcular la distancia de cada píxel de la trama de entrada, y nuestra entrada contiene más de mil millones de píxeles.

  1. Una vez que se complete el procesamiento, se agregará una nueva capa roads_proximity al panel Capas. Para visualizarla mejor, cambiemos el estilo predeterminado. Clic en el botón Abrir el panel de Estilo de Capa en el panel Capas. Cambie el valor Max a 5000 bajo Gradiente de color.

../../_images/2118.png
  1. Repita el algoritmo Proximidad (Distancia de Ráster) para la capa raster_water con los mismos parámetros y nombre la salida como water_proximity.tif.

../../_images/2216.png
  1. Una vez que finalice el procesamiento, puede aplicar el estilo similar como antes para visualizar mejor los resultados. Si hace clic por ahí en la capa resultante, verá que es un continuo de valores de 0 a 5000. Para usar este ráster en un análisis de sobreposición, debemos primero reclasificarlo para crear valores discretos. Abra de nuevo el algoritmo Análisis ráster ‣ Calculadora ráster.

../../_images/2314.png
  1. Queremos dar un puntaje mayor a píxeles que están cerca de caminos. Así que usemos el siguiente esquema.

  • 0-1000m –> 100

  • 1000-5000m –> 50

  • >5000m –> 10

    Ingrese la siguiente expresión que aplica el criterio de arriba en la entrada. Clic en el botón junto a Capa(s) de referencia y seleccione la capa roads_proximity. Nombre la salida como roads_reclass.tif y clic Ejecutar.

    100*("roads_proximity@1"<=1000) + 50*("roads_proximity@1">1000)*("roads_proximity@1"<=5000) + 10*("roads_proximity@1">5000)
    
    ../../_images/2413.png
  1. Una vez que finalice el proceso de reclasificación, se agregará una nueva capa roads_reclass al panel Capas. Esta capa sólo tiene 3 valores diferentes, 10, 50 y 100 que indican la conveniencia relativa de los píxeles con respecto a la distancia de los caminos. Abra de nuevo el algoritmo Análisis ráster ‣ Calculadora ráster.

../../_images/2512.png
  1. Repita el proceso de reclasificación para la capa water_proximity. Aquí el esquema será a la inversa, donde los píxeles que están más lejos del agua deberían tener un puntaje mayor.

  • 0-1000m –> 10

  • 1000 -5000m —> 50

  • >5000m –> 100

    Ingrese la siguiente expresión que aplica los criterios de arriba en la entrada. Clic el botón junto a Capa(s) de referencia y seleccione la capa water_proximity. Nombre la salida como water_reclass.tif y clic en Ejecutar.

    100*("water_proximity@1">5000) + 50*("water_proximity@1">1000)*("water_proximity@1"<=5000) + 10*("water_proximity@1"<1000)
    
    ../../_images/2612.png
  1. Ahora estamos listos para hacer el análisis final de sobreposición. Recuerde que nuestros criterios para determinar sostenibilidad es como sigue - cerca a caminos, lejos de agua y fuera de una región protegida. Abra Análisis ráster ‣ Calculadora ráster. Ingrese la siguiente expresión que aplica estos criterios. Note que estamos multiplicando el resultado con raster_boundary@1 al final para descartar los valores de píxel fuera del límite del estado. Clic en el botón junto a Capa(s) de referencia y seleccione raster_boundary. Nombre la salida como overlay.tif y clic en Ejecutar.

("roads_reclass@1" + "water_reclass@1")*("raster_protected_regions@1"  !=  1 )*"raster_boundary@1"
../../_images/2712.png

Nota

En este ejemplo, estamos dando peso igual tanto a proximidad de camino como agua. En un escenario de la vida real, puede tener múltiples criterios con diferente importancia. Puede simular eso multiplicando los rásters con pesos apropiados en la expresión de arriba. Por ejemplo, si la proximidad a caminos es dos veces más importante que la proximidad a agua, puede multiplicar el ráster roads_reclass por 2 en la expresión de arriba.

  1. Una vez que termine el proceso, el ráster resultante overlay se agregará al panel Capas. Los valores de píxel en este ráster van del 0 a 200 - donde 0 es el área menos apropiada y 200 es la más apropiada para desarrollo. Clic en el botón Abrir el panel de Estilo de Capa en el panel Capas.

../../_images/2812.png
  1. Seleccione el representador pseudocolor_banda_única y la rampa de color Espectral. Clic Clasificar para aplicar la rampa de color al ráster.

../../_images/2911.png
  1. Clic en los valores predeterminados de etiqueta junto a cada color e ingrese las etiquetas apropiadas. Las etiquetas también aparecerán como la leyenda bajo la capa overlay.

../../_images/3011.png
  1. Las capas ráster son cuadrículas rectangulares. Queremos esconder los píxeles fuera de los límites del estado. Una manera fácil de alcanzar esto es aplicando unos Polígonos Invertidos representados en la capa vector de límite. Deslice hacia abajo en el panel Capas y ubique la capa boundary. Seleccione Polígonos Invertidos como el representador y deje las otras opciones predeterminadas.

../../_images/3115.png
  1. Para que se muestre el efecto del representador, es necesario estar en la parte de arriba de la Tabla de Contenido. Haga clic-derecho a la capa boundary y seleccione Mover al Tope.

../../_images/3211.png
  1. Marque la capa y la pantalla de mapa se actualizará para mostrar el ráster overlay recortado a la capa boundary. Esta es la salida final que muestra áreas dentro del estado que son apropiadas para desarrollo.

../../_images/3310.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)