EPSG 3857 o 4326 per GoogleMaps, OpenStreetMap e Leaflet


168

La discussione su Qual è la differenza tra WGS84 e EPSG4326? mostra che 4326 è solo l'identificatore EPSG di WGS84. .

Le voci di Wikipedia per Google Maps e OpenStreetMap mostrano che entrambi usano WGS 84.

http://wiki.openstreetmap.org/wiki/EPSG:3857 afferma che

EPSG: 3857 è un sistema di coordinate di proiezione di Mercator sferico reso popolare da servizi Web come Google e successivamente OpenStreetMap.

L'aiuto del volantino afferma:

EPSG3857 Il CRS più comune per le mappe online, utilizzato da quasi tutti i fornitori di tessere gratuiti e commerciali. Utilizza la proiezione di Mercator sferico. Impostato di default nell'opzione crs di Map. |

EPSG4326 Un CRS comune tra gli appassionati di GIS. Utilizza una semplice proiezione equirettangolare.

Ciò è confuso: sembra che Google Maps e OpenStreetMap utilizzino EPSG3857 ma usano WGS84 che è "EPSG4326". Qualcosa non può essere proprio qui, molto probabilmente la mia comprensione.

Qualcuno potrebbe aiutarmi a capire?

Risposte:


191

Ci sono alcune cose che stai mescolando.

  • Google Earth si trova in un sistema di coordinate geografiche con il dato wgs84. (EPSG: 4326)

  • Google Maps si trova in un sistema di coordinate proiettato basato sul riferimento wgs84. (EPSG 3857)

  • I dati nel database Open Street Map sono archiviati in gcs con unità decimali e dato di wgs84. (EPSG: 4326)

  • I riquadri Open Street Map e il servizio Web WMS si trovano nel sistema di coordinate proiettato basato sul riferimento wgs84. (EPSG 3857)

Quindi, se stai realizzando una mappa web, che utilizza le tessere di Google Maps o le tessere del servizio web di Open Street Map, saranno in Sperical Mercator (EPSG 3857 o srid: 900913) e quindi la tua mappa deve avere la stessa proiezione.

Modificare:

Mi piacerebbe espandere il punto sollevato da mkennedy

Tutto ciò è ulteriormente confuso dal fatto che spesso anche se la mappa è in Web Mercator (EPSG: 3857), le coordinate effettive utilizzate sono in lat-long (EPSG: 4326). Questa convenzione viene utilizzata in molti luoghi, come ad esempio:

  • Nella maggior parte delle API di mappatura, è possibile fornire le coordinate in Lat-long e l'API le trasforma automaticamente nelle coordinate Web Mercator appropriate.
  • Durante la creazione di un KML, fornirai sempre le coordinate geografiche Lat-long, anche se potrebbero essere visualizzate in cima a una mappa Mercator web.
  • La maggior parte delle librerie di mappatura mobile utilizzano lat-long per la posizione, mentre la mappa è in Web Mercator.

9
Solo per aggiungere, EPSG: 3857 chiama i suoi metri unità, ma non sono metri reali. Più a nord vieni, più sono schiacciati.
AndreJ,

4
Ciò che confonde anche è che interagisci spesso con Google Maps o Bing Maps utilizzando EPSG: 4326, ad esempio nei file KML. Internamente i server convertono i dati nel loro equivalente di EPSG: 3857. Se stai mescolando i dati con uno dei loro riquadri, il riquadro utilizza EPSG: 3857, quindi è più veloce per te convertire i tuoi dati in quello prima.
mkennedy,

Questo significa che quando si calcolano i valori di proiezione, è sicuro usare OSM per Google Maps? Come convertire lat in y: wiki.openstreetmap.org/wiki/Mercator#Spherical_Mercator
brendan,

2
@brendan: Sì. puoi utilizzare le stesse coordinate per OSM e Google Maps (così come molte altre tra cui Bing, qui ecc.)
Devdatta Tengshe

1
@ EtienneDesgagné: Sì
Devdatta Tengshe,

54

In sostanza:

EPSG: 4326 utilizza un sistema di coordinate sulla superficie di una sfera o ellissoide di riferimento.

EPSG: 3857 utilizza un sistema di coordinate PROIETTATO dalla superficie della sfera o ellissoide a una superficie piana.

Pensalo in questo modo:

EPSG 4326 utilizza un sistema di coordinate uguale a GLOBE (superficie curva). EPSG 3857 utilizza un sistema di coordinate uguale a una MAP (superficie piana).


10

Un modo per mostrare alle persone che cosa significano in pratica le differenze di proiezione è quello di tracciare una linea lunga in Google Earth. Per "linea lunga" intendo uno che è visibilmente una rotta del Grande Cerchio. Va tutto bene in Google Earth. Ma se si traccia una linea tra gli stessi due punti in Google Maps, CartoDB o OpenStreetMap, la linea viene appiattita sulla proiezione piatta. Ingrandisci al centro della linea per vedere fino a che punto viene spostato il punto medio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.