Label
- это двумерный массив с символами;
char Label(Label_Characters, Length);
Также ncdump
испытывает трудности при преобразовании этого в список строк, например: ncdump -v Label MD02_2575.age
также дает "неправильный"Результаты:
Label =
"KKKKKKKKKUUUUU",
"IIIIIIIIIsssss",
"AAAAAAAAAeeeee",
"323232222rrrrr",
"343434544 ",
"191919899 ",
"102020700 ",
"940516573 " ;
Я написал «неправильно», потому что из самого файла NetCDF не ясно, что (1) отдельные символы должны быть объединены в строки, и (2), если это так,вдоль какого измерения должна выполняться конкатенация.Честно говоря, я удивлен, что ncdump
, R и Matlab делают это?
Просто, чтобы проиллюстрировать проблему (используя Python):
import netCDF4 as nc4
f = nc4.Dataset('MD02_2575.age')
v = f.variables['Label'][:,:]
label1 = v[:,0].tostring() # Correct
label2 = v[0,:].tostring() # Same as `ncdump`, `R`, ..
print(label1, label2)
Результатов: 'KIA33119' 'KKKKKKKKKUUUUU'