
NoData数据是栅格数据中的一个特殊值,即属性值为空,代表该像元位置处不存在任何值。因此,在众多分析过程中,具有Nodata值的栅格像元不参与运算操作,故而无法使用修改栅格像元值的常规方法来处理 NoData数据,需要借助条件判断、叠加合并、格式转换等方法来处理。
本实验讲述使用ArcGIS软件对栅格数据中的NoData数据进行处理的三种有效方法。

在ArcToolbox 中,打开【空间分析】→【地图代数】→【栅格计算器】对话框:

输入公式:Con(IsNull("dem"),1,"dem");在【输出栅格】输入“dem1”;点击【OK】,得到对NoData进行赋值为1后的栅格数据。注:Con 函数中,第一个参数为条件判断,第二个参数为判断为True时的值,第三个参数为判断为False时的值。

计算结果:

打开【空间分析工具】→【重分类】→【重分类】对话框:

【输入栅格】设置为“dem”,【分类字段】设置为“Value”,【分类】项中将NoData值设置为“2”,其他值域统一设置为“NoData”;【输出栅格】中设置为为“value”;点击【确定】。注:点击【分类】按钮打开分类参数设置类别为1可快速设置新项。

计算结果:

打开【转换工具】→【由栅格转出】→【栅格转 ASCII】对话框:

【输入栅格】设置为“dem”,【输出ASCII栅格文件】设置为“RasterT_dem1.TXT”。点击【确定】,得到栅格数据对应的文本文件。

得到的ASCII文件:

(1)更改NoData值
使用notepad++软件打开“asc.TXT”文本,使用【替换】工具,将值“-9999”替换为“3”,点击【全部替换】,然后【保存】。注:直接使用记事本自带的替换工具可以快速地进行NoData值的替换,NoData值默认为“-9999”,但是第六行NoData参数必须设置为“-9999”。

(2)ASCII文本转栅格
打开【转换工具】→【转为栅格】→【ASCII 转栅格】对话框,设置【输入ASCII栅格文件】为“RasterT_dem1.TXT”,【输出栅格】设置为“dem3”,【输出栅格类型】选择“FLOAT”。点击【OK】,得到自定义的栅格数据。注:数据类型根据实际栅格数据块的值类型选择,本例中为浮点型,故选择“FLOAT”。
