![bf0a9a0d6705b6ce2af8e02f8d3a79ff.png](https://i-blog.csdnimg.cn/blog_migrate/8a1612c3f50b2e7f0e1a40627934e246.jpeg)
前些时间,老用栅格计算器,每次都跑别人家博客看,这次为了方便自己查找,直接记录知乎吧,这样,需要就看自己的记录好了,大佬可直接绕过(^-^)。
一,arcgis中栅格计算常用表达式(我自己遇到的差不多就这些)
1、将特定值(-9999)赋值为0
Con("raster"==-9999,0,"raster")
2、将某一范围内(如小于0)赋值为0
Con("raster" <0,0,"raster")
3、将特定的栅格值(如1)赋值为空值
setnull("raster"==1,"raster")
4、给空值赋予特定的值(如0)
CON(ISNULL("raster"),0,"raster")
5、平方和开方
(1)Power(raster,2),Power(raster,0.5)
(2)Squre(),SquareRoot()
6、提取栅格数据中特定值
(1)Pick("raster",[1,2,3,......])
(2)Slope>15,提取Slope大于15的格子,赋值为1,其余为0
(3)Con("Slope">5,"Slope"),提取Slope大于5的格子,值不变
(4)工具箱中Math下面的greater工具,结果为1和0
7、将影像中的多个值赋予无效值
SetNull(("raster == -32768)|("raster" == -10000),"raster")
二, ENVI计算用bandmath
使用表达式可以参考下面链接
【ENVI入门系列】21.波段运算与波谱运算工具_ENVI-IDL技术殿堂_新浪博客blog.sina.com.cn这里主要介绍bandmath可以对多光谱影像做运算
1.打开bandmath,如下图所示,最后点击ok
![df7a21f53eccfe769e20cc1d94273455.png](https://i-blog.csdnimg.cn/blog_migrate/72919816d528194e7aaea723d45b9210.jpeg)
2.在variables to bnads pairings 面板中选择波段,输入多光谱,选择计算波段(图中4),点击ok(有木有觉得挺方便的)
![97603a16bf485754cd66f02083648020.png](https://i-blog.csdnimg.cn/blog_migrate/f5916f180a3bb18141bab8df428850f0.jpeg)
3.可见选择多光谱中每个波段都已选择进行*1000的运算,最选择输出路径即可。
![e2b4e8849cb9d8df300b59bb912c1632.png](https://i-blog.csdnimg.cn/blog_migrate/5a05c5c6ded999df9c4475e38b860a77.jpeg)
当然,如果你遇到影像中NAN值需要替换的,在你不想程序时,你可以下在插件
插件函数说明如下图
![1031878e5ed2035c272a5168fe347499.png](https://i-blog.csdnimg.cn/blog_migrate/e06d94a9df5233c4e3fc5149cd8ddf61.jpeg)
插件下载链接如下;
ENVI:利用波段运算修改特殊值下载|下载ENVI:利用波段运算修改特殊值- 遥感集市www.rscloudmart.com![2798eff4bdb135da5ab5006a46e448b0.png](https://i-blog.csdnimg.cn/blog_migrate/a1d2caa73b149a0e04157980b2802a29.png)
当然这里也有很多处理影像的插件,感兴趣的可以自行浏览(我这有下载的小熊工具箱,需要的可私信)
![a07495100d29ddc8ef677e0d59ae2f09.png](https://i-blog.csdnimg.cn/blog_migrate/1b9c70a9a2b70d99257806e168c2b34d.jpeg)
未完待续------------------------------------