Считайте данные из HDF4 или HDF-EOS файла
data = hdfread(filename, datasetname)
data = hdfread(hinfo)
data = hdfread(...,param,value,...)
data = hdfread(filename,EOSname,param,value,...)
[data,map] = hdfread(...)
data = hdfread(filename, datasetname)
возвращает все данные в наборе данных, заданном datasetname
из файла HDF4 или HDF-EOS, заданного filename
. Чтобы определить имя набора данных в файле HDF4, используйте hdfinfo
функция.
Примечание
hdfread
может использоваться в версии 4.x HDF файлов или версии 2.x HDF-EOS файлов. Чтобы считать данные из файла HDF5, используйте h5read
.
data = hdfread(hinfo)
возвращает все данные в наборе данных, заданном структурой hinfo
, возвращенный hdfinfo
функция. Задайте поле в hinfo
структура, которая относится к конкретному типу набора данных и использует индексацию, чтобы определить, какой набор данных, когда их больше, чем один. Дополнительные сведения см. в разделе Установка набора данных для чтения.
data = hdfread(...,param,value,...)
возвращает подмножества данных согласно заданным парам параметров и значений. См. таблицы ниже, чтобы найти допустимые параметры и значения для различных типов наборов данных.
data = hdfread(filename,EOSname,param,value,...)
подставляет поле данных из точки, сетки или swath HDF-EOS, заданные EOSname
.
[data,map] = hdfread(...)
возвращает изображение data
и палитры map
для 8-битного растрового изображения.
В следующих таблицах показаны параметры поднабора, которые могут использоваться с hdfread
функция для определенных типов HDF4 данных. Эти типы данных
Обратите внимание на следующее:
Если параметру требуется несколько значений, используйте массив ячеек для хранения значений. Для примера, 'Index'
для параметра требуется три значения: start
, stride
, и edge
. Заключайте эти значения в фигурные скобки как массив ячеек.
hdfread(..., 'Index', {start,stride,edge})
Все значения индексов основаны на единицах.
Когда вы работаете с HDF- файлов SD, hdfread
поддерживает параметры, перечисленные в этой таблице.
Параметр | Описание |
---|---|
| Трехэлементный массив ячеек,
|
Для примера этот код читает набор данных Example SDS
из файла HDF example.hdf
. The 'Index'
параметр задает, что hdfread
начните считывать данные в начале каждой размерности, считайте до конца каждой размерности, но считывайте только каждое другое значение данных в первой размерности.
data = hdfread('example.hdf','Example SDS','Index',{[],[2 1],[]})
Когда вы работаете с HDF файлами Vdata, hdfread
поддерживает эти параметры.
Параметр | Описание |
---|---|
| Вектор символов или строковый скаляр, задающий имя считываемого поля. При задании нескольких имен полей используйте массив ячеек из векторов символов или строковые массивы. |
| 1 номер на основе, указывающий запись, с которой нужно начать чтение |
| Число, указывающее общее количество считываемых записей |
Для примера этот код читает набор Vdata Example Vdata
из файла HDF example.hdf
.
data = hdfread('example.hdf','Example Vdata','FirstRecord', 2,'NumRecords', 5)
Когда вы работаете с данными сетки HDF-EOS, hdfread
поддерживает три типа параметров:
Необходимые параметры
Необязательные параметры
Взаимоисключающие параметры - Вы можете задать только один из этих параметров в вызове hdfread
, и вы не можете использовать эти параметры в комбинации с любым необязательным параметром.
Параметр | Описание |
---|---|
Необходимый параметр | |
| Вектор символов или строковый скаляр, задающий поле для чтения. Для набора данных Grid можно задать только одно имя поля. |
Взаимоисключающие опциональные параметры | |
| Трехэлементный массив ячеек,
По умолчанию:
По умолчанию:
По умолчанию: Массив, содержащий длины соответствующих размерностей |
| Двухэлементный массив ячеек, |
| Двухэлементный массив ячеек, Примечание: Это пиксельный эквивалент чтения |
| Вектор, указывающий координаты считываемой плитки, для файлов HDF-EOS Grid, которые поддержка плитки |
Необязательные параметры | |
| Двухэлементный массив ячеек, |
| Двухэлементный массив ячеек, |
| Двухэлементный массив ячеек,
|
Для примера,
data = hdfread('grid.hdf','PolarGrid','Fields','ice_temp','Index', {[5 10],[],[15 20]})
Когда вы работаете с данными HDF-EOS Point, hdfread
имеет два обязательных параметра и три необязательных параметра.
Параметр | Описание |
---|---|
Необходимые параметры | |
| Вектор символов или строковый скаляр, содержащий имя считываемого поля набора данных. Для нескольких имен полей используйте массив ячеек из векторов символов или строковые массивы. |
| 1 номер на основе, определяющий, с какого уровня считывать в наборе данных HDF-EOS Point |
Взаимоисключающие опциональные параметры | |
| Двухэлементный массив ячеек, |
| Вектор, указывающий номера записи для чтения |
| Двухэлементный массив ячеек, |
Для примера,
hdfread(...,'Fields',{field1, field2},... 'Level',level,'RecordNumbers',[1:50, 200:250])
Когда вы работаете с данными HDF-EOS Swath, hdfread
поддерживает три типа параметров:
Необходимые параметры
Необязательные параметры
Взаимоисключающие
Вы можете использовать только один из взаимоисключающих параметров в вызове hdfread
, и вы не можете использовать эти параметры в комбинации с любым необязательным параметром.
Параметр | Описание |
---|---|
Необходимый параметр | |
| Вектор символов или строковый скаляр, содержащий имя считываемого поля набора данных. Для набора данных Swath можно задать только одно имя поля. |
Взаимоисключающие опциональные параметры | |
| Трехэлементный массив ячеек,
|
| Трехэлементный массив ячеек,
|
Необязательные параметры | |
| Трехэлементный массив ячеек,
|
| Двухэлементный массив ячеек,
|
Для примера,
hdfread('swath.hdf', 'Example Swath', 'Fields', 'Temperature', ... 'Time', {5000, 6000, 'midpoint'})