メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

ベクトル地図で移動経路を可視化する

この例では、ThingSpeak ™チャネル内の緯度と経度のデータを地図上に可視化する方法を示します。Mapping Toolbox によって提供されるベクトル地図を使用して、Mary Maersk が通過した経路をプロットできます。

データの読み取り

ThingSpeakチャネル73734 には Mary Maersk 号の位置データが含まれています。thingSpealRead 関数を使用して、過去 10 日間の位置データを読み取ります。

data = thingSpeakRead(73734,'DateRange',...
    [datetime('today')-caldays(10),datetime('today')],'outputFormat','table');

生データを処理する

地図上にデータをプロットする前に、生の緯度と経度のデータを処理します。緯度と経度の情報を別々の変数 latlon に保存します。

lon = data.Longitude;
lat = data.Latitude;

geoquadline 関数を使用して、lat および lon で指定された地理座標を持つ頂点を結ぶ線を囲む最も狭い地理四角形の境界を見つけます。

[latlim,lonlim] = geoquadline(lat,lon);

地図をより読みやすくするには、関数 bufgeoquad を使用して緯度と経度の制限を 10 単位拡張します。

buf = 10;
[latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);

ベクトル地図を取得

関心領域の worldmap 関数によって提供されるベクトル地図を取得します。また、海と陸地を区別するために海の色を定義します。

ax = worldmap(latlim,lonlim);
oceanColor = [.5 .7 .9];
setm(ax, 'FFaceColor',oceanColor);

マップを生成する

worldmap 関数によって返されたベクトル地図を使用して、Mary Maersk 号が過去 10 日間に移動した経路のプロットを生成します。海岸線データを読み込んで使用し、各大陸の端をマークします。

load coastlines;
geoshow(lat,lon,'Color','k');
hold on;
geoshow(coastlat,coastlon,'FaceColor','yellow','DisplayType','polygon');
title('Polygon Geographic Vector Data');

ベクトル地図は、Mary Maersk 号が過去 10 日間に航行した場所を示しています。

参考

関数