温度マップのデータの結合の仕方について

6 ビュー (過去 30 日間)
Naoki Ishibashi
Naoki Ishibashi 2016 年 11 月 3 日
コメント済み: Naoki Ishibashi 2016 年 11 月 4 日
地球全体の表面温度データ(2.5°区切りで72 x 144 のデータ)から添付のようなマップを作成しました。 このマップの作られ方について、データは2.5°区切りでしかないため 例えばLat = 26.25°N, Lon = 21.25°Eなどにはデータは存在していません。 ただこの場合25.00°N と 27.50°N また 20°E と 22.5°Eのデータをつなぎ合わせマップといていると思うのですが、 このつなぎたはどのようになっているのでしょうか? 25.00°Nから27.50°Nは25.00°Nのデータで、27.50°Nから30.00°Nは27.50°N度のデータ、 もしくは25.222...°Nは25.00°Nのデータで25.222...°Nから27.50°Nは27.50°Nのデータでしょうか? わかりにくい質問で申し訳ありません。 もしご存知な方いらしたら教えて頂きたいです。
以下マップのコードです
filename =('TA_ave.txt');
x = load(filename);
x = reshape(x,72,144);
rv = [0.4 90 180];
ax = worldmap('World');
%worldmap('world');
geoshow(x, rv, 'displaytype', 'texturemap');
%C = load('coast');
%plotm(C.lat, C.long, 'k');
setm(ax, 'Origin', [0 0 0])
land = shaperead('landareas', 'UseGeoCoords', true);
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5], 'FaceAlpha',[0]);

回答 (1 件)

michio
michio 2016 年 11 月 4 日
実行可能なコードをありがとうございます。
提示頂いたコードですと、地図上に10368個(72x144)存在する 2.5°四方がそれぞれ x で指定される一色で表示されます。
すなわち、Lat = 26.25°N, Lon = 21.25°E の位置は、[25.00°N - 27.25°N] x [20.00°E - 22.25°E] の色を指定するデータで表されています。具体的には x(27,81) あたりの値でしょうか。
細かい話になりますが、 geoshow のドキュメンテーションページの DisplayType オプションを説明している部分でも簡単に触れていますが、今回の色マップデータは Surface オブジェクトで作成されています。
Surface オブジェクト CData プロパティで色が決定されます。やや乱暴な例ですが、無理やり CData を 5x5 の行列に変更した場合の表示を確認していただきますと、上述の「2.5°四方がそれぞれ x で指定される一色で表示」のイメージがつかみやすいかと思いますので、お試しください。
filename =('TS_ave.txt');
x = load(filename);
x = reshape(x,72,144);
rv = [0.4 90 180];
ax = worldmap('World');
h = geoshow(x, rv, 'displaytype', 'texturemap');
setm(ax, 'Origin', [0 0 0])
land = shaperead('landareas', 'UseGeoCoords', true);
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5], 'FaceAlpha',[0]);
h.CData = magic(5);
  1 件のコメント
Naoki Ishibashi
Naoki Ishibashi 2016 年 11 月 4 日
ご回答頂きありがとうございます。

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by