"设计院的牛马,做的很多工作都是重复的工作。批量生产能节省大量的时间,ArcGIS的模型构建器就能减轻很多重复的工作。小编就以前段时间获得的降雨举例,怎样用模型构建器将历年降雨nc文件提取月平均降雨量到Excel表格。
"
01
制作思路
由于nc文件到excel数据其中的步骤很多,需要分步骤完成,最后通过添加子模型形成一个整体的工作模型。
三大步骤:利用nc文件创建tif文件——裁剪tif文件(以湖南为例)——tif文件数据处理成表格并转成excel表格。
1、
利用
nc文件创建tif文件
包含了创建NetCDF栅格图层、复制栅格、定义投影。
2、
裁剪tif文件(以湖南为例
)
包含了栅格裁剪。
3、
tif文件数据处理成表格并转成excel表格
包含了以表格显示分区统计、表转excel。
02
原始数据—处理成果
难点:1、由于一年包含了12个月,年份又有好多年,会存在文件套文件;2、三个步骤前一个步骤为后面步骤提供数据,程序执行顺序很重要。下面是原始数据跟处理成果。
每个nc文件最终都需要生成一个文件夹,其中包含了12个月的降雨表格。
表格会有湖南(区县)某年某月的平均降雨量(单位:0.1mm)。
03
模型构建
要实现最终的模型,前面必须要建立6个子模型,最终形成最终模型4。
1.1、nc文件转栅格:对于pre_2022.nc文件,插入解析路径获取pre_2022(图中值(2)),用这个名称去创建文件夹,创建的栅格文件就放在这个里面。
创建NetCDF栅格图层的参数填写如下,12个月的降雨量用for循环如下。
1.2 、批量nc文件转栅格:上一步只是将一个nc文件中12个月的数据创建tif文件,本步骤插入迭代器(文件迭代器),同时将第一步的子模型加进来(因为一个模型只能有一个迭代器)。这里为什么要创建一个输出的值后面解释。。。
文件迭代器的设置如下:迭代扩展名为nc的文件。
2.1、裁栅格:插入迭代器(栅格数据),用湖南省的数据裁剪,插入变量有输入文件夹与输出文件夹
。
栅格迭代器的设置如下:
迭代扩展名为TIF的文件;裁剪的参数设置如下
。
3.1、分区统计:插入迭代器(栅格数据),插入了解析路径、以表格显示分区统计、表转Excel
。
以表格显示分区统计
的设置如下:
区域字段用PYNAME(拼音城市名)是因为中文报错
。
3.2、根据文件夹里子文件创建新文件夹:插入迭代器(工作空间),插入子模型批量裁栅格、分区统计、插入创建文件夹
。
迭代工作空间设置如下:
主要目的就是为创建文件夹提供文件名
。
4、nc提取数据到excel:
插入子模型
批量nc文件转栅格
、
根据文件夹里子文件创建新文件夹
、插入变量:输入文件夹、输出文件夹
。
前面提到为什么子模型(
批量nc文件转栅格
)要创建一个输出值,是因为
子模型(
批量nc文件转栅格)要作为第一个运行的程序,后续的裁剪、转excel都是以
子模型(
批量nc文件转栅格)运行为前提条件
。(解决子模型运行优先级问题)
---------------
往期推荐
--------------