Ich arbeite mit einem ESRI-Stack und speichere meine Ebenen in einer SQL-räumlich aktivierten SDE-Geodatabase (Geometrietyp, Web Mercator-3857).
Ich erstelle eine Web-Mapping-Anwendung, daher befinden sich die Kacheln standardmäßig auch in Web Mercator 3857.
Über gespeicherte Prozesse verwende ich STDistance, um Entfernungen vom Standort eines Benutzers (Koordinaten auch im Web Mercator) zu den verschiedenen Ebenen abzufragen.
Das Problem ist, dass aufgrund der Verzerrung des Web-Mercators meine Entfernungsberechnungen zunehmend abweichen, je weiter sie vom Äquator entfernt sind.
Ich habe darüber nachgedacht, meine Ebenen im SQL-Raum-Geographie-Typ (anstatt im Geometrie-Typ) zu speichern, aber:
- Ich kann mir vorstellen, dass meine Entfernungsabfragen viel länger dauern werden (Entfernungsberechnungen auf sphärischen Oberflächen).
- Ich muss viele Daten erneut importieren
- arcgis-Dienste sind nicht so schnell, wie sie im laufenden Betrieb projizieren müssen
Wenn ich zu Google Maps gehe und eine Entfernungsberechnung durchführe, ist die zurückgegebene Entfernung selbst in Regionen im Norden / Süden viel genauer. Daher gehe ich davon aus, dass Google die durch die Web-Mercator-Projektion verursachten Verzerrungen korrigieren muss.
Meine Frage dann: Gibt es einen einfachen Faktorwert, der auf Entfernungsberechnungen angewendet werden kann, die in der Web-Mercator-Projektion durchgeführt werden, um die "richtige" Entfernung zu erhalten?
cos((l1 + l2)/2)
Dadurch erhalten Sie die Entfernung zwischen Loxodrome und konstantem Kurs anstelle einer Großkreisentfernung.