空间建模的目的是解决与地理有关的问题,通常涉及多种空间分析操作的组合。由于空间建模是建立在图层数据的基础上,又称为地图建模,建模的结果,可以是一个“地图模型”,也可以是对空间分析过程及其数据的一种图形或符号表示。目的是帮助分析人员组织和规划所要完成的分析过程,并逐步指定完成这一分析过程所需的数据。
空间建模的一把步骤为:
Model Builder(模型构建器)是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。
模型构建器除了有助于构造和执行简单工作流外,还能通过创建模型并将其共享为工具来提供扩展 ArcGIS 功能的高级方法。模型构建器甚至还可用于将 ArcGIS 与其他应用程序进行集成。
模型构建器的优势:
模型元素的组成:
模型元素主要有三种类型:工具、变量和连接符。
- 工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。
- 变量: 变量是模型中用于保存值或对磁盘数据进行引用的元素。有以下两种类型的变量:
—数据:数据变量是包含磁盘数据的描述性信息的模型元素。数据变量中所描述的数据属性包括字段信息、空间参考和路径。
—值:值变量是诸如字符串、数值、布尔(true/false值)、空间参考、线性单位或范围等的值。值变量包含了除对磁盘数据引用之外的所有信息。- 连接符: 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有以下四种类型的连接符:
—数据: 数据连接符用于将数据变量和值变量连接到工具。
—环境: 环境连接符用于将包含环境设置的变量(数据或值)连接到工具。工具在执行时将使用该环境设置。
—前提条件: 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行。
—反馈: 反馈连接符用于将某一工具的输出返回给同一工具作为输入。
(1)准备数据和地图文档
(2)创建新模型
(3)向模型添加数据和工具
(4)添加连接
(5)添加模型变量
(6)设置模型运行参数
(7)运行模型
(8)保存模型
(1)管理中间数据
模型执行的每个过程都会输出数据。某些输出数据在模型运行后毫无用处,创建这些数据只是为了与创建新输出的另一个过程相连,此类数据称为中间数据。除最终输出或已变为模型参数的输出外,都将自动成为模型的中间数据。如下图所示,缓冲区工具的输出仅在作为裁剪工具的输人时才有用,而在这之后不再使用,因此【中间】选项为选中状态,可通过取消选中【中间】选项来保存中间数据。
(2)行内变量替换与列表变量
在模型构建器中,要使用某个变量的内容来替换另一个变量,需使用百分号“%”将替换变量括起来,这种变量替换方式称为行内变量替换。通常用于通过用户输入来代替模型中的某些文本或值。
行内变量可分为三类:
(3)仅模型工具
仅模型工具只支持模型构建器中的高级行为,这些工具不能通过工具对话框使用,也不能在编写Python脚本时使用。一些工具可用来控制处理流程,另一些则是简单的支持工具。仅模型工具共有7种,分别是:计算值、收集值、获取字段值、合并分支、解析路径、选择数据、停止。
(4)迭代器的使用
迭代又称为循环,其目的在于自动重复任务以节省执行任务所需的时间和精力。模型构建器中进行迭代时,可以在每次迭代中使用不同的设置和数据来反复执行同一个过程。
迭代操作可以迭代整个模型,或只重复执行单个工具或过程。每个模型只可使用一个迭代器,添加一个迭代器后,则模型中的所有工具会对迭代器中的每个值进行迭代。如果不想对所有工具进行迭代,而只是对一个或者少数几个工具使用迭代器,则应将需要迭代的所有工具放置在一个具有模型迭代器的模型中,并将该模型用做子模型,作为模型工具添加到主模型中。
迭代器工具集中包含12种迭代器,仅用于模型构建器,不能在编写Python脚本时使用。这12种迭代器分别是:For、While、要素选择、行选择、字段值、多值、数据集、要素类、文件、栅格、表、工作空间。每种迭代器都有一组不同于其他迭代器的参数,但是所有迭代器工具的整体结构都非常相似。
(5)内存工作空间
ArcGIS提供了一个可写人输出要素类和表的内存工作空间可将输出写入内存工作空间中,作为将地理处理输出写人磁盘上的某个位置或网络位置的备选方案。通常,将数据写入内存工作空间要明显快于写入其他格式(如Shapefile 或地理数据库要素类)。但写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。要将数据写人内存工作空间,可使用路径in_memory。
学习提示:
本文收录于《ArcGIS模型构建器批处理专栏》,订阅专栏,获取专栏内所有文章阅读权限,配套持续同步更新的实验数据及相关资料,方便学习。