arcgis 栅格计算器(Spatial Analyst/Raster Calculator)

原文地址:点击打开链接

栅格计算器中用得到$$相关函数

$$NROWS: the number of rows in the analysis window (行数)
$$NCOLS: the number of columns in the analysis window (列数)
$$CELLSIZE: the current cell size specified in the analysis environment (像元大小)
$$WX0: minimum x-map coordinate of the current analysis window (最小的X坐标)
$$WY0: minimum y-map coordinate of the current analysis window (最小的Y坐标)
$$WX1: maximum x-map coordinate of the current analysis window (最大的X坐标)
$$WY1: maximum y-map coordinate of the current analysis window (最大的Y坐标)
$$XMAP: x-map coordinate for the center of the processing cell (X坐标)
$$YMAP: y-map coordinate for the center of the processing cell (Y坐标)

1.栅格计算器中,表达式中的图层名要用[]括起来,运算符前后都要加空格,不然会出错。

2.Con命令

命令使用方法有两种

一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。

表达式输入方法为:con(条件,条件为真时的值,条件为假时的值)

具体如con(isnull([dem]),0,[dem])或con( [dem] == 0,0,[dem])等。

如果要执行多个条件语句,则在每个con语句结束时用分号(;)隔开。

二是直接调用ArcToolbox下的con工具(Spatial Analyst Tools/Conditional/Con)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。

3.Nibble命令

命令使用方法有两种:

一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。

表达式输入方法为:nibble(mask图层,原始数据)

具体如nibble ([dem_Nodata]),[dem])等。

二是直接调用ArcToolbox下的Nibble工具(Spatial Analyst Tools/Generalization/Nibble)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。

需要注意的是:通常我们认为输入图层应该为原始图层,mask图层应为经过处理的图层,但在很多情况下,这种做法得不到我们想要的结果,把图层顺序调整一下,就能得到我们想要的结果。至于原因,本人目前也不是很清楚,如果遇到问题,可以试着这样去处理。

4.DEM无值区或零值区替换

对于像元值是整型的DEM,用Con命令和Nibble命令相结合的方法即可实现。

对于像元值是浮点型的DEM,在Con命令的基础上,配合使用focalmean函数即可实现。

focalmean函数的表达式输入方法如下:

focalmean (原始数据,邻域形状,邻域大小)

具体如focalmean([dem],rectangle,5,5)等。

Con命令和focalmean函数配合使用时,在栅格计算工具(Spatial Analyst/Raster Calculator)中,输入如下栅格表达式:

con(isnull([dem]), focalmean([dem],rectangle,5,5),[dem])

实际应用中,根据数据情况,应适当修改focalmean中邻域的形状和大小。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值