Wolfram言語

地理情報の計算

球体メルカトルと楕円体メルカトル

メルカトル図法では,地球を表すのに球体モデルを使うか楕円体モデルを使うかによって結果が異なる.Wolfram言語では,どちらの場合も使える.

ほとんどの地図Webサーバで使われる投影法では,地球の球体モデルが使われており,これは通常「Webメルカトル」と呼ばれる.

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]=

北座標では33kmを越える違いがある.

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 ko pt-br ru zh