ArcGIS基础:栅格数据中的NoData数值(空值)的处理

先看下实验操作数据,也是原始数据,如下所示:

是一个非常普通的DEM栅格数据,中间空了一大块,也就是nodata,那么如果进行数据运算处理时,nodata值的像元是不参与,因此,需要进行简单处理。
在这里插入图片描述

方法1:使用【栅格计算器】通过设置条件参数,把nodata替换掉,如下所示:

栅格计算器工具位于【spatial analyst工具】下,输入如下计算表达式,con表示条件函数,isnull表示条件判断,表达式的意思是如果不是dem,那就是nodata了,那么就对其赋值1,如果是DEM,就保持原来的值不变。

在这里插入图片描述

输出结果如下所示:

看下像素值,现在nodata变成了1,这样的话,像元值为1就可以参与后期的栅格运算了。
在这里插入图片描述

方法2:

使用【重分类】工具,该工具也是位于【spatial analyst】工具下,如下所示,需要在重分类设置里把其他所有值【旧值】设置为nodata【新值】,nodata重分类为2。
在这里插入图片描述
为了便于处理,可以在分类里的类别里设置为1,就快速实现如上设置。
在这里插入图片描述

查看输出结果,可看出,绿色部分原来是nodata,现在是2,其他数值是868,显示为白色(无关系)。
在这里插入图片描述

接下来进行【镶嵌至新栅格】操作,该工具位于【数据管理工具】的【栅格数据集】下。

在【输入栅格】里要特别注意一下数据的输入顺序。

在这里插入图片描述
像元大小可以根据原始数据的大小进行设置,为5*5,波段数为1,点击确定即可。
在这里插入图片描述
如下图为合并镶嵌之后的结果,原来的nodata变成了2。
在这里插入图片描述
方法3:

先使用【栅格转ASCII】工具,该工具位于【转换工具】的【由栅格转出】下,输入栅格数据进行以下设置。
在这里插入图片描述
用记事本打开,可以看到nodata的值是-9999.
在这里插入图片描述
可以使用记事本的【全部替换】功能把-999替换为1.
在这里插入图片描述
可以使用全部替换,如下所示:
在这里插入图片描述
然后使用【转为栅格】下的【ASCII转栅格】工具,把记事本里的数值还原为栅格数据(新的DEM数据)。

在这里插入图片描述

### 处理 ArcGIS 栅格计算器中的像元为空值问题 在处理 ArcGIS 栅格计算器中像元为空值的问题时,可以采用多种方法来确保数据的有效性和完整性。以下是几种常见的方式: #### 使用 `Con` 函数将空值赋予特定数值 当遇到栅格中有空值的情况,可以通过条件语句将其换为指定的数值。具体实现如下所示: ```python CON(ISNULL("raster"), 100, "raster") ``` 此表达式的含义是如果 `"raster"` 中存在空值,则这些位置被赋为 100;否则保留原始[^3]。 #### 使用 `SetNull` 函数排除不需要的数据 对于某些应用场景下,可能更倾向于移除不符合条件的数据而不是填充它们。此时可以利用 `SetNull` 来达到目的。例如要将栅格图像中小于零或大于某阈的部分设为 NoData: ```python SetNull(("huss_mean_clip.tif" > 0.0178011342) | ("huss_mean_clip.tif" < 0.0016089498), "huss_mean_clip.tif") ``` 这里表示当 `"huss_mean_clip.tif"` 的像素超出给定范围时,该处变为 NoData[^4]。 #### 替换特定NoData 另一种常见的需求是从栅格文件里删除具有特殊意义(比如背景色代表的无信息区域)的像元。这同样可以用到 `Con` 或者 `SetNull` 方法之一。以替换 0 和 4 这两个特定为例: ```python SetNull("这里是栅格图像名称" == 0 & 4, 1) ``` 上述命令会把输入栅格内等于 0 及 4 的地方都变成 NoData 而其余部分保持不变并统一置为 1[^2]。 通过以上介绍的方法可以根据实际项目的需求灵活调整策略,在 ArcGIS 平台上高效地管理和分析地理空间数据集。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值