在Java中读取NC(NetCDF)文件,并处理其中的scale_factor和add_offset属性,通常需要使用NetCDF库。以下是一个分步骤的指南,包括代码片段,来帮助你完成这个任务。 1. 读取NC文件内容 首先,你需要确保你的项目中包含了NetCDF库的依赖。如果你使用的是Maven项目,可以在pom.xml中添加以下依赖: xml <depe
可以看到,scale_factor和add_offset的值都已经显示出来了。 那么,我们就可以将这个scale_factor和add_offset,分别作用到我们读取得到的原始数据上(因为我这里.nc格式数据的数据量非常大,所以我们就只处理前100个),来看看其数值是否正确;具体代码如下。1vector<double> var_array(time_size * ...
scalefactor = nc_data.variables[key].scale_factor new_variable.missing_value = fillvalue a = nc_data.variables[key][:].data a1 = np.where(a == fillvalue, np.nan, a)# 处理其中的nan值new_data_clip = a1[min_hang:max_hang +1]# 比例偏移 例如scalefactor为0.1,实际值存入自动扩大10倍(...
[:] # 读取变量的时候,会自动根据scale factor对数值进行还原,但是Nodata的栅格会存储为-32768 # 无论是日数据还是小时数居,变量名都是"AOT_L2_Mean" AOD_arr = np.asarray(nc_data_obj.variables["AOT_L2_Mean"]) # 将AOD数据读取为数组 # 这个循环将所有Nodata的值(即-32768)全部改为0 for i in...
%数据还原换算公式是: 实际数据=nc数据*scale_factor+add_offset. %scale_factor和add_offset的数值可以从ncbrower得到(具体见readme_nc.txt). %或在命令窗口中输入ncdump,打开nc文件,据matlab窗口显示可知; %本数据的scale_factor和add_offset分别为1和119765.%--- for ii=1:di fprintf(...
可以看到,scale_factor和add_offset的值都已经显示出来了。 那么,我们就可以将这个scale_factor和add_offset,分别作用到我们读取得到的原始数据上(因为我这里.nc格式数据的数据量非常大,所以我们就只处理前100个),来看看其数值是否正确;具体代码如下。 代码语言:javascript 代码运行次数:0 运行 AI代码...
你好,因为nc数据涉及到需要scale_factor和add_offset进行处理,请问一下panoply显示的数据是处理前还是处理后的呢? 2022-09-28 回复喜欢 1111 我也想问,这个的显示是不是修正后的呀,因为我看数值是对的 2024-04-13 回复喜欢 沐沐 Blue Ocean 好的,谢谢! 2022-10-04 回复喜欢展开其他...
有scale factor的变量需要用short2flt函数转换,不需要自行计算 f = addfile("air.2m.gauss.1979....
add_offset、scale_factor : 这两个参数为解包参数,用于在存储时对数据进行打包,在实际使用的时候再通过解包算法将其还原为真实值。解包算法为真实值 = 打包值 * scale_factor + add_offset。如果你遇到一个nc文件,读出来的数据很奇怪(很整齐的整数、不合理的数据范围),或者解包参数不为默认值,则需要进行解包处...
数据出来不是几百k而是几万几万的话,是因为没有乘上scale factor,一般微波的话就是乘以0.01(直接将data1乘0.01即可). 17楼2023-12-30 11:50 回复 pxz05 世纪超台 14 在出来的图像中,可以点击上方的放大镜选项放大图像如果需要读取具体多少成环的话可以点击保存键左边的箭头(Customize)点击这里的OK在出来...