Eu tenho uma camada de polígono que descreve uma restrição; Desejo acrescentar pontos nesta área. Quero adicionar o máximo de pontos possível, mas eles devem ter um espaçamento mínimo entre eles. É possível fazer isso com o GIS?
Para esclarecer, seria melhor se uma grade ordenada pudesse ser gerada, pois isso garantiria mais pontos. No entanto, a restrição raramente permitiria isso, e pode ser preferível remover pontos para permitir que um deslocamento se ajuste melhor à restrição.
Respostas:
Eu acho que isso pode ser pensado como um problema de "empacotamento".
Nesse caso, convém tentar um algoritmo genético, talvez semelhante ao do algoritmo On Genetic for the Packing of Polygons .
fonte
Não conheço nenhuma ferramenta GIS para fazer isso, mas tenho uma ideia sobre o algoritmo.
Primeiro, uma aproximação do número máximo de pontos pode ser obtida com esta fórmula:
(onde
A
é a área do polígono ed
a distância mínima de espaçamento).Então, para tentar localizar esses pontos no polígono, o melhor padrão não é a grade quadrada, mas a grade hexagonal. Vejo:
Finalmente, algumas técnicas de otimização usando modelos de força podem ser usadas para refinar o posicionamento relativo dos pontos.
NB: É um problema bem conhecido na cristalografia .
fonte
Consulte o encadeamento em /math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon . Em particular, observe a referência (em um comentário) ao "processo de disco de Poisson" e faça algumas pesquisas na Web. A conexão com a questão atual é que quando você pode distribuir um determinado número de pontos uniformemente, então você pode aumentar sistematicamente esse número até que não haja mais pontos pode ser colocado no polígono e que resolve o problema de maximizar o número de pontos sujeitos a uma requisito de distância mínima. (Tecnicamente, os dois problemas são problemas de otimização dupla, onde os objetivos e as restrições são trocados.)
fonte
A solução deve ser triângulos equilaterais, http://en.wikipedia.org/wiki/Equilateral_triangle . A única questão é o comprimento dos lados e o "deslocamento xy" em relação ao seu polígono.
(igual à grade hexagonal mencionada abaixo)
fonte