MatLab の TriScatteredInterp に問題があります。その場所の対応する温度を持つ一連の座標点を使用しています。それらはすべて、形式 (long、lat、temp) の度数です。これらのポイントで内挿を作成して、他のポイントの値を見つけてグリッドを構築できるようにします。これは私がこれまでに行ったことです:
long = data(:,1)
lat = data(:,2)
values = data(:,3)
lat = lat.*(pi/180)
long = long.*(pi/180)
X = cos(lat).*cos(long)
Y = cos(lat).*sin(long)
Z = sin(lat)
F = TriScatteredInterp(X,Y,Z,values)
[long1 lat1] = meshgrid(-pi:pi/360:pi, -pi/2:pi/360:pi/2);
X1 = cos(lat1).*cos(long1)
Y1 = cos(lat1).*sin(long1)
Z1 = sin(lat1);
F.Method = 'natural'
InterpVals = F(X1,Y1,Z1);
mesh(long1, lat1, InterpVals)
すべての (経度、緯度) ポイントでわかるように、対応する球上のポイントを計算し、TriScatteredInterp の 3D バージョンを使用しました。問題は、補間が「最も近い」方法でのみ機能することです。これは、線形または自然が NaN のみを生成するためです。私が読んだように、これは、補間したい点が三角形分割の凸包の外にあるときに起こりますが、必要な点は正確に球上にあり、入力点は範囲全体をカバーしています (Long : -180 から180、緯度: -90 から 90)、すべての点が凸包の外側にある可能性があるかどうかはわかりません。どんな助けでも大歓迎です、ty。