变量

变量在模型中用于存放数据连接信息,能够支持多种类型:包括文件、数据源、字符串、数值、日期等。在模型构建中支持添加变量作为其他工具的参数,可将一个变量与多个工具相连接,简化了处理流程,使模型更易于查看和理解。

在构建地形适宜性分析模型时,需要对DEM数据进行坡度分析、坡向分析以及代数运算,来分析土地开发利用的适宜性。为了方便用户根据自己的需求对输入数据进行修改,可以创建类型为栅格数据集的变量,将变量标题修改为地形数据,作为全局变量供给多个工具。

DataVariableSingle

附加属性

为了提升易用性,对变量增加了附加属性,以实现对参数的精细化控制,以及与行内变量替换结合使用,具体的应用如下:

  1. 在进行数据交互时,根据具体情况选择适用的变量类型,不同类型的变量对应的附加属性可参考附录,根据不同的附加属性,提供了不同的用户界面以便操作。当需要导入道路shp数据作为数据来源时,可以创建字符串类型的变量,将附加属性设置为文件路径,数据类型输入shp,在用户界面进行数据的选择时,通过文件选择器仅筛选shp文件进行道路数据的选择。
  2. 为行内变量替换提供支持,一个完整的行内变量替换需要用 ’%’ 括起来,’#‘后是选择可用的属性,不同的附加属性会导致’#‘之后可用的属性有所不同。在进行批量数据入库时,为保证结果与输入数据名称一致,创建字符串集合类型的变量,并设置附加属性为文件路径,即可在行内变量中使用 fileName 获取文件名,输入 %sourceFilePath#fileName% 替换输出结果数据名称。
  3. 与条件过滤结合使用,支持将变量连接为前提条件,可根据变量不同的附加属性设置不同的条件类型。当需要判断数据源是否存在时,可以创建字符串类型的变量,将附加属性设置为连接信息,条件参数可以选择为数据源。

    DataVariable

使用场景

  • 可与行内变量替换结合使用

当需要对数据集进行批量处理时,可与行内变量替换结合使用 ,对批量数据处理的结果进行规范命名。在进行批量数据缓冲区分析时,将变量创建为矢量数据集集合,使用模型进行迭代,在每次迭代时创建缓冲区输出结果。为保证输出结果数据集名称与输入数据集名称一致,可以将输入数据集的名称作为行内变量替换输出结果数据名称。

DataVariableExample2

  • 变量支持创建集合数据

变量支持创建集合数据,可批量设置多个数据。如下方模型,需要对某区域的三个数据分别做缓冲区分析,创建类型为矢量数据集的集合型变量,分别添加三个矢量数据集;将缓冲距离设置为数值型变量,将三个距离分别设置为50、100、150。

DataVariableSMulti

操作说明

  • iDesktop X 通过处理自动化选项卡,选择变量组,在菜单中显示可在模型中使用的所有变量类型,根据实际情况,选择所需要的变量类型。
  • iServer 通过点击处理自动化窗格中的变量,在弹出窗口的变量下拉列表中,选择所需要的变量类型。

创建变量:

1.选择需要的变量类型,创建一个空的变量。

  • 附加属性:选择数据类型对应的附加属性信息。
  • 集合:选择是否将变量创建为多个值的集合,勾选集合选项,则可在工具的属性面板通过“添加”按钮,设置多个数据。

    CreateDataVariable

    2.打开变量工具的属性面板,向空变量添加数据。

  • ID:ID 是变量的唯一标识,不能与其他变量 ID 重复。
  • 标题:支持修改变量标题,易于查看并理解数据。

    CreateDataVariable1

附录-不同类型的变量对应的附加属性

1.字符串

  • 文件路径
名称 描述 可用值
文件类型 设置目标的类型,directory 表示文件目录,file 表示文件。 directory、file
模式 设置目标文件的操作模式,select 表示选择一个已有文件;create 表示创建一个新的文件。 select、create
数据类型 设置预定义分组或者文件扩展名,支持多值,以英文逗号分隔,当设置为预定义分组时,表示支持某一类数据。如:sdx,jpg,png 。
所有预定义分组及其对应后缀的详细说明:
simpleJson: meta,json
sdx:udb,udbx
tif:tif,tiff
tiff:tif,tiff
grid(Windows):dem,bil,raw,bsq,bip,b,bin,vrt,grib2,egc
grid(Linux):dem,bil,raw,bsq,bip,b,bin,egc
mosaic:tif,tiff,img,ecw,pix
workspace:smwu,sxwu。
无限制
属性 行内变量替换支持的属性。 fileName(文件名)、fileExtension(扩展名)
  • 连接信息
名称 描述 可用值
模式 设置目标文件的操作模式。 select、create
目标对象 设置连接信息需要操作的目标对象。 datasource、dataset
密钥 设置加密保存到模型文件的密钥。 无限制
  • 字段
名称 描述 可用值
支持类型 支持的字段类型,支持多值,以英文逗号分隔。 BOOLEAN、BYTE、INT16、INT32、INT64、SINGLE、DOUBLE、DATETIME、DATE、TIME、TEXT、CHAR、WTEXT、JSONB
属性 行内变量替换支持的属性。 name(名称)、caption(字段别名)、type(字段类型)

2.数值型

名称 描述 可用值
最大值 最大值。 无限制
最小值 最小值。 无限制
左区间 设置左区间开或者闭。 open、close
右区间 设置右区间开或者闭。 open、close
属性 行内变量替换支持的属性。 hex(十六进制)、octal(八进制)、binary(二进制)、round(四舍五入)、ceil(向上取整)、floor(向下取整)

3.矢量数据集

名称 描述 可用值
支持类型 设置支持的矢量数据集类型,支持多值,以英文逗号分隔。 点、线、面等所有矢量数据集类型
属性 行内变量替换支持的属性。 name(名称)、datasetType(数据集类型)、encodeType(编码类型)、bounds(范围)、datasource(数据源)、prjCoordSys(投影系统)、fieldCount(字段数)、recordCount(记录数)、charset(字符集)、spatialIndexType(空间索引类型)

4.日期

名称 描述 可用值
实时获取日期 设置是否实时获取当前日期,true 表示实时获取日期,false 表示预设日期。 true、false

5.二维数组矩阵

名称 描述 可用值
元素类型 设置元素的类型。 无限制
矩阵类型 设置矩阵类型,normal 表示常规矩阵,square 表示行列数相同的方形矩阵,grid 表示变长为 2*n-1 的方形栅格矩阵。 normal、square、grid

6.枚举类型

名称 描述 可用值
可用值 设置指定枚举变量的取值范围,可用取值以英文逗号分隔。 仅可设置为指定枚举的可用值,如:Monday,Tuesday,Wensday