Wolfram言語

地理情報の計算

移動時間と移動距離

車で移動する際の距離と時間を推定する.

2つの異なる都市の間を移動する.

In[1]:=
Click for copyable input
cities = {Entity["City", {"Lisbon", "Lisboa", "Portugal"}], Entity["City", {"Beijing", "Beijing", "China"}]};

両都市間の測地距離である.

In[2]:=
Click for copyable input
GeoDistance[cities]
Out[2]=

次は車で移動する場合の距離である.

In[3]:=
Click for copyable input
TravelDistance[cities]
Out[3]=

休憩を挟まずに運転し続けた場合の推定運転時間である.

In[4]:=
Click for copyable input
TravelTime[cities]
Out[4]=

このオブジェクトには,実際の移動経路が含まれている.

In[5]:=
Click for copyable input
td = TravelDirections[{Entity[ "City", {"Lisbon", "Lisboa", "Portugal"}], Entity["City", {"Beijing", "Beijing", "China"}]}]
Out[5]=

メルカトル図法の地図上に軌道(赤)を描き,測地軌道(青)と比較する.先ほどの例でも見たように,後者の方が短い.

In[6]:=
Click for copyable input
GeoGraphics[{Thick, Red, GeoPath[td], Blue, GeoPath[{Entity["City", {"Lisbon", "Lisboa", "Portugal"}], Entity["City", {"Beijing", "Beijing", "China"}]}]}, GeoProjection -> "Mercator", GeoGridLines -> Automatic]
Out[6]=

方位図法では,測地経路の方が移動経路よりも短いことがもっとはっきり分かる.

In[7]:=
Click for copyable input
GeoGraphics[{Thick, Red, GeoPath[td], Blue, GeoPath[{Entity["City", {"Lisbon", "Lisboa", "Portugal"}], Entity["City", {"Beijing", "Beijing", "China"}]}]}, GeoProjection -> "Mercator", GeoGridLines -> Automatic]; Show[%, GeoProjection -> "LambertAzimuthal", GeoZoomLevel -> 4]
Out[7]=

関連する例

de en es fr ko pt-br ru zh