地球上の風速や水位などのデータ(もちろんこれ以外でも)をGoogle Earthにプロットすることができる.
準備(Toolboxのインストール)
- MATLAB File ExchangeからGoogle Earth Toolboxのページに行き,toolboxをダウンロード
- 圧縮されたファイルを解凍し,addpathなどでpathを通す
実際に使ってみる
plot ⇒ ge_plot,contour ⇒ ge_contour,imagesc ⇒ ge_imagesc,surf ⇒ ge_surfと分かりやすい対応.
ただし,ge_pcolorはなさそうなのでge_imagescを使うのが良さそう.Syntaxもほとんど元の関数と同じ.
しかし,オプションで入れる変数が特殊なのでdemoなどを見て確認すること.
使用例
NCEP再解析データの月平均高度10m風速データ(京大生存圏データベース)を利用して,風速をマッピングしてみる
%
% --- input (edit here)
%
% file names and directories
fdir = './';
fname_read = 'wspd.mon.mean.nc';
fname_save = 'wspd_snapshot_googleearth.kml';
% figure config
cax = [0 14];
cmap = jet;
%
% --- read data (NetCDF)
%
ncdisp(fullfile(fdir,fname_read))
% time
time = ncread(fullfile(fdir,fname_read),'time');
% wind speed
wspd = ncread(fullfile(fdir,fname_read),'wspd');
% longitude and latitude
lon = ncread(fullfile(fdir,fname_read),'lon');
lat = ncread(fullfile(fdir,fname_read),'lat');
%
% --- plot data on Google Earth
%
% 1フレーム目の風速をとってくる
wspd_snapshot = double(wspd(:,:,1));
% 型がdoubleしか受け付けないので変換する
lon_plt = double(lon);
lat_plt = flipud(double(lat));
% figure set up
alphaMatrix = ones(size(wspd_snapshot'))*0.75;
altitude = 10000;
% make kml
kmlStr_contour = ge_imagesc(lon_plt,lat_plt,wspd_snapshot',...
'imgURL','windspeed_snapshot.png',...
'cLimLow',cax(1),...
'cLimHigh',cax(2),...
'altitude',altitude,...
'altitudeMode','absolute',...
'colorMap',cmap,...
'alphaMatrix',alphaMatrix);
% save
ge_output(fname_save,kmlStr_contour)
Google Earth上にプロットしてみた例
ムービーを作ることも可能(詳しくは参考サイトを参照してください)