1、处理Nodata
ISNULL(<raster>)
ISNULL函数检验当前像元是否包含Nodata,并返回1或0,它常与CON函数联合使用,来用其它值取代Nodata。
SETNULL(<condition>,{expression})
SETNULL函数用条件检验当前像元,如果为True,将它设为Nodata如果为False,将expression的结果写入像元。
注意:如果未设定可选参数{expression},SETNULL会将每个像元都设为Nodata。
2、CON函数
CON(条件)函数以地图代数函数的形式实现了传统的IF-ELSE结构
条件
任何执行结果为True或False的表达式都能作为条件参数。如果条件为True,执行True表达式。如果条件为False,执行False表达式。
True和False表达式
这些表达式可以使简单的,像单个的值或单个栅格,或者是由多个嵌套函数组成的复杂表达式,甚至包含其它CON函数。如果没有指定False表达式,而条件为False,那么CON就返回Nodata。
3、关于缝隙-填充缝隙
两种方法:
对离线数据:FixGap=Con(IsNull(ingrid), focalmajority(ingrid), ingrid)
对连续数据:FixGap=Con(IsNull(ingrid), focalmean(ingrid), ingrid)
其中focalmajority函数是返回邻域的众数值,focalmean计算邻域的平均值。