1

USGSのタイル N30W120_150 と N30W150_150から GMTED2010 デジタル標高モデル (DEM) をダウンロードしました。500mのDEMです。これらをmatlabのファイルに結合したいので、試しました:

Z=[Z150 Z120]; %Join the dems at their matching side
R=R120; %Create a new spatial referencing object based on the old one.
R.Lonlim=[R150.Lonlim(1),R120.Lonlim(2)]; %Modify what changed in R
R.RasterSize=size(Z); %Adjust the RasterSize referenced in R.

これは機能しますが、約 1/3 はサイズ/計算のために削除したい太平洋です。ただし、重要なことは、R で参照情報を正しく保つことです。

%Crop DEM to remove most ocean pixels.  about a 1/3 of dem.
Z=Z(:,floor(20/0.0042):end); %crop Z from -90 to -130 (20 degrees from the start (-150) longitude at 0.0042 deg/pixel according to the referencing info
R.Lonlim=[-150.0001+floor(20/0.0042)*0.0042, -90.0001]; %substract number of pixels cropped times deg/pixel value
R.RasterSize=size(Z); %Adjust the RasterSize referenced in R.

問題は、次のような特定の場所で標高を見ようとしたときです。

lat=[39 38 47.22];
lat=dms2degrees(lat);
long=[-105 52 9.84];
long=dms2degrees(long);

hght=ltln2val(Z,R,lat,long);

hght で指定された値が正しくありません。実際、緯度、経度のサブセットを見ると、次のようになります。

[r c]=latlon2pix(R,lat,long);
Z(r-30:r+3,c-30:c+30)

の値はhght、この中央のサブセットにも含まれていません。1 ピクセル程度ずれていればわかりますが、なぜそんなにずれているのでしょうか。トリミングせずに使用しhght=ltln2val(Z,R,lat,long)ても組み合わせても正しい (Z120 DEM と同じ値) 値が得られるため、参照オブジェクトが間違っていると想定します。

誰かが提供するかもしれないどんな助けも大歓迎です。ありがとうドミニク

4

0 に答える 0