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