Polígonos de Voronoi que acabam no infinito?


18

Eu tenho trabalhado na implementação do script voronoi.py (tradução de Bill Simon do código de Steve Fortune). De acordo com o link QGIS , é basicamente o mesmo código com o qual estou trabalhando, mas a maneira de gerar os polígonos que podem se estender até o infinito difere entre os dois. No caso do QGIS, presumo que algum retângulo delimitador seja gerado até certo ponto além das extensões do ponto do site. No meu caso, eu gero pontos de site falsos como um círculo em torno dos pontos de interesse do site. Os pontos do círculo têm um raio duas vezes o diâmetro da extensão dos pontos do local. Os resultados entre os dois são mostrados na figura em anexo, implementação do QGIS à esquerda e minha implementação à direita. Exemplos de Voronoi.

Como se pode ver, a implementação do QGIS produz polígonos estranhos que não têm pontos de site (consulte o site 473 como um exemplo nas duas implementações). Isso está obviamente errado, mas também não tenho certeza se minha implementação está correta. Como não tenho acesso a uma licença do ArcInfo para o ArcMap, não posso compará-lo com o que o ArcMap gera nativamente e não consigo encontrar uma maneira de anexar o shapefile de ponto do site para alguém testar. Portanto, se alguém tiver algum comentário sobre o uso de um "círculo infinito" para ajudar a forçar polígonos de arestas contra um "retângulo infinito", eu agradeceria. Melhor ainda, se alguém estiver interessado em testar a saída em alguma outra plataforma GIS, posso fornecer o shapefile dos pontos do site que usei.


Parece que parte do problema é que os polígonos além dos pontos do site se sobrepõem; portanto, quando simbolizados sem preenchimento, aparecem como polígonos distintos. A figura a seguir mostra o que acontece quando o polígono sobre o site 473 e 415 é selecionado. Portanto, as questões originais permanecem, mas há uma nova ruga.


É um bug (ou uma "incompletude"), os resultados corretos no QGIS se um buffer de 0% for usado. O que ainda precisa ser resolvido é se um padrão denso de "pontos infinitos" circulares produzirá o mesmo resultado que "bordas infinitas" retangulares.

insira a descrição da imagem aqui


Eu adoraria tentar seus dados de ponto. Meus testes não mostram esse comportamento.
Underdark

Eu tenho um arquivo zip pronto para entrar, entre em contato comigo via e-mail Dan_Patterson@carleton.ca e posso encaminhá-lo para você. Acho que adicionei um buffer de 10% ao executar o voronoi no QGIS.

Talvez você possa reformular qual é a sua pergunta atual (após a atualização 2).
Underdark

Ótimo trabalho. Espero que você compartilhe seu código com a comunidade de alguma forma.
Michalis Avraam

veja o link abaixo na resposta, eu tive que atualizar desde ESRI matou os fios originais

Respostas:


10

Eu pude confirmar que minha implementação pelo menos se compara ao ArcGIS (mas requer uma licença ArcInfo). A implementação do QGIS está incorreta se uma distância do buffer for usada. Para aqueles que usam o ArcGIS com uma licença do ArcView, o conjunto de ferramentas para Voronoi e / ou Delaunay pode ser encontrado como as Ferramentas de Triangulação .


Houve vários erros no código QGIS Voronoi. Muitas correções foram aplicadas no QGIS 3.2.2. Seria interessante saber se isso ajudou.
Håvard Tveite
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.