代数运算

功能说明

代数运算是运用代数学的观点对地理特征和现象进行空间分析,即对一个或多个栅格数据进行数学运算和函数运算,多个栅格数据运算表现为相同位置的像元值运算。

SuperMap 提供了丰富的运算表达式,除了常用的算术运算(如加、减、乘、除和取整等)方法,还支持自定义的表达式来进行栅格的算术运算、条件运算、逻辑运算、函数运算(包括常用函数、三角函数等)和复合运算。

功能入口

  • 数据选项卡->数据处理->栅格->代数运算
  • 工具箱->数据处理->栅格->代数运算

参数说明

  • 代数运算表达式:输入代数运算表达式,可直接手动输入表达式;也可通过文本框下方的设置运算表达式进入栅格代数运算表达式对话框,在对话框中根据函数向导半自动输入表达式;也可在代数运算对话框中通过导入导出功能快速输入代数运行表达式。

    导入导出运算表达式的文件格式说明如下:

    
    <?xml version="1.0" encoding="UTF-8"?>
    <SmXml:MathOperation xmlns:SmXml="http://www.supermap.com/xml">
        <SmXml:Expression>Con( [DEM.dem] > 1000,1,-9999)</SmXml:Expression>;
        <SmXml:PixelFormat>6400</SmXml:PixelFormat>
        <SmXml:BZip>TRUE</SmXml:BZip>
        <SmXml:BNoValue>TRUE</SmXml:BNoValue>
        <SmXml:BShowProgress>TRUE</SmXml:BShowProgress>
    </SmXml:MathOperation>
    

    <Expression> 字段用于存储表达式对话框内的代数运算表达式。

    <PixelFormat> 字段表示结果数据集的像素存储类型,其中1表示1位、4表示4位、8表示单字节、16表示双字节、320表示整型、64表示长整型、3200表示单精度浮点型、6400表示双精度浮点型。

    <BZip> 表示是否对数据集进行压缩存储,FALSE 为不进行压缩,TRUE 为进行压缩。

    <BNoValue> 表示是否忽略无值栅格单元,TRUE 为忽略无值栅格单元,FALSE 为不忽略。

    <BShowProgress> 表示是否显示进度条。

  • 像素格式:设置结果数据集的像素格式,应用程序提供了提供了1位、4位、8位、16位、32位、64位、单精度浮点型和双精度浮点型等11种格式,每种格式的具体说明请参见栅格数据集像素类格式
  • 对数据集进行压缩储存:勾选该复选框以后,系统会对结果数据集进行压缩存储,否则将不进行压缩存储。
  • 忽略无值栅格单元:勾选该复选框以后,输入栅格数据集中的无值栅格单元将不参与代数运算,结果数据集中相应位置的像元值仍为空值(通常为-9999);若不勾选该项,则系统会将无值栅格单元的像元值作为普通像元值参与运算,此时会导致结果栅格数据集的极小值(或极大值)发生改变。

    无值栅格单元的像元值可以在该数据集的属性窗口中查看,具体步骤如下:

    • 在工作空间管理器中选择参与栅格代数运算的输入栅格数据集右键菜单中的属性项。
    • 在属性面板的栅格项中的空值参数文本框中即可查看无值信息,通常为-9999。
  • 数据源:选择结果数据集所要保存的数据源。
  • 数据集:设置结果数据集的名称。

环境说明

环境板块中可设置分析环境参数,栅格代数运算支持设置的分析环境参数包括结果数据集的地理范围、裁剪范围,具体描述请参见设置分析环境页面。

注意事项:
  • 支持将环境参数设置为全局变量,即将此处设置的参数值作为总栅格环境分析环境参数,其他支持环境参数设置的功能无需再重复设置。
  • 若此处不设置环境参数,在执行其他栅格分析时也未设置全局变量,则将安装默认环境参数进行分析。

相关主题

栅格代数运算表达式

设置分析环境