Convertendo conjuntos de pontos em limites de polígonos?


27

Estou tentando converter conjuntos de pontos em seus respectivos limites poligonais. Eu acho que isso é algo como um diagrama de Voronoi ou Convex Hull, mas não exatamente. Tenho certeza de que existe um termo técnico para isso, mas sou iniciante no GIS.

Provavelmente é melhor ilustrado com a seguinte imagem:

insira a descrição da imagem aqui

Portanto, dados quatro conjuntos de pontos (cada um na sua cor), quais são os quatro polígonos que cercam cada um dos respectivos conjuntos, de modo que o espaçamento entre os polígonos maximize as margens e todos os polígonos se reúnam?

Aqui está um exemplo simplificado com 3 pontos:

  • A, 43.656943, -79.393928, azul
  • B, 43.66663, -79.402682, verde
  • C, 43.656447, -79.408004, verde

Você precisará visualizar o seguinte gráfico para que faça sentido: insira a descrição da imagem aqui

Essencialmente, cada ponto tem uma cor e você expande um buffer de uma certa distância para começar.

A parte mais difícil é quando há uma colisão com outros pontos (seus limites) e onde calcular esse limite. O resultado é um conjunto de polígonos (um para cada cor / conjunto).


1
Você pode postar alguns dados de amostra? Dessa forma, poderíamos testar soluções :)
RK

Eu adicionei um exemplo acima. Espero que ajude.
DFx

possível duplicata de polígonos Thiessen no QGIS
blah238

1
Ok, acho que o que tenho que fazer é pegar todos os pontos de todas as cores e executar Voronoi nelas. Depois disso, mescle os polígonos resultantes com as mesmas cores. No final, eu deveria ter meu conjunto de polígonos (um para cada cor). Eu não tenho certeza de como fazer isso exatamente no QGIS embora ...
DFx

2
O que exatamente você quer dizer com "espaçamento maximiza as margens"? A resposta para isso determina a solução.
whuber

Respostas:


24

Da sua camada de pontos

insira a descrição da imagem aqui

você pode criar plogyons Voronoi

insira a descrição da imagem aqui

O que resultaria neste

insira a descrição da imagem aqui

Em seguida, crie uma máscara do processo de triangulação de Delauney

insira a descrição da imagem aqui

insira a descrição da imagem aqui

E então prenda a camada de polígonos Voronoi com ela.

insira a descrição da imagem aqui

Isso seria bom o suficiente?

Você também pode tentar combinar sua máscara de triangulação de Delauney com um buffer de sua camada de pontos

insira a descrição da imagem aqui

e use isso para cortar seus polígonos Voronoi

insira a descrição da imagem aqui


5
Você também pode executar um DISSOLVE (no menu Vetor-> Geoprocessamento) em seus polígonos Delauney ou Voronoi para fornecer os polígonos mesclados que você está tentando representar.
precisa saber é o seguinte

+1 - supere-o ... bom pensamento sobre o buffer mesclado e, com a sugestão de dissolução do @ RyanDalton, isso deve responder à pergunta original!
Simbamangu

21

Os polígonos de Voronoi com uma dissolução fornecerão a primeira parte. Começando com seus pontos, cada conjunto deve ter seu próprio identificador único ('col' neste exemplo). Três valores de col com um conjunto de pontos: insira a descrição da imagem aqui

Vetor | Ferramentas de geometria | Os polígonos Voronoi com um buffer de 20% fornecem o 'limite entre pontos': insira a descrição da imagem aqui

Usar 'col' como a variável dissolve com Vector | Ferramentas de geoprocessamento | Dissolve fornece polígonos mesclados em torno de cada conjunto de pontos: insira a descrição da imagem aqui

Vetor | Ferramentas de geoprocessamento | Cascos convexos podem fornecer um limite convexo em torno de seus pontos, que você pode usar para cortar os limites dissolvidos: insira a descrição da imagem aqui insira a descrição da imagem aqui

No entanto, no seu primeiro exemplo, você parece precisar prender com um casco côncavo (mais alguma distância do buffer?); casco côncavo é uma função que não consegui encontrar; PostGIS tem a função .


Incrível - graças a esta é uma ótima resposta. Estou apenas dando para o RK por causa das instruções mais detalhadas, mas eu realmente aprecio isso!
DFx

@DFx - não se preocupe, ficaria curioso para ver com qual método você acaba finalmente (talvez edite sua pergunta original com a solução completa em algum momento).
precisa saber é o seguinte

@ Simbamangu eu posso entender sua resposta, mas eu tenho uma pequena dúvida nisto.Quando tento converter os polígonos com base na cor, ele está convertendo, mas apenas como um polígono de cor única. Qual é o erro com isso?
Arun

Arun - você provavelmente optou por se dissolver apenas na geometria, não em um campo específico. Ou você simplesmente não estilizou a camada resultante. (Eu sei que a questão é 2 + anos de idade, mas talvez outros têm-lo, também)
til_b
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.