Polígonos Voronoi restringidos QGIS

9

Tengo un archivo de formas de polígonos, que son efectivamente fronteras de una unidad geográfica (considere como ejemplo los 50 estados de EE. UU., Cada estado tiene dentro de sí un cierto número de puntos).

Me gustaría crear polígonos Voronoi a partir de los puntos , con la advertencia de que las fronteras estatales limitan efectivamente los polígonos Voronoi creados a partir de los puntos dentro de ese estado.

La forma intensiva de mano de obra para hacer esto sería crear 50 archivos de forma individuales para cada estado, crear polígonos Voronoi dentro de cada uno, luego fusionarlos manualmente nuevamente.

¿Hay una manera más fácil de hacer esto, idealmente en QGIS (estoy usando 2.18 en Mac) ?

Steven
fuente
1
¿Por qué no crear polígonos de Voronoi para la capa de puntos completa y luego intersecar el resultado con la capa límite geográfica?
csk
Solo para aclarar, ¿puede un estado tener muchos puntos?
firefly-orange
Relacionado con: gis.stackexchange.com/questions/144210/…
underdark

Respuestas:

3

Es un proceso de varios pasos, por lo que debe crear un modelo o script personalizado. Para evitar astillas de polígonos que pertenecen a puntos de polígono vecinos, deberá iterar a través de su capa de estados. Al trabajar con polígonos de estado y un conjunto de puntos aleatorios, pasaré por el proceso para que pueda comprender lo que está sucediendo dentro de nuestro modelo.

puntos de estado

Dentro del modelo

  1. Extraer por ubicación
    • Extraer características de: points_layer
    • Donde las características: intersect
    • Al comparar con las características de: polygons_layer

extractos estatales de puntos

  1. Polígonos Voronoi
    • Capa de entrada: 'Extracted (location)' from algorithm 'Extract by location'
    • Región de amortiguación: 500(Parece excesivo, pero queremos asegurarnos de que sus polígonos Voronoi cubran completamente el estado en el que se encuentran. Dado que recortaremos esta capa en el siguiente paso, no importa cuán grande lo hagamos).
    • Algoritmos principales: Extract by location

voronoi por estado

  1. Acortar
    • Capa de entrada: 'Voronoi polygons' from algorithm 'Voronoi polygons'
    • Capa de recubrimiento: polygons_layer
    • Cortado: output
    • Algoritmos principales: Extract by locationyVoronoi polygons

cortado

Como puede ver, tenemos nuestros polígonos Voronoi con restricciones de estado en los que los puntos de los estados vecinos no afectan su disposición.

Aquí hay una imagen del modelo:

modelo de procesamiento

La imagen no transmite esto, pero tenga en cuenta que la entrada de capa de polígono del modelo es un Vector Featuresobjeto, no un Vector Layer.

Ejecutando el modelo

Cuando vaya a ejecutar su modelo, es vital que haga clic en el icono para recorrer las características de su capa de Estados.

opción iterar

Una vez que haya ejecutado el modelo, simplemente puede ejecutar Combinar capas de vectores en las salidas para obtener una salida de una sola capa, si eso es importante para usted. Desafortunadamente, no conozco una manera fácil de combinar múltiples salidas de modelo dentro del modelo mismo (por favor, alguien me corrija si hay algo).

Si se siente cómodo con Python, puede modificar fácilmente el script exportado de este modelo para manejar ese paso adicional. Sin embargo, como no mencionó las soluciones basadas en código en su pregunta, lo dejaré fuera.

JoshC
fuente
1
Funcionó perfectamente! Estoy sorprendido, me golpeé la cabeza unas horas sobre el mismo problema y acabo de replicar su modelo y obtener los resultados desde el principio. Te debo una cerveza.
sys49152
1

De manera similar a la respuesta que @csk le dio, podría probar estas dos alternativas:

1- Incluir nodos de polígonos de estado en la herramienta Voronoi.

  • Nodos de la capa de Estados (Usar nodos de extracción).
  • Fusionar puntos y nodos.

ingrese la descripción de la imagen aquí - Herramienta Voronoi con puntos y nodos.

ingrese la descripción de la imagen aquí

  • El último paso es recortar sus polos de Voronoi con la capa de Estados (si lo necesita).

    2- Use Voronoi directamente sobre la capa de Punto usando el buffer para "expandir" a la extensión de Estado completo.

ingrese la descripción de la imagen aquí

  • Clip con capa de estado.

Como ves, obtendrás resultados diferentes. Depende de lo que estés buscando.

César Arquero
fuente