Mercator esférico ou elipsoidal
A projeção de Mercator produz resultados diferentes com um modelo esférico da Terra e um modelo elipsoidal da Terra. A Wolfram language permite que você trabalhe com as duas situações.
A projeção utilizada na maioria dos servidores web de mapas usa um modelo esférico da Terra, e geralmente é chamado de "web Mercator".
In[1]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_74.png)
webMercator = {"Mercator",
"ReferenceModel" -> GeodesyData["WGS84", "SemimajorAxis"]}
Out[1]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_61.png)
In[2]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_75.png)
ellipMercator = {"Mercator", "ReferenceModel" -> "WGS84"}
Out[2]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_62.png)
Transforme a localização da Universidade de Oxford, utilizando as duas projeções.
In[3]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_76.png)
p = GeoPosition[
Entity["University", "UniversityOfOxfordUnitedKingdom36022"]]
Out[3]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_63.png)
In[4]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_77.png)
GeoGridPosition[p, webMercator][[1]]
Out[4]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_64.png)
In[5]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_78.png)
GeoGridPosition[p, ellipMercator][[1]]
Out[5]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_65.png)
Há uma diferença correspondente a mais de 33 km nas coordenadas norte.
In[6]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_79.png)
GeoGridPosition[p, webMercator][[1]];
GeoGridPosition[p, ellipMercator][[1]];
%% - %
Out[6]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_66.png)
Usando as duas projeções, desenhe os respectivos mapas do Reino Unido e da Irlanda, que parecem quase idênticos.
In[7]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_80.png)
webmap = GeoGraphics[{FaceForm[], EdgeForm[Red],
Polygon[{Entity["Country", "UnitedKingdom"],
Entity["Country", "Ireland"]}], Red, Point[p]},
GeoProjection -> webMercator, GeoBackground -> None][[1]]
Out[7]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_67.png)
In[8]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_81.png)
ellipmap =
GeoGraphics[{FaceForm[], EdgeForm[Blue],
Polygon[{Entity["Country", "UnitedKingdom"],
Entity["Country", "Ireland"]}], Blue, Point[p]},
GeoProjection -> ellipMercator, GeoBackground -> None][[1]]
Out[8]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_68.png)
No entanto, quando sobrepostos no mesmo mapa, podemos ver claramente a diferença.
In[9]:=
![Click for copyable input](assets.pt-br/spherical-or-ellipsoidal-mercator/In_82.png)
Show[webmap, ellipmap]
Out[9]=
![](assets.pt-br/spherical-or-ellipsoidal-mercator/O_69.png)