Sto lavorando con uno stack ESRI, archiviando i miei layer in un geodatabase sql-spatial-enabled-SDE (tipo di geometria, Web Mercator-3857).
Sto costruendo un'applicazione di web mapping, quindi per impostazione predefinita, le tessere sono anche in web mercator, 3857.
Tramite processi memorizzati, utilizzo STDistance per eseguire query sulle distanze dalla posizione di un utente (coordinate anche nel web mercator) ai vari livelli.
Il problema è che, a causa della distorsione del web mercator, i miei calcoli della distanza sono sempre più distanti, più sono lontani dall'equatore.
Ho pensato di archiviare i miei layer nel tipo sql-space-geography (piuttosto che in geometria), ma:
- Immagino che le mie query sulla distanza richiederanno molto più tempo (calcoli della distanza sulla superficie sferica)
- dovrò reimportare molti dati
- i servizi arcgis non saranno così veloci come dovranno proiettare al volo
Se vado su Google Maps e faccio un calcolo della distanza, la distanza restituita è molto più accurata, anche nelle regioni del Nord / Sud, quindi presumo che Google debba correggere la distorsione causata dalla proiezione del web mercator.
La mia domanda quindi: esiste un semplice valore di fattore che può essere applicato ai calcoli di distanza eseguiti nella proiezione del web mercator per ottenere la distanza "corretta"?
cos((l1 + l2)/2)
che ti darà la linea del rombo / la distanza costante del percorso, piuttosto che una distanza del grande cerchio.