Пакет: matlab.io.hdfeos.sw
Задайте новое поле данных в swath
defDataField(swathID,fieldname,dimlist,dtype)
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)
defDataField(swathID,fieldname,dimlist,dtype)
задает поле данных, чтобы храниться в swath, идентифицированном swathID
.
dimlist
введите может быть массив ячеек векторы символов или массив строк, содержащий имена размерности или односимвольный вектор, или представить скаляр в виде строки, если существует только одна размерность. dimlist
должен быть упорядочен таким образом, что самая быстрая различная размерность перечислена сначала. Это противоположно от порядка, в котором размерности перечислены в API C.
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 в отдельный объект. Это не должно быть сделано, если вы хотите получить доступ к полям swath индивидуально с другим интерфейсом. По умолчанию, mergeCode
'nomerge'
.
Гарантировать что поля, заданные sw.defDataField
правильно устанавливаются в файле, swath должен быть отсоединен и затем повторно прикреплен прежде, чем записать в любые поля.
Эта функция соответствует SWdefdatafield
функция в API библиотеки HDF-EOS C, но потому что MATLAB® использует упорядоченное расположение FORTRAN-style, dimlist
параметр инвертируется относительно Library API C.
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);