メインコンテンツ

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

NASAマップで移動経路を可視化する

この例では、NASA が提供するラスター マップ上の ThingSpeak ™チャネルフィードに保存されている緯度と経度のデータを可視化する方法を示します。Web マップ サービス (WMS) からラスター マップを取得し、Mary Maersk 号が移動した経路をプロットできます。

データの読み取り

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

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

生データを処理する

地図上にプロットする前に、生の緯度と経度のデータを処理します。緯度と経度の情報を別々の変数 latlon に保存します。geoquadline 関数を使用して、緯度と経度で指定された地理座標を持つ頂点を結ぶ線を囲む最も狭い地理四角形の境界を見つけます。地図をより読みやすくするために、緯度と経度の制限を 10 単位拡張します。

lon = data.Longitude;
lat = data.Latitude;
[latlim,lonlim] = geoquadline(lat,lon);
buf = 10;
[latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);

NASAからラスターマップを取得する

NASA Web マップ サービスを使用して、空間参照ラスター データのマップを作成します。wmsfind 関数は、WMS データベースの serverurl 内のエントリで文字列「nasa」を検索します。

nasa = wmsfind('nasa','SearchField','serverurl');

refine 関数を使用して、NASA データベースから必要なラスター マップ レイヤーの検索を絞り込みます。

layer = refine(nasa,'bluemarbleng','SearchField','layername', ...
    'MatchType','exact');

ラスター マップを読み取るには、wmsread 関数を呼び出します。

[A,R] = wmsread(layer(1),'Latlim',latlim,'Lonlim',lonlim);

マップを生成する

worldmap 関数によって返されたラスター マップを使用して、過去 10 日間に Mary Maersk が移動した経路のプロットを生成します。

geoshow(A,R);
geoshow(lat,lon);
xlabel('Longitude');
ylabel('Latitude');
axis tight;

参考

関数

外部の Web サイト