栅格计算是栅格数数据空间分析中数据处理和分析中最为常用的方法,应用非常广泛,能够解决各种类型的问题,尤其重要的是,它是建立复杂的应用数学模型的基本模块。ArcGIS提供了非常友好的图形化栅格计算器,利用栅格计算器,不仅可以方便的完成基于数学运算符的栅格运算,以及基于数学函数的栅格运算,而且它还支持直接调用ArcGIS自带的栅格数据空间分析函数,并且可以方便的实现多条语句的同时输入和运行。

一 数学运算

数学运算主要是针对具有相同输入单元的两个或多个栅格数据逐网格进行计算的。主要包括三组数学运算符:算术运算符,布尔运算符和关系运算符。

1. 算术运算

算术运算主要包括加、减、乘、除四种。可以完成两个或多个栅格数据相对应单元之间直接的加、减、乘、除运算。

例如,以今年与去年的降水量数据为基础,用公式(今年降水量-去年降水量)/去年降水量,可以计算出去年降水量的变化程度,如图1。(单位:毫米)

图1 算术运算示意图

2. 布尔运算

布尔运算主要包括:和(And)、或(Or)、异或(Xor)、非(Not)。它是基于布尔运算来对栅格数据进行判断的。经判断后,如果为“真”,则输出结果为1,如果为“假”,则输出结果为0。

(1) 和(&):比较两个或两个以上栅格数据层,如果对应的栅格值均为非0 值,则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。

(2) 或(|):比较两个或两个以上栅格数据层,对应的栅格值中只要有一个或一个以上为非0 值,则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。

(3) 异或(!):比较两个或两个以上栅格数据层,如果对应的栅格值在逻辑真假互不相同(一个为0,一个必为非0 值),则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。

(4) 非(^):对一个栅格数据层进行逻辑“非”运算。如果栅格值为0 ,则输出结果为1;如果栅格值非0,则输出结果为0。

例如,以过去及现在的地表类型为基础,说明用“和”来提取从未被沙漠化过的地表的方法,如图2(其中沙漠为0,其它数值代表了不同的地表类型)。

图2布尔运算示意图

3. 关系运算

关系运算以一定的关系条件为基础,符合条件的为真,赋予1 值,不符条件的为假,赋予0值。关系运算符包括六种:=,<,>,<>,>=,<=。

例如,需要提取出温度介于20度到30度之间的地区(包括20度和30度),公式为:20<=[温度]<=30。

二 函数运算

栅格计算器除了提供给大家简单的数学运算符来进行栅格计算外还提供给大家一些相对复杂的函数运算,包括数学函数运算和栅格数据空间分析函数运算。数学函数主要包括:算术函数、三角函数、对数函数和幂函数。

1. 算术函数(Arithmetic)

算术函数主要包括六种:Abs(绝对值函数)、Int(整数函数)、Float(浮点函数)、 Ceil(向上舍入函数)、Floor(向下舍入函数)、IsNul(输入数据为空数据者以1 输出,有数据者以0输出)。

2. 三角函数(Trigonometric)

常用的三角函数包括:Sin(正弦函数)、Cos(余弦函数)、Tan(正切函数)、Asin(反正弦函数)、Acos(反余弦函数)、Atan(反正切函数)。

3. 对数函数(Logarithms)
  对数函数可对输入的格网数字做对数或指数的运算。指数部份包括:Exp (底数e)、Exp10 (底数10)、Exp2 (底数2)三种;对数部份包括:Log(自然对数)、Log10 (底数10)、log2 (底数2)等三种。

4. 幂函数(Powers) 
  幂函数可对输入的格网数字进行幂函数运算。幂函数包括三种:Sqrt (平方根)、Sqr (平方)、Pow (幂)。

5. 栅格数据空间分析函数 
  栅格计算器也直接支持ArcGis自带的大部分栅格数据分析与处理函数,如栅格表面分析中的slope、hillshade函数等等。它与数学函数不同的是,这些函数并没有出现在栅格计算器图形界面中,而是由计算者自己手动输入。

三 栅格计算器

1. 启动栅格计算器

点击Spatial Analyst的下拉箭头,选择Raster Calculator。栅格计算器由五部分组成(图3),左上部Layers选择框为当前Arcmap试图中已加载的所有栅格数据层名列表,双击任一个数据层名,该数据层名便可自动添加到左下部的公式编辑器中,中间部位是常用的算术运算符、0~10、小数点、关系和逻辑运算符面板,单击所需按钮,按钮内容便可自动添加到公式编辑器中。右边可伸缩区域为常用的数学运算函数面板,同样单击任一个按钮,按钮内容便可自动添加到公式编辑器中,下面空白区域为计算公式输入面板;再下面就是输出结果的保存路径设置,点击Ok完成整个的栅格图层之间的叠加分析计算。

图 3 栅格计算器对话框

2. 编辑计算公式

(1) 简单算术运算

如下图4所示,在公式输入栏中直接输入计算公式即可,输出保存结果路径,点击确定完整整个公式的计算。

图4 栅格计算器的数学算术运算

 (2) 数学函数运算

数学函数运算需要注意的是它输入时需要先点击函数按钮,然后在函数后面的括号内加入计算对象,如图5所示。

