需求与目的
在批量将全球GeoTif裁剪得到某一区域之后(具体操作可参考我的另一篇博客使用shp文件批量裁剪GeoTif遥感图像),在ArcGIS打开图像发现,图像中有部分像元是空洞即值为Nodata(如下图所示)
可以看出,Nodata空洞一方面会影响ArcGIS中图像显示的美观效果,而且在使用ArcGIS进行其它计算分析的时候也会造成影响,故而需要将Nodata填充为某一个值。
运行环境
Windows 7、10(其它系统版本未尝试);
ArcGIS10.5自带Python 2.7.12,因为要调用ArcGIS中的ArcPy模块,所以只能使用ArcGIS自带的Python 2.7.12版本;
ArcGIS需要在扩展模块中勾选 Spatial Analyst模块。如下图所示。
Python代码实现
代码如下:
最核心的代码:data = Con(IsNull(data), FocalStatistics(data, NbrRectangle(3, 3, “CELL”), “MEAN”, “DATA”), data)
结果
用ArcGIS打开看一下:
OK,原图像中Nodata的像元已被其周围3*3像元值的平均值所填充!
最后,如果本文有帮助到你,请为我点个赞打个赏,十分感谢!