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. Что-то не может быть прямо здесь, скорее всего, мое понимание.

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

tymtam
источник

Ответы:

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 (плоская поверхность).

arcsump
источник
10

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

Кит Макдональд
источник