Я работаю с Matlab API, который загружает данные из проприетарного формата в ряд структур.Вот пример того, как выглядит набор данных после загрузки файла:
>> Имена полей (data (1))
ans =
'Grid_Point_ID'
'Grid_Point_Latitude'
'Grid_Point_Longitude'
'Grid_Point_Altitude'
'Grid_Point_Mask'
'BT_Data'
>> data (1) .BT_Data
ans =
BT_Data: [1x66 struct]
>> имена полей (data (1) .BT_Data (1))
ans =
'Flags'
'BT_Value_Real'
'BT_Value_Imag'
'Pixel_Radiometric_Accuracy'
'Incidence_Angle'
'Azimuth_Angle'
'Faraday_Rotation_Angle'
'Geometric_Rotation_Angle'
'Snapshot_ID_of_Pixel'
'Footprint_Axis1'
'Footprint_Axis2'
Я хочу перебрать все data(i).BT_Data(j)
.У меня уже есть длина data
в порядке, но я не могу получить размер / длину BT_Data
(которая варьируется для каждого data(i)
):
>> length (data (1) .BT_Data)
ans =
1
>> size (data (1) .BT_Data)
ans =
1 1
Мой ожидаемый результат здесь ans = 66
(или эквивалентный массив для size()
).
Я не очень знаком с форматом данных структуры, который может быть частью моей борьбы.Но length(data)
работал нормально, поэтому я запутался, почему он не будет работать на BT_Data
(я также пробовал BT_Data(:)
).
Наиболее релевантный предыдущий ответ, который я могу найти, это 1757250 , но я не мог заставить его работать (я думаю, что это не применимо здесь).Спасибо за любую информацию, которую вы можете предоставить.
------
РЕДАКТИРОВАТЬ ------
Вот еще немного понимания того, как я должен использовать API, чтобы даже добраться до точки, где я нахожусьat:
>> system ('ln -sf /opt/rwapi-matlab/lib/rwapi/smos/config/xml_rw_api.usr_conf.xml.');
setenv ('XML_RW_API_HOME',' / opt / rwapi-matlab / lib / rwapi ');
путь (путь,' / opt / rwapi-matlab ');
>> prod = RWAPI.product (' SM_OPEB_MIR_SCLF1C_20110202T236110110110641102102641101)
Array SMOS Matlab Interface версия 1.4
(c) 2010 Array Systems Computing Inc. из Канады (http://www.array.ca)
Для распространения или модификации этого программного обеспечения требуется письменное разрешение от Array
prod =
RWAPI.product handle
Package: RWAPI
Properties:
filename: 'SM_OPEB_MIR_SCLF1C_20110202T013659_20110202T014642_346_060_1'
header: [1x1 struct]
xml_datablock: []
Методы, события, суперклассы
>> data = prod.dataset (2)
data =
RWAPI.datasetобрабатывать без свойств. Пакет: RWAPI
Методы, события, суперклассы
>> data (1)
ans =
Grid_Point_ID: 251721
Grid_Point_Latitude: 25.5000
Grid_Point_Longitude: -102.2590
Grid_Point_Altitude: 1.4714e+03
Grid_Point_Mask: 2
BT_Data: [1x66 struct]
>>данные(1) .BT_Data
ans =
BT_Data: [1x66 struct]
>> data (1) .BT_Data (1)
ans =
Flags: 6229
BT_Value_Real: 262.5275
BT_Value_Imag: 0
Pixel_Radiometric_Accuracy: 6160
Incidence_Angle: 31966
Azimuth_Angle: 10299
Faraday_Rotation_Angle: 65277
Geometric_Rotation_Angle: 58605
Snapshot_ID_of_Pixel: 65752530
Footprint_Axis1: 19649
Footprint_Axis2: 14625
>> whos
Имя Размер Байты Атрибуты класса
и 1x1 1 логический
данные 1x19091 112 RWAPI.dataset
prod 1x2 112 RWAPI.product