Eu costumo usar qgis. Explico meu problema com um exemplo: existe uma floresta (geometria irregular1) e uma árvore (geomery2). Quero saber o número máximo de árvores que a floresta pode conter. Além disso, eu quero uma saída shapefile da melhor disposição dessas árvores dentro da floresta.
9
gencirclesinpolys (Generate Circles In Polygons)
ferramenta que pode ser útil.Respostas:
Experimente este aplicativo online svgnest.com/
etapas: 1. svg cria um arquivo (como na Figura 1); 2. Vá para o link e faça o upload de svg; 3. Selecione com o mouse o polígono do contêiner; 4. começar
após várias iterações, você pode bloquear e baixar o arquivo svg (veja a Figura 2)
NB: polígono e círculos devem estar no mesmo arquivo svg
fonte
Problema interessante!
Fiz uma coisa semelhante com polígonos irregulares (neste caso, os edifícios estavam lotados para não se sobrepor)
Utilizou postgresql e postgis, e python. O algoritmo aproximado foi
Não posso garantir que isso ofereça o melhor global, você precisaria de um algoritmo de 'empacotamento circular' para isso (como outros já mencionaram).
Isso continuará para sempre, portanto, você precisará inserir algum código para decidir quando sair, por exemplo,
De acordo com a Circle Packing na Wikipedia, a melhor densidade de empacotamento é obtida com uma grade hexagonal. Pode ser possível criar uma grade usando o MMQGIS, cujo espaçamento é baseado no tamanho das suas árvores, que eu assumo serem idênticas. Em seguida, coloque uma árvore em cada vértice. Mas então, você tem o problema de saber onde posicionar a grade para maximizar o número de árvores.
fonte