变量在模型中用于存放数据连接信息,能够支持多种类型:包括文件、数据源、字符串、数值、日期等。在模型构建中支持添加变量作为其他工具的参数,可将一个变量与多个工具相连接,简化了处理流程,使模型更易于查看和理解。
在构建地形适宜性分析模型时,需要对DEM数据进行坡度分析、坡向分析以及代数运算,来分析土地开发利用的适宜性。为了方便用户根据自己的需求对输入数据进行修改,可以创建类型为栅格数据集的变量,将变量标题修改为地形数据,作为全局变量供给多个工具。
附加属性
为了提升易用性,对变量增加了附加属性,以实现对参数的精细化控制,以及与行内变量替换结合使用,具体的应用如下:
- 在进行数据交互时,根据具体情况选择适用的变量类型,不同类型的变量对应的附加属性可参考附录,根据不同的附加属性,提供了不同的用户界面以便操作。当需要导入道路shp数据作为数据来源时,可以创建字符串类型的变量,将附加属性设置为文件路径,数据类型输入shp,在用户界面进行数据的选择时,通过文件选择器仅筛选shp文件进行道路数据的选择。
- 为行内变量替换提供支持,一个完整的行内变量替换需要用 ’%’ 括起来,’#‘后是选择可用的属性,不同的附加属性会导致’#‘之后可用的属性有所不同。在进行批量数据入库时,为保证结果与输入数据名称一致,创建字符串集合类型的变量,并设置附加属性为文件路径,即可在行内变量中使用 fileName 获取文件名,输入 %sourceFilePath#fileName% 替换输出结果数据名称。
-
与条件过滤结合使用,支持将变量连接为前提条件,可根据变量不同的附加属性设置不同的条件类型。当需要判断数据源是否存在时,可以创建字符串类型的变量,将附加属性设置为连接信息,条件参数可以选择为数据源。
使用场景
- 可与行内变量替换结合使用
当需要对数据集进行批量处理时,可与行内变量替换结合使用 ,对批量数据处理的结果进行规范命名。在进行批量数据缓冲区分析时,将变量创建为矢量数据集集合,使用模型进行迭代,在每次迭代时创建缓冲区输出结果。为保证输出结果数据集名称与输入数据集名称一致,可以将输入数据集的名称作为行内变量替换输出结果数据名称。
- 变量支持创建集合数据
变量支持创建集合数据,可批量设置多个数据。如下方模型,需要对某区域的三个数据分别做缓冲区分析,创建类型为矢量数据集的集合型变量,分别添加三个矢量数据集;将缓冲距离设置为数值型变量,将三个距离分别设置为50、100、150。
操作说明
- iDesktop X 通过处理自动化选项卡,选择变量组,在菜单中显示可在模型中使用的所有变量类型,根据实际情况,选择所需要的变量类型。
- iServer 通过点击处理自动化窗格中的变量,在弹出窗口的变量下拉列表中,选择所需要的变量类型。
创建变量:
1.选择需要的变量类型,创建一个空的变量。
- 附加属性:选择数据类型对应的附加属性信息。
-
集合:选择是否将变量创建为多个值的集合,勾选集合选项,则可在工具的属性面板通过“添加”按钮,设置多个数据。
2.打开变量工具的属性面板,向空变量添加数据。
- ID:ID 是变量的唯一标识,不能与其他变量 ID 重复。
-
标题:支持修改变量标题,易于查看并理解数据。
附录-不同类型的变量对应的附加属性
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 |