Ich habe eine Datenbank mit vielen Punkten in WGS84. Jetzt erstelle ich einen Cache, der NN ausführt und mithilfe eines KDtree in Bereichsabfragen zeigt. Der Punkt ist, dass der Suchradius in Metern angegeben wird und dass lat / lon kein netter SRS für diese geometrischen Abfragen ist.
Ich suche ein geometrisches SRS, das auf die ganze Welt anwendbar ist und Entfernungen bewahrt. Fehler von ein paar Zehntel Metern interessieren mich nicht.
Antworten:
Ich habe nach "Spherical Spatial Index" gegoogelt. Es gibt eine Reihe möglicher Methoden, bei denen die Kugel dreieckig zerlegt oder voronoi gekachelt wird. Eine Methode, die leicht zu implementieren ist, besteht darin, Ihre Daten in 3D zu betrachten, wie im Abschnitt "3D-Begrenzungsrahmen" hier:
http://lin-ear-th-inking.blogspot.co.uk/2007/09/geodetic-data-in-postgis-spherical.html
Dann brauchen Sie einen räumlichen 3D-Index, dann können Sie schnell alle Punkte innerhalb Ihrer 1 km finden. Dies wäre ein 3D- Suchradius von 1 km , der sich geringfügig von einem Radius von 1 km entlang der Erdoberfläche unterscheidet. Bei kleinen Suchradien wäre er jedoch effektiv identisch (rechnen Sie nach, um die Korrektur zu berechnen).
Wenn Sie absolute Präzision wünschen, verwenden Sie dies als ersten Schritt und berechnen Sie dann die Entfernungen über einen Großkreis, um die weiter entfernten zu entfernen (die Entfernung entlang einer Kugel ist immer größer als die Entfernung durch eine Kugel).
quelle
Bei SRS / Map-Projektionen ist dies immer ein Kompromiss. Es gibt wirklich keinen, der zu allen Orten der Welt passt. Könnte auch annehmen, dass die Erde eine Kugel ist.
Anstatt nach einem SRS zu suchen, der für die ganze Welt geeignet ist, sollten Sie besser nach Algorithmen zur Entfernungsberechnung suchen . Ein Beispiel ist der Great Circle Distance, der auf sphärischer Trigonometrie basiert. Es werden jedoch folgende Annahmen getroffen:
Die Formel lautet:
Wo:
Möglicherweise möchten Sie es jedoch zuerst mit Ihren Daten testen und die Ergebnisse anzeigen. Übrigens, verwenden Sie eine räumliche Datenbank wie PostGIS?
quelle