Пакет: matlab.io.hdfeos.sw
Задайте новое поле данных в swath
defDataField(swathID,fieldname,dimlist,dtype)
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)
defDataField(swathID,fieldname,dimlist,dtype)
определяет поле данных, которое должно храниться в swath, идентифицированной как swathID
.
The dimlist
Вход может быть векторы символов массива ячеек или строковых массивов, содержащий имена размерности, или один вектор символов или строковый скаляр, если существует только одна размерность. dimlist
следует упорядочить так, чтобы сначала был указываема самый быстрый изменяющаяся размерность. Это противоположно порядку, в котором размерности перечислены в API C.
dtype
является типом данных поля и может быть одним из следующих значений.
'double'
'single'
'int32'
'uint32'
'int16'
'uint16'
'int8'
'uint8'
'char'
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)
определяет поле данных, которое может быть объединено с другими полями данных в соответствии со значением mergeCode
. The mergeCode
можно 'automerge'
или 'nomerge'
. Если mergeCode
является 'automerge'
затем библиотека HDF-EOS попытается объединить поля swath в один объект. Это не следует делать, если вы хотите получить доступ к полям swath индивидуально с другим интерфейсом. По умолчанию mergeCode
является 'nomerge'
.
Примечание
Чтобы гарантировать, что поля, заданные sw.defDataField
правильно установлены в файле, swath должен быть отсоединен, а затем повторно присоединен перед записью в любые поля.
Эта функция соответствует SWdefdatafield
функционирует в библиотеке HDF-EOS С API, но потому что MATLAB® использует упорядоченное расположение в стиле ФОРТРАН, 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);