EPSG 3857 или 4326 для GoogleMaps, OpenStreetMap и Leaflet


168

Обсуждение В чем разница между WGS84 и EPSG4326? показывает, что 4326 - это просто идентификатор EPSG WGS84. ,

Записи в Википедии для Карт Google и OpenStreetMap показывают, что они оба используют WGS 84.

http://wiki.openstreetmap.org/wiki/EPSG:3857 утверждает, что

EPSG: 3857 - это система координат проекции сферического Меркатора, популяризируемая веб-сервисами, такими как Google, а затем OpenStreetMap.

В буклете говорится:

EPSG3857 Самый распространенный CRS для онлайн-карт, используемый практически всеми бесплатными и коммерческими провайдерами. Использует сферическую проекцию Меркатора. Устанавливается по умолчанию в опции crs карты.

EPSG4326 Распространенный CRS среди энтузиастов ГИС. Использует простую равностороннюю проекцию.

Это сбивает с толку - кажется, что Google Maps и OpenStreetMap используют EPSG3857, но они используют WGS84, который «является» EPSG4326. Что-то не может быть прямо здесь, скорее всего, мое понимание.

Может ли кто-нибудь помочь мне понять?

Ответы:


191

Есть несколько вещей, которые вы путаете.

Поэтому, если вы создаете веб-карту, которая использует плитки из Google Maps или плитки из веб-сервиса Open Street Map, они будут в Sperical Mercator (EPSG 3857 или srid: 900913) и, следовательно, ваша карта должна иметь такую ​​же проекцию.

Редактировать:

Я хотел бы расширить вопрос, поднятый Mkennedy

Все это еще больше сбивает с толку тот факт, что часто, даже если карта находится в Web Mercator (EPSG: 3857), фактические используемые координаты указаны в широте (EPSG: 4326). Это соглашение используется во многих местах, таких как:

  • В Most Mapping API s Вы можете указать координаты в Lat-long, и API автоматически преобразует их в соответствующие координаты Web Mercator.
  • Создавая KML, вы всегда будете указывать координаты в географической широте, даже если это будет отображаться поверх веб-карты Меркатора.
  • Большинство мобильных картографических библиотек используют lat-long для определения местоположения, в то время как карта находится в веб-Mercator.

9
Просто добавим, что EPSG: 3857 называет свои единицы измерения, но они не являются реальными. Чем дальше на север вы приходите, тем сильнее они сжимаются.
AndreJ

4
Что также сбивает с толку, так это то, что вы часто взаимодействуете с Google Maps или Bing Maps, используя EPSG: 4326, например, в файлах KML. Внутренне серверы преобразуют данные в эквивалент EPSG: 3857. Если вы объединяете данные с одной из своих плиток, для плитки используется EPSG: 3857, поэтому вам быстрее сначала преобразовать свои данные в эту.
Mkennedy

Означает ли это, что при расчете значений проекции безопасно использовать OSM для Карт Google? Например, преобразование lat в y: wiki.openstreetmap.org/wiki/Mercator#Spherical_Mercator
brendan

2
@brendan: Да. Вы можете использовать те же координаты для OSM, а также для Google Maps (как и многих других, включая Bing, здесь и т. д.)
Devdatta Tengshe

1
@ EtienneDesgagné: Да
Девдатта Тенгше

54

В сущности:

EPSG: 4326 использует систему координат на поверхности сферы или эллипсоида.

EPSG: 3857 использует систему координат, спроецированную с поверхности сферы или эллипсоида на плоскую поверхность.

Думайте об этом так:

EPSG 4326 использует систему координат, аналогичную GLOBE (криволинейная поверхность). EPSG 3857 использует систему координат, аналогичную MAP (плоская поверхность).


10

Один из способов показать людям, что на практике означают различия в проекциях, - это провести длинную линию в Google Планета Земля. Под «длинной линией» я подразумеваю тот, который явно является маршрутом Большого круга. Все хорошо в Google Earth. Но если вы проведете линию между теми же двумя точками в Google Maps, CartoDB или OpenStreetMap, линия будет сплющена на плоскую проекцию. Увеличьте середину линии, чтобы увидеть, как далеко смещена средняя точка.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.