matlab.io.hdfeos.sw.defDataField
名前空間: matlab.io.hdfeos.sw
swath 内での新しいデータ フィールドの定義
構文
defDataField(swathID,fieldname,dimlist,dtype)
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)
説明
defDataField(swathID,fieldname,dimlist,dtype)
は、swathID
で指定された swath に格納されるデータ フィールドを定義します。
dimlist
入力は、次元名が格納された文字ベクトルの cell 配列または string 配列にできます。次元が 1 つしかない場合は 1 つの文字ベクトルまたは string スカラーにできます。dimlist
は、最も速く変化する次元が最初にリストされるように並べられていなければなりません。これは、C API における次元の順序とは逆です。
dtype
はフィールドのデータ型で、次のいずれかの値にできます。
'double'
'single'
'int32'
'uint32'
'int16'
'uint16'
'int8'
'uint8'
'char'
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)
は、mergeCode
の値に従って他のデータ フィールドとマージできるデータ フィールドを定義します。mergeCode
入力は、'automerge'
または 'nomerge'
のいずれかです。mergeCode
が 'automerge'
の場合、HDF-EOS ライブラリは、swath フィールドを 1 つのオブジェクトにマージしようとします。他のインターフェイスで swath フィールドに個別にアクセスする場合は、これを行ってはなりません。既定の設定では mergeCode
は 'nomerge'
です。
メモ
sw.defDataField
で定義されるフィールドがファイル内で正しく確立されるように、swath の接続を解除して再接続してから、フィールドへの書き込みを行ってください。
この関数は HDF-EOS ライブラリ C API の関数 SWdefdatafield
に相当しますが、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.defDim(swathID,'Bands',3); 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'); dims = {'DataXtrack','DataTrack','Bands'}; sw.defDataField(swathID,'Spectra',dims,'float'); sw.detach(swathID); sw.close(swfid);