ArcGIS中栅格数据四舍五入
当时就去要去讲栅格数据四舍五入,但发现ArcGIS栅格计算器有些古怪,其中包含向上取整的roundup()和向下取整的rounddown(),唯独缺少round()四舍五入这个命令。于是上网寻找相关解决办法,发现网友对此 多有抱怨 。让地信专业同学若有所思,拿手的软件却在此刻显得捉急。
网上看着网友的解决办法相对麻烦些,经过小的思考,使用GIS自带的软件解决。总体的思路是比较向上取值栅格与原始栅格的差值大小,根据差值大小判断该向下还是向上取整。步骤如下:
1、将栅格数据(raster)进行roundup()运算,得到upraster
2、向上取整栅格(upraster)减去原始栅格(raster),得到subraster
3、判断subraster是否大于0.5,大于0.5则需要向下取值(四舍的意思),若小于等于0.5则需要向上取值(五入的意思)
4、ArcGIS栅格计算器中四舍五入运算,con(subraster>0.5,rounddown(raster),upraster)。使用原始栅格不产生中间结果运算如下:
con((roundup(raster)-raster)>0.5,rounddown(raster),roundup(raster))
熟悉模型构建器的小伙伴们,在迭代栅格数据之后在栅格计算器使用上面公式即可实现栅格数据批量处理。
希望以上可以帮助小伙伴们解决问题,欢迎大家一起交流!