MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So finden Sie heraus, ob ein Punkt in welchem ​​Polygon existiert

Die grundlegende Methode (wenn Sie eine kleine Anzahl von Polygonen haben) besteht darin, alle Polygone in einer Sammlung zu speichern und die Elemente zu durchlaufen, um zu prüfen, ob sich ein Punkt innerhalb eines Polygons befindet.

Wenn Sie andererseits eine beträchtliche Anzahl von Polygonen haben, würde ich empfehlen, eine R-Baum-Datenstruktur zu verwenden, die in der Standardbibliothek nicht verfügbar ist. Sie sollten dieses Projekt überprüfen, wenn Sie die R-Tree-Option verwenden möchten:http://sourceforge.net /projects/jsi/ .

Mit R-Tree können Sie Rechtecke (in diesem Fall Begrenzungsrahmen der Polygone) indizieren. So können Sie mit R-Tree sehr schnell eine kleine Anzahl von Kandidatenpolygonen finden. Dann können Sie die Kandidatenliste durchlaufen, um das Endergebnis zu erhalten.