Usualmente uso qgis. Explico mi problema con un ejemplo: hay un bosque (geometría irregular1) y un árbol (geomery2). Quiero saber la cantidad máxima de árboles que puede contener el bosque. Además, quiero un archivo shape de la mejor disposición de estos árboles dentro del bosque.
gencirclesinpolys (Generate Circles In Polygons)
herramienta que podría ser útil.Respuestas:
Prueba esta aplicación en línea svgnest.com/
pasos: 1. svg crea un archivo (como en la Figura 1); 2. Vaya al enlace y cargue svg; 3. Seleccione con el mouse el polígono contenedor; 4. inicio
después de varias iteraciones, puede bloquear y descargar el archivo svg (consulte la Figura 2)
NB: el polígono y los círculos deben estar en el mismo archivo svg
fuente
Problema interesante!
He hecho algo similar con los polígonos irregulares (en este caso, los edificios se empacaron para no superponerse)
Postgresql y postgis usados, y python. El algoritmo aproximado fue
No puedo garantizar que esto dará el óptimo global, necesitaría un algoritmo de 'empaquetamiento circular' para eso (como otros han mencionado).
Continuará para siempre, por lo que deberá poner algo de código para decidir cuándo dejar de fumar, p. Ej.
Según Circle Packing en Wikipedia, la mejor densidad de empaque se logra con una cuadrícula hexagonal. Es posible crear una cuadrícula de este tipo utilizando MMQGIS, cuyo espacio se basa en el tamaño de sus árboles, que supongo que son idénticos. Luego coloca un árbol en cada vértice. Pero entonces, tiene el problema de saber dónde colocar la cuadrícula para maximizar la cantidad de árboles.
fuente