1. 栅格计算器空值处理的核心逻辑
我第一次接触ArcGIS栅格计算器时,最头疼的就是那些莫名其妙的"黑洞"——空值区域。这些像牛皮癣一样分布在影像上的空白像素,不仅影响美观,更会导致后续分析结果出现偏差。经过多年实战,我发现空值处理的核心在于理解它的三重特性:
- 传染性:空值参与计算时会"污染"整个运算结果。比如两个栅格相加,只要有一个像素是空值,结果必然为空值
- 隐蔽性:空值在可视化时可能被默认颜色掩盖,容易在分析后期才暴露问题
- 多样性:不同数据源的空值标识可能不同(-9999、NaN、Null等)
处理空值的黄金法则是"早发现早治疗"。我常用的诊断命令是:
# 检查栅格空值分布
IsNull("dem.tif") # 生成二值图(1=空值,0=非空值)
这个简单的检查能帮你快速定位问题区域。有次处理气象数据时,就是靠它发现了卫星影像接收失败的条带状区域,避免了后续建模的重大错误。
2. 条件赋值的五种实战套路
2.1 基础赋值:把-9999变成0
原始文章提到的Con("raster"==-9999,0,"raster")是最基础的用法。但实际工作中我发现三个易错点:
- 浮点数陷阱:栅格值可能是-9999.0001这样的近似值,这时应该用:
Con(Float("raster") <= -9998.9, 0, "raster") - 多值替换:需要替换多个异常值时,嵌套Con函数会非常混乱。更优雅的写法是:


1万+

被折叠的 条评论
为什么被折叠?



