Je travaille avec une pile ESRI, stockant mes couches dans une géodatabase sql-spatial-enabled-SDE (type Geometry, Web Mercator-3857).
Je crée une application de cartographie Web, donc par défaut, les tuiles sont également dans Web Mercator, 3857.
Via des procs stockés, j'utilise STDistance pour interroger les distances entre l'emplacement d'un utilisateur (coordonnées également dans Web Mercator) et les différentes couches.
Le problème est qu'en raison de la distorsion du web mercator, mes calculs de distance sont de plus en plus décalés, plus ils sont éloignés de l'équateur.
J'ai pensé à stocker mes calques en sql-spatial-geography (plutôt qu'en geometry), mais:
- J'imagine que mes requêtes de distance prendront beaucoup plus de temps (la distance calcule sur une surface sphérique)
- je devrai réimporter beaucoup de données
- les services arcgis ne seront pas aussi rapides qu'ils auront besoin de projeter à la volée
Si je vais sur Google Maps et que je fais un calcul de distance, la distance renvoyée est beaucoup plus précise, même dans les régions du nord / sud, donc je suppose que Google doit corriger la distorsion causée par la projection Web Mercator.
Ma question est donc la suivante: existe-t-il une valeur de facteur simple qui peut être appliquée aux calculs de distance effectués dans la projection Web Mercator pour obtenir la distance «correcte»?
cos((l1 + l2)/2)
ce qui vous donnera la distance rhumb-line / constant course, plutôt qu'une distance grand cercle.