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

조회 수: 1 (최근 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일
ご回答頂きありがとうございます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by