最近遇到这样一个问题:DEM数据中有Nodata(这里所说的情况并非数据边缘部分的nodata,而是数据中间类似数据缺失的情况), 那么,在这种情况下,如何消除nodata, 使这个数据保持完整性呢?

其实,利用Arcgis软件能很容易的解决这个问题。这里,我们主要用到con和nibble两个命令。可能大家对Con命令已经非常熟悉了,关于nibble可以查阅ArcGIS的帮助,这里附上示意图。
针对开头的问题,我的解决思路如下:
(1)首先,利用con命令选择出原始dem数据中的nodata部分并给其赋值(可赋任意值,本文中这里赋为-1),具体命令如下:con(Isnull(dem),-1,dem)。该命令所运行的结果作为nibble命令的input文件。
(2)将原始的dem数据作为mask文件。当然,你也可以利用isnull命令选择出来的nodata部分进行setnull得到mask文件。关键是要确保无数据部分的类型是nodata。
(3)准备好了input文件和mask文件,我们就可以利用nibble命令来处理了,具体命令如下:nibble(input,mask)。运行的结果如图3所示。