Estoy trabajando con una pila ESRI, almacenando mis capas en una geodatabase sql-spaceial-enabled-SDE (tipo de geometría, Web Mercator-3857).
Estoy creando una aplicación de mapeo web, por lo que, por defecto, los mosaicos también están en web mercator, 3857.
A través de procesos almacenados, uso STDistance para consultar distancias desde la ubicación de un usuario (Coordenadas también en web mercator) a las diversas capas.
El problema es que, debido a la distorsión de web mercator, mis cálculos de distancia están cada vez más lejos, cuanto más lejos del ecuador se hacen.
He pensado en almacenar mis capas en el tipo sql-space-geography (en lugar de geometry), pero:
- Me imagino que mis consultas de distancia tomarán mucho más tiempo (la distancia se calcula en la superficie esférica)
- tendré que reimportar muchos datos
- Los servicios de ArcGIS no serán tan rápidos como necesitarán proyectar sobre la marcha
Si voy a los mapas de Google y hago un cálculo de distancia, la distancia devuelta es mucho más precisa, incluso en las regiones del norte / sur, por lo que supongo que Google debe estar corrigiendo la distorsión causada por la proyección web del vendedor.
Mi pregunta entonces: ¿Hay un valor de factor simple que se pueda aplicar a los cálculos de distancia realizados en la proyección web mercator para obtener la distancia "correcta"?
cos((l1 + l2)/2)
que le dará la distancia de rumbo constante / línea de rumbo, en lugar de una distancia de gran círculo.