Это должно быть тривиально, но я никак не могу понять, как это сделать: я пытаюсь прочитать значение атрибута из файла NetCDF4 в R. Теперь мой файл NetCDF4 (загружен здесь ) довольно сложный, то есть содержит вложенные группы.
Я хотел бы извлечь значение атрибута с именем gml:posList
из группы METADATA/EOP_METADATA/om:featureOfInterest/eop:multiExtentOf/gml:surfaceMembers/gml:exterior
, используя R. Я не уверен, имеет ли это значение в этом контексте, но эта группа не содержит никаких переменных, только атрибуты метаданных.
Я пробовал следующее
library(ncdf4)
fid = nc_open('S5P_NRTI_L2__NO2____20180728T130136_20180728T130636_04089_01_010100_20180728T140302.nc')
ncatt_get(fid, varid=0, attname='METADATA/EOP_METADATA/om:featureOfInterest/eop:multiExtentOf/gml:surfaceMembers/gml:exterior/gml:posList', verbose=TRUE)
но это возвращает
[1] "ncatt_get: entering"
[1] "ncatt_get: is a global att"
[1] "ncatt_get: calling ncatt_get_inner for a global att"
[1] "ncatt_get_inner: entering with ncid= 65536 varid= -1 attname= METADATA/EOP_METADATA/om:featureOfInterest/eop:multiExtentOf/gml:surfaceMembers/gml:exterior/gml:posList"
[1] "ncatt_get_inner: about to call R_nc4_inq_att"
[1] "ncatt_get_inner: R_nc4_inq_att returned with error= -43 type= -1"
$`hasatt`
[1] FALSE
$value
[1] 0
предположительно указывает на то, что он не может найти атрибут, и я предполагаю, что я как-то неправильно понял путь.
Итак, мой вопрос: как мне указать путь к атрибуту, который а) находится во вложенной группе и б) не связан с определенной переменной, так что ncatt_get () может найти атрибут и вернуть его значение?
Кстати, просто для справки, в Matlab команда
test = ncreadatt(file, 'METADATA/EOP_METADATA/om:featureOfInterest/eop:multiExtentOf/gml:surfaceMembers/gml:exterior', 'gml:posList')
работает нормально, поэтому я знаю, что это не проблема с файлом.
Любые советы будут высоко оценены!