MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come scoprire se esiste un punto in quale poligono

Il metodo di base (se hai un numero ridotto di poligoni) consiste nell'immagazzinare tutti i poligoni in una raccolta e scorrere gli elementi per verificare se un punto si trova all'interno di un poligono.

D'altra parte, se si dispone di un numero considerevole di poligoni, consiglierei di utilizzare una struttura dati R-tree, che non è disponibile nella libreria standard. Dovresti controllare questo progetto, se vuoi usare l'opzione R-tree:http://sourceforge.net /progetti/jsi/ .

R-tree permette di indicizzare i rettangoli (in questo caso i riquadri di delimitazione dei poligoni). Quindi puoi trovare un piccolo numero di poligoni candidati molto velocemente usando R-tree. Quindi puoi scorrere l'elenco dei candidati per ottenere il risultato finale.