需要 Spatial Analyst 许可。
局部函数可用于逐个像素执行按位运算、条件运算、逻辑运算、数学运算和统计运算。根据运算类型,可能需要 1、2、3 或 n 个输入栅格。为了实现某些条件或逻辑函数,可能需要将几个局部函数叠加在一起。
该函数包括四个参数:
- 输入
- 运算
- 像元大小
- 范围
输入
局部函数中可以使用多个输入。局部函数仅作用于单个波段。如果具有多波段栅格,请使用“波段提取”函数来指定要在局部函数中使用的波段。
从磁盘添加栅格 | 添加位于磁盘上的栅格。可添加栅格数据集、镶嵌数据集和栅格产品。 |
添加函数链 | 添加函数链作为输入。 |
添加标量 | 添加标量值。标量值必须为数值。 |
添加变量 | 添加变量。变量是字符串,表示将要在运行时设置的栅格。通常,它是镶嵌数据集中使用的变量名。 |
添加所选输入的引用 | 添加所选栅格或所选函数链输入的引用副本。所引用栅格或函数链的更改将反映在该引用副本中。 创建多个可能使用相同引用输入的局部函数时,这将十分有用。 |
添加所选输入的副本 | 添加所选函数链输入的静态副本。函数链副本的更改不会反映此静态副本。 创建多个在函数链中存在细微差异的类似局部函数时,这将非常有用。 |
运算
这些运算将对输入栅格执行指定的函数。运算信息框会告知用户所选的“运算”以及所需的输入数。
按位 | |
按位与 | 对两个输入栅格的二进制值执行“按位与”运算。 |
按位左移 | 对两个输入栅格的二进制值执行“按位左移”运算。 |
按位非 | 对输入栅格的二进制值执行“按位非”(求反)运算。 |
按位或 | 对两个输入栅格的二进制值执行“按位或”运算。 |
按位右移 | 对两个输入栅格的二进制值执行“按位右移”运算。 |
按位异或 | 对两个输入栅格的二进制值执行“按位异或”运算。 |
像元统计数据 | |
众数 | 确定输入的众数(出现次数最多的值)。 |
最大值 | 确定输入的最大值。 |
平均值 | 计算输入的平均值。 |
中值 | 计算输入的中位数。 |
最小值 | 确定输入的最小值。 |
少数 | 确定输入的少数(出现次数最少的值)。 |
范围 | 计算输入的范围(最大值和最小值之差)。 |
标准差 | 计算输入的标准差。 |
总和 | 计算输入的总和(所有值的总和)。 |
变异度 | 计算输入的变异度(唯一值的数量)。 |
众数(忽略 NoData) | 确定输入的众数(出现次数最多的值)。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
最大值(忽略 NoData) | 确定输入的最大值。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
平均值(忽略 NoData) | 计算输入的平均值。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
中值(忽略 NoData) | 计算输入的中位数。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
最小值(忽略 NoData) | 确定输入的最小值。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
少数(忽略 NoData) | 确定输入的少数(出现次数最少的值)。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
范围(忽略 NoData) | 计算输入的范围(最大值和最小值之差)。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
标准差(忽略 NoData) | 计算输入的标准差。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
总和(忽略 NoData) | 计算输入的总和(所有值的总和)。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
变异度(忽略 NoData) | 计算输入的变异度(唯一值的数量)。 在确定统计值时只使用包含数据值的像元。如果某个位置上存在 NoData 值,则将忽略该 NoData 值。只有包含数据值的像元才会用来确定输出。 |
条件分析 | |
条件函数 | 执行 If, Then, Else 条件运算。使用条件运算符时,通常需要将两个或更多个局部函数链接在一起,其中一个局部函数描述条件,第二个局部函数是使用该条件的条件运算符,用于指示输出结果为真还是假。 |
设为空函数 | “设为空函数”根据指定条件将所识别的像元位置设置为 NoData。如果条件评估为真,则返回 NoData;如果条件评估为假,则返回由另一个栅格指定的值。 |
逻辑的 | |
布尔与 | 对两个输入栅格的像元值执行布尔与运算。 如果两个输入值都为真(非零),则输出值为 1。如果一个或两个输入为假(零),则输出为 0。 |
布尔非 | 对此输入栅格的各像元值执行“布尔非”(求反)运算。 如果输入值为真(非零),则输出值为 0。如果输入值为假(零),则输出为 1。 |
布尔或 | 对两个输入栅格的像元值执行“布尔或”运算。 如果一个或两输入值为真(非零),则输出值为 1。如果两个输入值都为假(零),则输出为 0。 |
布尔异或 | 对两个输入栅格的像元值执行“布尔异或”运算。 如果一个输入值为真(非零)而另一个为假(零),则输出为 1。如果两个输入值都为真或两个输入值都为假,则输出为 0。 |
等于 | 以逐个像元比较的方式对两个输入执行关系等于运算。 如果第一个栅格数据等于第二个栅格数据则为像元返回 1,否则返回 0。 |
大于 | 以逐个像元比较的方式对两个输入执行关系大于运算。 如果第一个栅格数据大于第二个栅格数据则为像元返回 1,否则返回 0。 |
大于等于 | 以逐个像元比较的方式对两个输入执行关系大于或等于运算。 如果第一个栅格数据大于或等于第二个栅格数据则为像元返回 1,否则返回 0。 |
为空 | 逐个像元来确定输入栅格中哪些值为 NoData。 如果输入值为 NoData,则返回 1,否则返回 0。 |
小于 | 以逐个像元比较的方式对两个输入执行关系小于运算。 如果像元中第一个栅格数据小于第二个栅格数据则返回 1,否则返回 0。 |
小于等于 | 以逐个像元比较的方式对两个输入执行关系小于或等于运算。 如果第一个栅格数据小于或等于第二个栅格数据则为栅格返回 1,否则返回 0。 |
不等于 | 以逐个单元比较的方式对两个输入执行关系不等于运算。 在第一个栅格不等于第二个栅格时为像元返回 1,否则返回 0。 |
数学 | |
Abs | 计算栅格中像元的绝对值。 |
除 | 将两个栅格的值逐个像元地相除。 |
Exp | 计算栅格中各像元以 e 为底的指数。 |
Exp10 | 计算栅格中各像元以 10 为底的指数。 |
Exp2 | 计算栅格中各像元以 2 为底的指数。 |
转为浮点型 | 将每个栅格像元的值转换为浮点型表达形式。 |
转为整型 | 通过截断将栅格的每个像元值转换为整型。 |
Ln | 计算栅格中各像元的自然对数(以 e 为底)。 |
Log10 | 计算栅格中各像元以 10 为底的对数。 |
Log2 | 计算栅格中各像元以 2 为底的对数。 |
减 | 逐个像元地从第一个输入栅格的值中减去第二个输入栅格的值。 |
求模 | 逐个像元地求出第一个栅格数据除以第二个栅格数据的余数(模)。 |
取反 | 逐个像元地更改输入栅格的像元值符号(乘以 -1)。 |
加 | 逐个像元地将两个栅格的值相加(求和)。 |
幂函数 | 对另一个栅格中的像元值进行乘方运算,将结果作为栅格的值。 |
下舍入 | 返回栅格中每个像元的最近的较小整数值(以浮点表示)。 |
上舍入 | 返回栅格中每个像元的最近的较大整数值(以浮点表示)。 |
平方 | 计算栅格中像元值的平方值。 |
平方根 | 计算栅格中像元值的平方根。 |
乘积 | 将两个栅格的值逐个像元地相乘。 |
三角函数 | |
ACos | 计算栅格中像元的反余弦。 |
ACosH | 计算栅格中各像元的反双曲余弦。 |
ASin | 计算栅格中各像元的反正弦。 |
ASinH | 计算栅格中各像元的反双曲正弦。 |
ATan | 计算栅格中各像元的反正切。 |
ATan2 | 计算栅格中各像元的反正切(基于 x、y)。 |
ATanH | 计算栅格中各像元的反双曲正切。 |
Cos | 计算栅格中像元的余弦。 |
CosH | 计算栅格中像元的双曲余弦。 |
Sin | 计算栅格中像元的正弦。 |
SinH | 计算栅格中像元的双曲正弦。 |
Tan | 计算栅格中像元的正切。 |
TanH | 计算栅格中像元的双曲正切。 |
像元大小和范围
选择输出栅格中使用的像元大小。如果所有输入像元大小均相同,则所有选项都会产生相同的结果。
像元大小
第一个 | 使用输入栅格的第一个像元大小。这是默认设置。 |
最后一个 | 使用输入栅格的最后一个像元大小。 |
最大值 | 使用所有输入栅格中的最大像元大小。 |
平均值 | 使用所有输入栅格的平均像元大小。 |
最小值 | 使用所有输入栅格中的最小像元大小。 |
选择输出栅格中应使用的范围。
范围
第一个 | 使用第一个输入栅格的范围来确定处理范围。这是默认设置。 |
交叉点 | 使用叠置像素的范围来确定处理范围。 |
最后一个 | 使用最后一个输入栅格的范围来确定处理范围。 |
联合 | 使用所有栅格的范围来确定处理范围。 |