其他
如何消除栅格镶嵌后的零星NODATA像元
如何消除栅格镶嵌后的零星NODATA像元
一套分省的栅格数据,拼接后发现有零星的NODATA像元。
怎么办呢?
ArcGIS消除NODATA像元
从网上搜索了一下,有人说ArcGIS可以通过滑动窗口的方法消除NODATA像元,本次试验数据为土地覆被数据,对此我使用了“MAJORITY”的方法进行插值消除NODATA。具体代码如下:
Con(IsNull("L2_2020.tif"), FocalStatistics("L2_2020.tif", NbrRectangle(5,5, "CELL"), "MAJORITY"), "L2_2020.tif")
Con(IsNull("NODATAFIX2020.tif"), FocalStatistics("NODATAFIX2020.tif", NbrRectangle(3,3, "CELL"), "MAJORITY"), "NODATAFIX2020.tif")
对比一下消除前后的效果,消除前存在大量的NODATA像元,消除后,确实少了一些,但是仍然存在。
<<< 左右滑动见更多 >>>
对此我再次执行了上面的操作,改小了滑动窗口的大小,第一次是5×5,第二次3×3,然而还是存在无法消除的NODATA像元。
QGIS消除NODATA像元
ArcGIS不太行,试试QGIS,QGIS里面自带的GRASS提供了r.fill.stats的NODATA插值消除工具。试试效果如何:
几个要点:
Preserve original cell values这个要打上勾,保护原始的数据不变 插值方法,mode众数,同样还是因为是土地覆被数据,不要求均值
但是QGIS有个问题,就是这套数据用的是克拉索夫斯基的坐标系,GRASS无法识别,用r.fill.stats之后坐标系自动变成WGS84了,很简单,用ArcGIS强制定义一下坐标系,改回克拉索夫斯基即可。
有帮助还请多多转发分享呀!
参考文献
https://blog.csdn.net/qq_44900916/article/details/105892322 https://grass.osgeo.org/grass80/manuals/r.fill.stats.html
点击阅读原文查看更多土地覆被教程