このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
ベクトル地図の通過経路の可視化
この例では、 ThingSpeak™チャネルフィードの緯度と経度のデータを地図上で視覚化する方法を示します。Mapping Toolboxが提供するベクトル マップを使用して、Mary Maersk が通過したパスをプロットできます。
データの読み取り
ThingSpeakチャネル73734 には、Mary Maersk 船の位置データが含まれています。thingSpealRead
関数を使用して、過去 10 日間の位置データを読み取ります。
data = thingSpeakRead(73734,'DateRange',... [datetime('today')-caldays(10),datetime('today')],'outputFormat','table');
生のデータの処理
データをマップにプロットする前に、生の緯度データと経度データを処理します。緯度と経度の情報を、lat
と lon
という別々の変数に保存します。
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
で返されるベクトル地図を使用して、過去 10 日間に Mary Maersk 号が通過した経路のプロットを生成します。各大陸の境界を示すために、海岸線のデータを読み取って使用します。
load coastlines; geoshow(lat,lon,'Color','k'); hold on; geoshow(coastlat,coastlon,'FaceColor','yellow','DisplayType','polygon'); title('Polygon Geographic Vector Data');
ベクター マップは、メアリー マースク号が過去 10 日間に移動した場所を示しています。
参考
関数
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |worldmap
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead