Считайте данные из 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'})