Polígonos de Voronoi restritos QGIS


9

Eu tenho um arquivo de forma de polígonos, que são efetivamente bordas de uma unidade geográfica (considere como um exemplo os 50 estados americanos, cada estado possui um número de pontos).

Eu gostaria de criar polígonos Voronoi a partir dos pontos , com a ressalva de que as fronteiras do estado restringem efetivamente os polígonos Voronoi criados a partir dos pontos dentro desse estado.

A maneira mais trabalhosa de fazer isso seria criar 50 arquivos de forma individuais para cada estado, criar polígonos Voronoi em cada um deles e depois juntá-los manualmente.

Existe uma maneira mais fácil de fazer isso, idealmente no QGIS (estou usando o 2.18 no Mac) ?


1
Por que não criar polígonos de Voronoi para toda a camada de pontos e depois interceptar o resultado com a camada limite geográfica?
CSK

Apenas para esclarecer, um estado pode ter muitos pontos?
Firefly-orange #

Respostas:


3

É um processo de várias etapas, portanto, você deve criar um modelo ou script personalizado. Para evitar lascas de polígonos que pertencem a pontos de polígono vizinhos, você precisará percorrer a camada de estados. Trabalhando com polígonos de estado e um conjunto de pontos aleatórios, analisarei o processo para que você possa entender o que está acontecendo dentro do nosso modelo.

pontos de estado

Por dentro do modelo

  1. Extrair por local
    • Extrair recursos de: points_layer
    • Onde os recursos: intersect
    • Comparando com os recursos de: polygons_layer

extratos estaduais de pontos

  1. Polígonos de Voronoi
    • Camada de entrada: 'Extracted (location)' from algorithm 'Extract by location'
    • Região do buffer: 500(parece excessivo, mas queremos garantir que seus polígonos Voronoi cubram completamente o estado em que estão. Como cortamos essa camada na próxima etapa, é irrelevante o tamanho que fazemos).
    • Algoritmos principais: Extract by location

voronoi por estado

  1. Grampo
    • Camada de entrada: 'Voronoi polygons' from algorithm 'Voronoi polygons'
    • Camada de sobreposição: polygons_layer
    • Recortado: output
    • Algoritmos pais: Extract by locationeVoronoi polygons

cortada

Como você pode ver, temos nossos polígonos de Voronoi com restrição de estado nos quais pontos de estados vizinhos não afetam seu arranjo.

Aqui está uma imagem do modelo:

modelo de processamento

A imagem não transmite isso, mas observe que a entrada da camada de polígono do modelo é um Vector Featuresobjeto, não um Vector Layer.

Executando o modelo

Quando você executa seu modelo, é vital que você clique no ícone para percorrer os recursos da camada Estados.

opção de iteração

Depois de executar o modelo, você pode simplesmente executar a mesclagem de camadas vetoriais nas saídas para obter uma saída de camada única, se isso for importante para você. Infelizmente, não conheço uma maneira fácil de mesclar várias saídas de modelo no próprio modelo (por favor, alguém me corrija se houver algo).

Se você estiver familiarizado com o Python, poderá modificar facilmente o script exportado desse modelo para lidar com essa etapa adicional. Como você não mencionou soluções baseadas em código em sua pergunta, deixarei isso de fora.


1
Funcionou perfeitamente! Estou surpreso, eu estava batendo a cabeça algumas horas com o mesmo problema e acabei de replicar seu modelo e obter os resultados primeiro. Eu lhe devo uma cerveja.
sys49152 4/02

1

Da mesma forma que a resposta que o @csk lhe deu, você pode tentar estas duas alternativas:

1- Incluir nós de polígonos de estado na ferramenta Voronoi.

  • Nós da camada Estados (Usar nós de extração).
  • Mesclar pontos e nós.

insira a descrição da imagem aqui - Ferramenta Voronoi com pontos e nós.

insira a descrição da imagem aqui

  • O último passo é cortar seus polos Voronoi com a camada States (se você precisar).

    2- Use o Voronoi diretamente sobre a camada Point usando o buffer para "expandi-los" para a extensão total do estado.

insira a descrição da imagem aqui

  • Clipe com camada de estado.

Como você vê, você obterá resultados diferentes. Depende do que você está procurando.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.