¿Cómo calcular áreas de influencia en QGIS?

10

Estoy tratando de crear una capa de polígonos que muestre polígonos que correspondan a la tienda más cercana.

Para un conjunto de 30 ubicaciones de tiendas, el resultado debería ser una capa de polígono con 30 entidades, una para cada tienda. Cada característica representará un área donde su tienda correspondiente es la más cercana. Por ejemplo, una dirección dentro del polígono 12 significa que la tienda 12 es la más cercana.

Tengo la capa de ubicaciones de mi tienda y la capa de calles OSM con la columna de velocidad máxima. La capa de polígono resultante debe basarse en la capa de calles OSM y no simplemente en áreas lineales.

La idea es que, dado un conjunto fijo de tiendas y carreteras, la tienda más cercana debe permanecer constante en cualquier punto del mapa. Por lo tanto, espero que la capa de polígono resultante no tenga espacios.

Este video del software Maptitude proporciona un ejemplo perfecto de lo que estoy tratando de lograr (avance rápido a 1:55 del video). Alternativamente, vea la imagen a continuación para ver un ejemplo:

Áreas de maptitud más cercanas al hospital

Para cada hospital, hay un área correspondiente donde cualquier cosa dentro de esa área está más cerca del hospital ubicado dentro de esa área.

¿Cómo puedo replicar esto usando QGIS?

ge0m3try
fuente

Respuestas:

8

el algoritmo grass v.net.alloc puede producir las subredes; puede llamarlo desde la caja de herramientas Procesamiento (probado en QGIS 2.16)

Necesitará una capa de puntos (para instalaciones) y una capa de líneas con costos (ya sea tiempo / longitud). Creará una nueva capa de línea con un campo llamado catagregado, que será la identificación de la instalación más cercana.

Aquí hay un ejemplo basado en la distancia a pie al pub más cercano. Cada segmento de línea se colorea catutilizando colores aleatorios: -

v.net.alloc ejemplo

Tenga en cuenta que a veces las redes de carreteras de dos pubs adyacentes reciben colores muy similares; si los etiqueta, verá que realmente ha funcionado.

En cuanto a obtener polígonos sin huecos como se muestra arriba, estoy perplejo. Si 'extrae nodos' en los resultados y aplica 'Casco convexo' (agrupación por gato), habrá lagunas y superposiciones.

EDITAR

De hecho, puede obtener el resultado deseado. Como sugirió en su comentario, puede hacer lo siguiente ...

  • ejecute Extraer nodos en la salida de v.net.alloc
  • ejecutar polígonos Voronoi en la capa de nodos de extracción
  • Ejecute el búfer de distancia fija para asegurarse de que los polígonos se superpongan (por ejemplo, el búfer en 1 metro)
  • ejecute Disolver en la capa tamponada, usando el campo 'gato'

Aquí está el resultado ... no es perfecto, a veces verás que partes de la red de carreteras se desvían hacia los polígonos vecinos.

ingrese la descripción de la imagen aquí

Hay una 'trampa' en la nueva GUI 2.16 para disolver. Puse el campo, pero pareció disolverlo todo. Debe recordar desmarcar la casilla de verificación 'disolver todo' o se ignorará la configuración del campo.

Steven Kay
fuente
Esto es útil y ciertamente puedo usar el resultado en mi aplicación. Dejaré esto abierto temporalmente para ver si hay una manera de terminar con polígonos. ¿Es posible que usar la herramienta Voroni Polygons de alguna manera ayude?
ge0m3try
un Voronoi en sus instalaciones solo dará una aproximación, basada en la distancia euclidiana "en línea recta" , por lo que efectivamente ignora su red de carreteras.
Steven Kay
Tengo curiosidad por saber si extraería nodos en el resultado v.net.alloc, voroni eso, y luego disolvería los polígonos de votación basados ​​en el identificador único de la instalación. El tamaño del conjunto de datos de carreteras es muy grande, por lo que no podré probar esto rápidamente, pero tal vez mientras tanto haya algunas reflexiones sobre por qué esto puede no funcionar.
ge0m3try
en realidad, tu presentimiento es correcto, solo lo probé.
Steven Kay
2
NOTA IMPORTANTE: Hay algunas molestias con este flujo de trabajo que he descubierto cómo superar. La herramienta de búfer de distancia fija no es necesaria. La Dissolveherramienta SAGA parece ser mucho más rápida que el equivalente QGIS. Y, también parece más rápido dividir la Voronoicapa por catcampo, y luego dissolvecada área por separado. Mergeellos de nuevo juntos. Luego, ejecute GRASS v.cleany elija la herramienta rmduplpara eliminar nodos duplicados. Esto es importante; de ​​lo contrario, otros procesos como el recorte, la unión espacial, no funcionarán correctamente en la capa de voronoi disuelta fusionada.
ge0m3try