緯度、経度、値 Z (数百万のデータ ポイント) の座標を持つデータ ポイントがいくつかあります。各座標点は、サイズが 0.0005 のグリッドの中心を表します。値 Z を表す色でそれらをプロットしたいのですが、私のデータはグリッド データではなく、散布データ ポイントです。別の関数「geoshow」も同様のマップを作成できることを知っていますが、グリッド データ用です。matlab を使用して散布データをグリッド データに変換すると、メモリが不足します。だから私は pcolor を使ってこれを達成しました。以下のコード:
clc
clear all
data = load('data.txt');% This data.txt file is large, about 100M and each line with lat, lon and value Z
X = data(:,1); % Lat
Y = data(:,2); %Lon
Z = data(:,3); % Value Z
grid_dx=0.0005;
grid_dy=0.0005;
xl=X-grid_dx/2;
xr=X+grid_dx/2;
yu=Y+grid_dy/2;
yd=Y-grid_dy/2;
for i1=1:length(x)
xx=[xl(i1),xr(i1);xl(i1),xr(i1)];
yy=[yd(i1),yd(i1);yu(i1),yu(i1)];
zz=repmat(z(i1),2,2);
pcolor(xx,yy,zz)
colormap('jet')
end
小さなデータセットの場合、うまく機能します。ただし、データセットが大きいと時間がかかりすぎます。グリッディングなしで散布データをより高速にプロットすることは可能ですか? 関数 pcolor 、 geoshow などは問題ありません。助けてくれてありがとう!