Пакет: 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);