Stai cercando un algoritmo per posizionare il numero massimo di punti all'interno dell'area vincolata alla distanza minima?


17

Ho uno strato poligonale che descrive un vincolo; Vorrei aggiungere punti in quest'area. Voglio aggiungere più punti possibili, ma devono avere una spaziatura minima tra di loro. È possibile farlo con GIS?

Per chiarire, sarebbe meglio generare una griglia ordinata, poiché ciò garantirebbe il maggior numero di punti. Tuttavia, il vincolo lo consentirebbe raramente e potrebbe essere preferibile rimuovere i punti per consentire un offset per adattarsi meglio al vincolo.


1. Sì 2. Vuoi casuale o ordinato (griglia)?
Brad Nesom,

Sembra essere due domande. Vuoi un algoritmo per farlo al di fuori del software? O vuoi sapere cosa può fare il sistema GIS?
Brad Nesom,

1
I punti sono vincolati in modo che debbano essere> = la distanza minima dal confine del poligono? In tal caso, la domanda potrebbe essere espressa più chiaramente come: Come posso impacchettare il numero massimo di cerchi in un poligono?
Kirk Kuykendall,

In qualche modo correlato: gis.stackexchange.com/q/4927/162
julien

1
@qva No, perché le soluzioni esatte che si possono trovare sono asimmetriche e difficili da ottenere anche per forme semplici come i rettangoli. I migliori metodi di calcolo che ho trovato si basano sulla ricottura spaziale simulata (e funzionano molto bene, anche se richiedono molto calcolo). Usandoli ho cercato soluzioni per molti poligoni di varie forme. È chiaro che i confini del poligono controllano le soluzioni vicine ai confini; in profondità all'interno tendono ad approssimare imballaggi esagonali di dischi.
whuber

Risposte:


5

Penso che questo possa essere considerato un problema di "imballaggio".

In tal caso, potresti provare un algoritmo genetico, forse simile a quello di In algoritmi genetici per il confezionamento di poligoni .


Riferimento interessante, grazie. Una rapida occhiata suggerisce che l'algoritmo della carta necessita che i poligoni siano rettangoli. Sai se può essere generalizzato a poligoni arbitrari?
whuber

9

Non conosco alcun strumento GIS per farlo, ma ho un'idea dell'algoritmo.

Innanzitutto, con questa formula è possibile ottenere un'approssimazione del numero massimo di punti:

Nb = 4.A / Pi.d^2

(dove si Atrova l'area del poligono e dla distanza di spaziatura minima).

Quindi, per cercare di individuare questi punti nel poligono, il modello migliore non è la griglia quadrata ma la griglia esagonale. Vedere:

griglia quadrata vs esagonale

Infine, alcune tecniche di ottimizzazione che utilizzano modelli di forza potrebbero essere utilizzate per perfezionare il posizionamento relativo dei punti.

NB: è un problema ben noto in cristallografia .


strumento gis per farlo ... ian-ko.com punto casuale geo-wizard nel poligono.
Brad Nesom,

1
Grazie! Ma la domanda non riguarda esattamente i punti casuali nel poligono, giusto?
luglio

Come approssimazione iniziale rapida e sporca, l'imballaggio esagonale funziona bene. Tuttavia, non è quasi mai ottimale. Mi aspetto che il potenziale miglioramento sia proporzionale alla lunghezza del perimetro del poligono, quindi per i poligoni non tortuosi con molti punti questo non è un cattivo approccio.
whuber

6

Vedi la discussione su /math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon . In particolare, annota il riferimento (in un commento) a "Processo del disco di Poisson" ed esegui una ricerca sul Web. La connessione con la domanda attuale è che quando è possibile distribuire uniformemente un determinato numero di punti, è possibile aumentare sistematicamente quel numero fino a quando non è possibile inserire più punti nel poligono e questo risolve il problema di massimizzare il numero di punti soggetti a un distanza minima richiesta. (Tecnicamente, i due problemi sono due problemi di ottimizzazione in cui gli obiettivi e i vincoli sono scambiati.)


0

La soluzione deve essere triangoli equilateri, http://en.wikipedia.org/wiki/Equilateral_triangle . L'unica domanda è la lunghezza dei lati e lo "offset xy" in relazione al poligono.

(uguale alla griglia esagonale menzionata di seguito)


1
Questo è vero solo all'interno di un piano infinito. Il limite di un poligono finito limita fortemente la configurazione. Quando ci sono molti punti, formano approssimativamente triangoli equilateri.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.