Ich benutze normalerweise QGIS. Ich erkläre mein Problem anhand eines Beispiels: Es gibt einen Wald (unregelmäßige Geometrie1) und einen Baum (Geomerie2). Ich möchte wissen, wie viele Bäume der Wald maximal enthalten kann. Außerdem möchte ich eine Shapefile-Ausgabe der besten Disposition dieser Bäume im Wald.
9
gencirclesinpolys (Generate Circles In Polygons)
nützliches Tool.Antworten:
Probieren Sie diese App online aus svgnest.com/
Schritte: 1. svg erstellt eine Datei (wie in Abbildung 1); 2. Gehen Sie zum Link und laden Sie svg hoch. 3. Wählen Sie mit der Maus das Containerpolygon aus. 4. starten
Nach einigen Iterationen können Sie die SVG-Datei sperren und herunterladen (siehe Abbildung 2).
NB: Polygon und Kreise müssen sich in derselben Datei svg befinden
quelle
Interessantes Problem!
Ähnliches habe ich mit unregelmäßigen Polygonen gemacht (in diesem Fall wurden Gebäude so gepackt, dass sie sich nicht überlappen).
Verwendet Postgresql und Postgis und Python. Grober Algorithmus war
Ich kann nicht garantieren, dass dies das globale Optimum ergibt. Dafür benötigen Sie einen "Kreispack" -Algorithmus (wie andere bereits erwähnt haben).
Es wird für immer weitergehen, daher müssen Sie Code eingeben, um zu entscheiden, wann Sie das Programm beenden möchten, z
Laut Circle Packing auf Wikipedia wird die beste Packungsdichte mit einem sechseckigen Gitter erreicht. Es könnte möglich sein, ein solches Raster mit MMQGIS zu erstellen, dessen Abstand von der Größe Ihrer Bäume abhängt, von denen ich annehme, dass sie identisch sind. Dann platzieren Sie einen Baum auf jedem Scheitelpunkt. Dann haben Sie jedoch das Problem zu wissen, wo das Raster platziert werden muss, um die Anzahl der Bäume zu maximieren.
quelle