温度マップのデータの結合の仕方について
1 view (last 30 days)
Show older comments
地球全体の表面温度データ(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]);
0 Comments
Answers (1)
michio
on 4 Nov 2016
実行可能なコードをありがとうございます。
提示頂いたコードですと、地図上に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);
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!