私は、Matlab 2011b とcontourf/contourfm を使用して、北米の地図に 2D データをプロットしています。mathworks の Web サイトの Contourfm のヘルプ ページから始めました。「geoid」と呼ばれる既定のデータと参照ベクトル「geoidrefvec」を使用すると、うまく機能します。
プリセット データを操作する簡単なコードを次に示します。
figure
axesm('MapProjection','lambert','maplo',[-175 -45],'mapla',[10 75]);
framem; gridm; axis off; tightmap
load geoid
%geoidrefvec=[1 90 0];
load 'TECvars.mat'
%contourfm(ITEC, geoidrefvec, -120:20:100, 'LineStyle', 'none');
contourfm(geoid, geoidrefvec, -120:20:100, 'LineStyle', 'none');
coast = load('coast');
geoshow(coast.lat, coast.long, 'Color', 'black')
whitebg('w')
title(sprintf('Total Electron Content Units x 10^1^6 m^-^2'),'Fontsize',14,'Color','black')
%axis([-3 -1 0 1.0]);
contourcbar
データを使用しようとすると問題が発生します。参照ベクトルが地球上でデータをプロットする場所を決定すると確信していますが、このベクトルがどのように機能するか、または別のデータで動作するように作成する方法に関するドキュメントを見つけることができませんでした。
ここに私のデータを含む.matファイルがあります。ITEC は、プロットされる値のマトリックスです。地球に対するグリッドの位置に関する情報は、RT と呼ばれるセル配列で見つけることができますが、基本的な考え方は次のとおりです。ITEC(1,1) は Lat=11 Long=-180 を表し、ITEC(58,39) は Lat = 72.5 Long = -53 を表し、等間隔のデータがあります。
参照ベクトルがマップ上のデータの配置場所を定義する方法を知っている人はいますか? それとも、これを達成する別の方法がありますか? 前もって感謝します!