栅格计算器
计算机函数工具
栅格计算器是一种空间分析函数工具,可以输入地图代数表达式,使用运算符和函数来做数学计算,建立选择查询,或键入地图代数语法。
产品简介
可输入栅格数据、栅格图层、coverages,shapefiles,表格,常数,数值。在“空间分析”(Spatial Analyst)下拉菜单中可找到。栅格计算机使用“运算符”和“函数”来执行任务。
函数(functions)
1. 函数执行专门任务,如由海拔(elevation)计算边坡(slope),通常返回的是数值。栅格计算机提供算术函数、三角函数、指数对数函数以及幂函数。
2. 应用实例(实习数据:landuse,elevation):
① 对landuse每个栅格取平方(平方后=sqr([landuse]))
② 栅格数据空间分析函数:用山体阴影函数(hillshade)作用于elevation图层得到立体形态(立体图=hillshade([elevation]))
运算符(operators)
运算符的使用通常与科学计算器相类似。栅格计算器提供算术运算符关系运算符以及布尔运算符。
①算术运算符(+,-,*,/)。加减乘除四则运算。对相应空间位置上的栅格单元进行算术运算,可用于土地利用价值的评价。规则:整数的运算是整数;浮点数与整数的运算得到的结果是浮点数;Mod运算符的结果是整数(实习数据:landuse):
(1)选择出耕地栅格(耕地=[landuse] == 5),选择出森林栅格(森林=[landuse] == 6);
(2)将耕地和森林栅格相加(绿地=[耕地] + [森林]),又例如创建三个火灾危险性栅格,互相叠加显得出新的全面危险分析栅格。
(3)用来转换值从一个测量到另一个(例如, x英尺= 0.3048米)。
②关系运算符(>,<,==,<=,>=,<>)。建立逻辑测试,返回真假值(true (1),false (0))(实习数据:landuse,mask,elevation)。
(1)选择出城区栅格(设置环境加Mask)(城区=[landuse]);
(2)选择出高程高于1000的栅格(高地=[elevation] > 1000)。
③布尔运算符(和and ^,或or &,异或xor !,非not | )。and:当相同位置的栅格单元取值不为0时,返回1,但有一个栅格中取值0时,返回0链接逻辑测试(实习数据:landuse,mask,elevation):选择高于1000m的城区栅格(高城区=[高地]&[城区])
逻辑运算符(diff,in,and over)。不同运算符有不同结果(实习数据:xs_1991和xs_2006):
(1)A diff B:差异运算符:对两个栅格图层单元格的数值是否存在差异进行计算。数值没有差异的单元格赋值为0,数值有差异的返回第一个输入数据集中单元格的数值。检测土地利用的变化([xs_2006] diff [xs_1991])如果diff左右两栅格单元内有不同值(cell value),取左舍右,如果相同返回零值(zero);
(2)A in {value list}:如果A的某栅格单元内值属于值列表,则返回,否则返回NoData。包含运算符:第一个输入是一个表达式(通常是一个栅格或一个数据列),第二个输入是一组数字。基本思想:用预先选出的一组数字和栅格矩阵中的数值作比较,和这组数字不一致的单元格赋值为0,相当于利用这组数字作为选择栅格单元的条件。例:在Grid1中分离出数值为2和4的单元格。多用于查询;
(3)A over B:如果A内某栅格单元值为零,则返回,否则返回B。非零查找与替换运算符。对两个输入栅格矩阵搜索0值单元格,第一个矩阵中的所有单元格中的非零值作为其输出,当第一个输入矩阵中的单元格的值为0时,用第二个栅格矩阵相应位置的单元格数值进行赋值。多应用-如果第一个输入中0值代表居住用地,第二个输入是环境质量类型区,则这一方法,可分析不同的居住区的环境质量状况。
工作原理
栅格计算器用于在工具中创建和执行“地图代数”表达式。与其他地理处理工具一样,栅格计算器可以在“模型构建器”中使用,从而可以更轻松地在工作中发挥“地图代数”的功用。
栅格计算器具有如下的独有优势:
栅格计算器用于通过简单的、类似计算器的工具界面,使用多种工具和运算符来执行单行代数表达式。当在一个表达式中使用多种工具或运算符时,该公式的执行速度一般会比分别执行每个运算符或工具的速度要快。
使用栅格计算器工具
工具对话框中有四个主要区域用于创建“地图代数”表达式:
1、图层和变量
输入图层和变量列表识别了可以在“地图代数”表达式中使用的输入。单独使用此工具时,该列表将包含内容表中的图层。在“模型构建器”中使用此工具时,该列表将包含内容列表中的图层、模型中创建的输出以及其他模型变量。
2、计算器和运算符按钮
使用计算器按钮可以在表达式中输入数值。使用运算符按钮可以将数学运算符(加、除等)和逻辑运算符(大于、等于等)输入表达式。通过单击这些按钮,可以将数字或运算符输入到表达式中光标当前所在的位置。注意确保表达式遵循正确的规则地图代数语法规则。
3、工具
在该工具列表中,可以方便地选择能在“地图代数”表达式中使用的工具。通过单击列表中的工具,该工具的名称以及括号的左右半边将被放置在表达式中光标当前所在的位置。然后必须输入该工具所需的其他输入内容。虽然工具可以放置在表达式的任何位置,但是它应放置在可以生成有效的“地图代数”语法的位置。
4、表达式
“地图代数”将要执行的表达式。此表达式必须使用有效的语法输入。请参阅以下部分,了解有关“地图代数”语法规则的详细信息。
地图代数语言
“地图代数”是一种简单而强大的代数语言,利用它您可以操作所有 Spatial Analyst 工具、运算符及函数以执行各种地理分析。
在栅格计算器中使用的“地图代数”含有语法或规则集,“地图代数”必须遵循这些语法或规则集才能创建有效的表达式。如果不遵循这些规则,创建的表达式可能会无效并且无法执行,或者得不到预期的结果。
“地图代数”不仅可以通过栅格计算器工具来访问,还可以通过使用 Spatial Analyst ArcPy 模块的 Python 脚本来访问。在此工具中使用相同的“地图代数”语法,但以下情况除外:
参考资料
最新修订时间:2023-12-14 23:42
目录
概述
产品简介
参考资料