Язык Wolfram Language

Георасчёты

Сферическая или эллипсоидальная проекция Меркатора

Меркаторская проекция выдаёт разные результаты для сферической модели Земли и эллипсоидальной модели Земли. Язык Wolfram Language позволяет Вам работать с обеими ситуациями.

Проекция, используемая на большинстве веб-серверов карт, использует сферическую модель Земли и обычно называется "меркаторская веб-проекция".

In[1]:=
Click for copyable input
webMercator = {"Mercator", "ReferenceModel" -> GeodesyData["WGS84", "SemimajorAxis"]}
Out[1]=
In[2]:=
Click for copyable input
ellipMercator = {"Mercator", "ReferenceModel" -> "WGS84"}
Out[2]=

Переведите местоположение университета Оксфорда, используя обе проекции.

In[3]:=
Click for copyable input
p = GeoPosition[ Entity["University", "UniversityOfOxfordUnitedKingdom36022"]]
Out[3]=
In[4]:=
Click for copyable input
GeoGridPosition[p, webMercator][[1]]
Out[4]=
In[5]:=
Click for copyable input
GeoGridPosition[p, ellipMercator][[1]]
Out[5]=

Существует разница, соответствующая более чем 33 километрам в величинах координат.

In[6]:=
Click for copyable input
GeoGridPosition[p, webMercator][[1]]; GeoGridPosition[p, ellipMercator][[1]]; %% - %
Out[6]=

Используя обе проекции, нарисуйте соответствующие карты Соединённого Королевства и Ирландии, которые выглядят практически идентично.

In[7]:=
Click for copyable input
webmap = GeoGraphics[{FaceForm[], EdgeForm[Red], Polygon[{Entity["Country", "UnitedKingdom"], Entity["Country", "Ireland"]}], Red, Point[p]}, GeoProjection -> webMercator, GeoBackground -> None][[1]]
Out[7]=
In[8]:=
Click for copyable input
ellipmap = GeoGraphics[{FaceForm[], EdgeForm[Blue], Polygon[{Entity["Country", "UnitedKingdom"], Entity["Country", "Ireland"]}], Blue, Point[p]}, GeoProjection -> ellipMercator, GeoBackground -> None][[1]]
Out[8]=

Тем не менее, при наложении этих карт Вы можете чётко увидеть разницу.

In[9]:=
Click for copyable input
Show[webmap, ellipmap]
Out[9]=

Родственные примеры

de en es fr ja ko pt-br zh