Main Content

matlab.io.hdfeos.sw.defGeoField

パッケージ: matlab.io.hdfeos.sw

swath 内での新しいデータ フィールドの定義

構文

defGeoField(swathID,fieldname,dimlist,dtype)
defGeoField(swathID,fieldname,dimlist,dtype,mergeCode)

説明

defGeoField(swathID,fieldname,dimlist,dtype) は、swathID で指定された swath に格納される地理的位置フィールドを定義します。

dimlist 入力は、次元名が格納された文字ベクトルの cell 配列または string 配列にできます。次元が 1 つしかない場合は 1 つの文字ベクトルまたは string スカラーにできます。dimlist は、最も速く変化する次元が最初にリストされるように並べられていなければなりません。これは、C API における次元の順序とは逆です。

dtype はフィールドのデータ型です。

defGeoField(swathID,fieldname,dimlist,dtype,mergeCode) は、mergeCode の値に従って他の地理的位置フィールドとマージできる地理的位置フィールドを定義します。mergeCode 引数は 'automerge' または 'nomerge' となります。mergeCode'automerge' の場合、HDF-EOS ライブラリは、swath フィールドを 1 つのオブジェクトにマージしようとします。他のインターフェイスで swath フィールドに個別にアクセスする場合は、これを行ってはなりません。既定の設定では mergeCode'nomerge' です。

この関数は HDF-EOS ライブラリ C API の関数 SWdefgeofield に相当しますが、MATLAB® は FORTRAN スタイルの並べ替えを使用するので、dimlist パラメーターは、C ライブラリ API とは逆の順序になります。

import matlab.io.hdfeos.*
swfid = sw.open('myfile.hdf','create');
swathID = sw.create(swfid,'MySwath');
sw.defDim(swathID,'GeoTrack',2000);
sw.defDim(swathID,'GeoXtrack',1000);
sw.defDim(swathID,'DataTrack',4000);
sw.defDim(swathID,'DataXtrack',2000);
sw.defDimMap(swathID,'GeoTrack','DataTrack',0,2);
sw.defDimMap(swathID,'GeoXtrack','DataXtrack',1,2);
dims = {'GeoXtrack','GeoTrack'};
sw.defGeoField(swathID,'Longitude',dims,'float');
sw.defGeoField(swathID,'Latitude',dims,'float');
sw.detach(swathID);
sw.close(swfid);