【ArcGIS|空间分析】求年度NDVI最大值图像和NDVI最大值出现日期图像
目录
1.利用像元统计工具统计多个栅格图像的最大值或总和。
2.模型中的栅格迭代器可以将栅格数据输出为数据文件和文件名称。
3.在模型中使用解析路径工具将迭代器输出的文件名称去掉后缀。
4.使用栅格计算器时若需要输出多个文件,可以将名称命名为“%name%.img”(添加文件后缀名),并且存放在文件中而不能存放在有独特命名规则的数据库中的。
文章目录
1. 求年度NDVI最大值图像
1.1 数据
1999年黄河流域SPOT-VEG 影像,共36幅,每月份上中下三幅影像。
1.2 原理
分别将每幅黄河流域SPOT-VEG 影像中的同一位置像元相比较,选择每个像元位置的最大值。
1.3 工具
【Spatial Analyst工具】|【局部分析】|【像元统计工具】
- 输入栅格数据或常量值:36幅黄河流域SPOT-VEG 影像数据(.img)
- 输出栅格:选择输出路径并命名最后输出栅格数据
- 叠加统计:选择“MAXIMUM”
1.4 结果
制图时如需去掉背景,可以在符号化的时候将背景值0设置为NoData,也可以使用重分类将背景值0改为NoData,但会出现不是背景值的Value变为NoData的误差。
2. 求NDVI最大值出现日期图像
2.1 数据
使用python将数据名称改为只有时间字符并存放到一个文件夹内。
2.2. 原理
1.使用模型得到36幅具有最大值的影像。
2.利用像元统计工具将模型得到的影像进行求和叠加。
2.3. 模型
1.使用栅格迭代器将数据输出为数据集和名称,其中名称可作为其他工具的行内变量%name%。迭代栅格数据工具的作用为迭代工作空间或栅格数据目录中的所有栅格数据。
2.利用解析路径工具将栅格迭代器输出的带有后缀的名称解析成只有文件名的名称。解析路径工具的作用为将输入解析成相应的文件、路径、名称和扩展名。这里选择解析成名称。
3.利用计算值工具将解析的数据类型为字符串的名称改为长整型,以便后面栅格计算器计算。
4.在模型中添加NDVI最大值数据,利用栅格计算器分别计算每幅影像的每个像元位置是否具有的最大值,如果某幅影像的某个像元为36幅影像中的最大值则输出这个影像的名称即为时间,否则输出0。最后一共输出36幅影像数据,名称为相应的时间。
2.4. 叠加
使用像元统计工具将模型得到的36幅影像数据进行求和统计。
2.5. 符号化
因为在某个像元位置可能有多幅影像具有最大值,所以在求和的时候会重复。
2.6. 结果
3. 其他
3.1. 覆盖问题
如果直接将像元统计工具放在模型里,原来得到的36幅影像将作为中间数据不作保存,最后得到叠加后的影像会一个个覆盖掉,最后得到只有0值和19991221值的影像数据。
3.2. 叠加方法
除了使用【像元统计数据】工具外,还可以使用【加权总和】工具进行数据叠加。
3.3. 模型输出数据命名
输出数据命名为“%name%.img”,最后要添加一个文件后缀。并且数据只能存放在文件夹内,不可以存放在文件或个人数据库中,数据库中存放文件不能自己添加后缀。
3.4. 最高位置工具
求NDVI最大值出现日期图像还可以直接用【最高位置】工具,得到数据共有36个值,分别代表对应输入的36幅影像(注意顺序),数据量小的时候可以直接对应更改时间日期,数据量多的时候需要利用程序算法来更改。
3.5. 行内变量
在模型构建器中,可通过以百分号(%)将替换变量括号起来的方式,用一个变量的内容替换另一变量。这种变量替换方式成为行内变量替换。
转载自:https://blog.csdn.net/qq_40628258/article/details/82908276