加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ARCGIS栅格计算器功能

(2016-06-23 23:18:55)
标签:

365

分类: 遥感指数/波段运算/统计

1、若异常值为-10000,想把异常值均改为nodata

方法:[new] = con([old]==-10000,[old], setnull([old]))

说明:其中new为新图层名称,old为原图层名称,con为条件函数,相当于VB当中的IIF()

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

         setnull()函数将原图层不满足条件的栅格设置为nodata

应用:对累积流图层进行重分级,将小于1000累积阈值的单元设置为边坡单元,即nodate;大于1000累积阈值的单元设置为河道单元,即单元值为1.

栅格计算式:[new] =con([fac] >= 1000,1, setnull([fac])) 

 

2、DEM无值区或零值区替换 

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

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

focalmean函数的表达式输入方法如下: focalmean (原始数据,邻域形状 ,邻域大小) 具体如focalmean([dem],rectangle,5,5)等。    rectangle,5,5为邻域的形状和大小,根据需求改。

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

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

 

3、巧妙运用CON

语法:

Con(条件, 符合条件赋值, 不符合条件赋值)

示例:
outraster = con(inraster1 > 5, 10, 100)

提取水系时候也可以用

 
4、条件语句

http://s7/bmiddle/006uYc3jzy72Il6pj1Qb6&690

("lyr" = 0 ) * 1 + ("lyr" > 0) * ("lyr" < 0.783) * (0.6508 - 0.3436 * log10("lyr")) + ("lyr" > 0.783 ) * 0

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有