我是IDL的新手
我正在将数据从NCDF4导入到IDL中。所有变量的数值导入完美。然而,站名作为一个200的数组出现。输出的一个例子是:
84 82 69 76 69 87 95 65 82 82 79 32 32 32 0 0 0
等。
我从未在R中遇到过这个问题,我试过使用string命令,但这是行不通的。如果我注释掉string命令,那么脚本的其余部分就能很好地工作。我的剧本在下面
PRO Lat_Lon_Alt_Array
; This program is the extract the Latitute, Longigitude & Altitute
; with the Site name and file code.
; The purpose is to output the above dimensions from the station files
; into a csv file.
COMPILE_OPt IDL2
the_file_list = file_search('D:/Rwork/Project/25_Files/','*.nc')
;---------------------------------------------------------------
n_files=N_Elements(the_file_list)
station_name_st=string(n_files) ; try this
latitude_arr=DBLARR(n_files)
longitude_arr=DBLARR(n_files)
height_arr=DBLARR(n_files)
;----------------------------------------------------------------
FOR filein = 0, N_ElEMENTS (the_file_list)-1 DO BEGIN
station = NCDF_OPEN(the_file_list[filein])
;fred= NCDF_VARINQ(station,station_name)
NCDF_VARGET, station, 'station_name', station_name
NCDF_VARGET, station, 'lat', latitude
NCDF_VARGET, station, 'lon', longitude
NCDF_VARGET, station, 'alt', height
stop
;-------------------------------------------------------
;station_name_st[filein]=station_name
latitude_arr[filein]=latitude
longitude_arr[filein]=longitude
height_arr[filein]=height
;-----------------------------------------------------
Print,the_file_list[filein]
Print, 'station_name'
Print, station_name
Print,'lat'
Print,latitude
Print,'lon'
print,longitude
Print,'alt'
Print,height
HEADER=['File_Address','Latitude','Longitude','Altitude']
ENDFOR
WRITE_CSV, 'LatLon.csv',the_file_list,latitude_arr,longitude_arr,height_arr,$
HEADER=HEADER,TABLE_HEADER='LAT,LON & ALT OF STATIONS'
RETURN
END发布于 2017-09-10 04:03:00
在某些情况下,NetCDF文件将“字符串”存储为字节数组。您的station_name变量似乎就是这种情况之一。您只需要在使用STRING过程读取station_name之后,使用NCDF_VARGET函数来转换它。
NCDF_VARGET, station, 'station_name', station_name
PRINT, station_name
84 82 69 76 69 87 95 65 69 82 79 32 32 32 0 0 0 0 0 0 0 0
station_name = STRING(station_name)
PRINT, station_name
TRELEW_AERO https://stackoverflow.com/questions/46119389
复制相似问题