图5 栅格计算器的数学函数运算

(3) 栅格数据空间分析函数运算 
  栅格数据空间分析函数没有直接出现在栅格计算器面板中,因此需要计算者自己手动输入。需要时引用它们时,首先必须查阅有关文档,查清楚它们的函数全名、参数、引用 的语法规则等。然后在栅格计算器输入函数全名,并输入一对小括号,再在小括号中输入相关参数或计算对象,如图6所示。

图6 栅格数据空间分析函数运算

(4) 多语句的编辑

ArcGIS栅格计算器多表达式同时输入,具体的表达方式如下图7所示;条件一:Dem*10 ;条件二:找出上述结果 >= 2500的像元值,并给予输出;两个条件之间的关系可以通过()以及运算符号来完成。

图7栅格计算器的多语句编辑

ArcGIS栅格计算器相关推荐

  1. arcgis栅格计算器python教程_ArcGIS栅格计算器

    栅格计算是栅格数数据空间分析中数据处理和分析中最为常用的方法,应用非常广泛,能够解决各种类型的问题,尤其重要的是,它是建立复杂的应用数学模型的基本模块.ArcGIS提供了非常友好的图形化栅格计算器,利 ...

  2. ArcGIS 栅格计算器 Con用法

    ArcGIS 栅格计算器 Con用法 前言 栅格计算器 Con函数用法 ArcGIS 案例操作 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 栅格计算器 栅格计算器界面如 ...

  3. Arcgis 栅格计算器小操作【转】

    arcgis栅格计算器发生错误ERROR 000539:Error running expression:rcexec()<type 'exceptions.ValueError'>:Th ...

  4. ArcGIS 栅格计算器con函数用法

    笔记: 调出栅格计算器: Spatial Analyst tools → Map Algebra → Raster Calculator con(条件)函数用法: 基本语句: con(条件(语句),真 ...

  5. arcgis栅格计算器:将栅格图层指定值设置为Nodata及栅格图层求交

    1. 首先需要找到栅格计算器的位置 2. 将栅格图层的某个数据设置为Nodata setnull函数可将特定的栅格值赋值为空值 SetNull("这里是栅格图像名称"==0 &am ...

  6. ArcGIS 栅格计算器con()函数用法

    函数的基本语句:con(条件(语句),真(语句),假(语句)) 若"真(语句)"或"假(语句)"存在缺失,则对应栅格单元的值赋值为空(NoData). 三处语句 ...

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

    原文地址:点击打开链接 栅格计算器中用得到$$相关函数 $$NROWS: the number of rows in the analysis window (行数) $$NCOLS: the num ...

  8. Python实现ARCGIS栅格计算器con函数功能

    目的 现有某地区土地利用类型图,图中不同的数值代表不同的土地利用类型,如像元值为20的,我们重新赋值为0,像元值为123的,我们重新赋值为15等等. 图1 原始图像 图2 结果图像 代码如下 from ...

  9. ArcGIS栅格计算器求2个栅格数据的交集(区域)

    求两个栅格数据的交集,类似于矢量相交,可以用栅格计算器,公式为: SetNull((IsNull("2012.tif") | IsNull("2018.tif" ...

最新文章

  1. 推荐!Sublime Text 最佳插件列表
  2. java中用byte[]数组实现的队列和用Byte[]实现的队列实际占用空间对比
  3. base昆明,腾讯云在合作伙伴的阵营中@了TA
  4. 在线文档显示组件 FlexPaper
  5. 手机号正则表达式验证_想精通正则表达式 这几个正则表达式学习资料及工具你必须有!...
  6. 英伟达吞并ARM的交易计划失败!
  7. 以动词开头的习惯搭配:转
  8. ubuntu第三方源导致软件无法安装的问题
  9. 使用Python,SMTP发邮件到qq邮箱(文本/超链接/图片/表格/附件表格)
  10. error launching app electron踩坑
  11. 苹果商店App Store审核指南中文版(14-15-2016最新)-附:2015年App Store审核被拒Top10(官网)+被拒的23个理由(中英)
  12. BIM(biologically inspired model)小结
  13. PyCharm界面字体放大和缩小
  14. 人工智能急需变革?比起英特尔的焦虑,互联网企业更想蹚这一池芯片水...
  15. 如何获取点击当前li元素的ID
  16. Java 由今天往前推7天怎么算
  17. 浅谈Python类的属性和方法
  18. MATLAB图形调整边框大小subplot调整空白区域大小
  19. 学习Muduo中ChatRoom实现的各种细节和思考
  20. python从第n行开始读取文件

热门文章

  1. 微信自定义tabbar有小红点_微信小程序自定义 tabbar
  2. SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)
  3. 小圣求职记B:总集篇
  4. 利用TextPad编辑代码的各种技巧
  5. Qt Model/View(MVD)模型分析
  6. NXP GUI Guider的使用
  7. ESLint couldn‘t find the config “standard“ to extend from 解决办法
  8. 【10.16】wordpress、discuz、域名重定向、用户认证
  9. 在CMD中,MySQL怎么清屏
  10. ym—— Android 5.0学习之Tinting和Clipping