需要 Spatial Analyst 许可。
设为空函数工具可以根据指定条件将所标识的像元位置设置为 NoData。
如果对某个输入条件栅格数据的求值结果为 True,则该工具会为输出像元返回 NoData;否则,将返回由 False 输入确定的值,该值可以是栅格数据,也可以是常数值。
在地理处理中,有两种方法可以确定像元位置求值结果是 True 还是 False:根据输入条件栅格数据,或根据应用了可选表达式的输入条件栅格数据。如果只使用输入栅格数据来确定,则将输入栅格中的非零值视为 True,而将所有零值都视为 False。求值结果为 True 的像元将接收 NoData 作为输出。将 NoData 用作输入的像元不等同于 False,仍会将 NoData 作为输出分配给该位置。
许多空间分析工具都可以用来确定哪些像元位置求值结果为 True,哪些结果为 False。特别是可以使用“数学”工具箱中的逻辑工具,其中的测试工具非常有帮助。
同样,设为空函数也经常用于将符合指定条件的所有值更改为 NoData。可以使用它处理剩余的选定像元、创建掩膜或去除模型内的某些像元以供将来考虑。
示例
使用表达式
要将值大于 5 的像元设置为 NoData,并且保留其他像元的原始值,请在工具对话框中使用以下参数:
输入条件栅格:InRas1
表达式:"Value < 5"
求值结果为 False 的输入栅格或常数值:InRas1
输出栅格:setnull_1
以下是在“地图代数”中实现相同功能的表达式:
OutRas = SetNull(InRas1 < 5, InRas1)
不使用表达式
下图将输入栅格 (InRas1) 用作条件。如果 InRas1 中的某个像元值为 True,(非 0 NoData),则将 NoData 分配给该像元位置;否则,将写入 InRas2 中的值以作为输出值。