:使用ArcGIS Pro的方法适用于简单的气象月值/年值数据,便于直观了解nc文件的组织和输出流程;Matlab适用于更复杂的日值/时值等数据,快
方法一:ArcGIS Pro
此处的气象数据以中国1km分辨率逐月降水量数据集(1901-2022)为例
(1)创建NetCDF栅格文件
多维工具-NetCDF-创建NetCDF栅格图层
输入数据为2000-2002年的月均降水栅格 波段维度选择时间
图层属性-源-波段元数据
显示36个波段 即36个月份
(2)构建模型,批量输出
分析-模型构建器
把工具箱中的多维工具-NetCDF-创建NetCDF栅格图层工具拖入模型中
双击 创建NetCDF栅格图层
ModelBuiler-迭代器-for循环
双击 对于
双击 创建NetCDF栅格图层
维度 输入选择time 值处手动输入%值%
按住值,拉出一条线指向创建NetCDF栅格图层,在弹出的对话框中选择前提条件
将数据管理工具-栅格-栅格数据集-复制栅格拖进模型中
将图层pre_layer拉线到复制栅格上,选择条件为输入栅格
双击复制栅格
将数据管理工具-投影和变换-定义投影拖入模型中
拉线、选择条件:输入数据集或要素类
双击定义投影
ModelBuiler-保存/验证/运行
欧了 别忘了保存自己创建的工具
方法二:Matlab
当nc栅格图层的波段名称不是简单的月份1-12,而是01/01/2000的日值或者是01:00/01/01/2000的小时值时,使用上述的模型构建器处理就会报错;可以在arcgis中查看nc文件,了解维度、波段的情况后,直接使用matlab批量输出
此处的气象数据以中国区域地面气象要素驱动数据集(1979-2018)为例
clc;clear;
[aaaaa,R]=geotiffread('F:\CMFD_1979_2018\Data_forcing_01dy_010deg\srad\srad_Layer1.tif');%导入样例tif
info=geotiffinfo('F:\CMFD_1979_2018\Data_forcing_01dy_010deg\srad\srad_Layer1.tif');%导入样例tif
data=ncread('F:\CMFD_1979_2018\Data_forcing_01dy_010deg\temp\2018\temp_2018.nc','temp');%加载nc文件
for day=1:365
data1=data(:,:,day); %得到每年的365天数据数据
data2=rot90(data1);
filename=strcat('F:\CMFD_1979_2018\Data_forcing_01dy_010deg\temp\2018\temp2018_',int2str(day),'.tif'); %输出文件名:srad1.tif
geotiffwrite(filename,data2,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag);
end
输出如下: