模型是什么?
模型是对现实世界进行抽象或简化后的一种表达。
空间分析建模,是指在解决空间问题的过程中,将系统的构成及其相互关系进行简化和一般化表达,从而可以有效揭示研究对象的本质,模拟或预测系统的变化,为空间决策提供支持。
空间分析模型有多种:有理论模型、经验模型、混合模型;有空间分布模型、空间关系模型、空间相关模型、预测评价与决策模型;有概念模型、数学模型、图解模型、实物模型。
下图是一个图解模型。它通过外部表格连接法输入属性,添加新字段并计算该字段,并选择其中符合要求的要素。
该模型类似工厂的生产流水线,它将多个过程串联起来,从而可能解决一些复杂的空间处理过程。

本节中,我们将学习空间分析建的一般过程,并重点结合ArcGIS的模型建构工具(Model Builder),学习如何进行图解建模,以及如何通过脚本生成更加灵活的工具。
5.1 空间分析建模
5.1.1 模型与模型分类
模型的本质是构成与表现。模型的建立,不仅可以将思维过程简约化,还可以使复杂的问题一般化。模型的可操作性强、可靠性高、适用面广,而且通过模型实验可以节约成本,实现地理过程的模拟和预测预报。
模型的三种类型:一是理论模型;二是经验模型;三是基于原理和经验的混合模型。从模型的表现方式看,模型还可以分为概念模型、数学模型、图解模型、实物模型等。
5.1.2 空间分析模型
空间分析模型的四个特征:
(1)位置特征
(2)关系特征
(3)图形特征
(4)综合特征
从应用的角度看,空间分析模型包括适宜性分析模型、发展预测模型、位置选择模型、交通规划模型、地学模拟模型(如土壤侵蚀模型、水文模型)等。从内容特征来看,空间分析模型可以分为空间分布模型、空间关系模型、空间相关模型以及预测、评价与决策模型。
1.空间分布模型。主要用于分析地理对象的空间分布特征。
2.空间关系模型。主要用于分析地理对象内部各要素之间、不同地理对象之间的相互位置和属性关系。
3.空间相关模型。主要用于分析空间要素之间的相互联系、相互作用和影响关系。
4.预测、评价与决策模型。预测模型主要基于时间轴线,在分析过去要素相互作用机理的基础上,预测未来的发展和变化。
5.1.3 空间分析建模
常见的空间分析建模:(1)适宜性建模,如选址分析、土地分等定级、农作物种植区划等,多采用多因素加权叠加模型;(2)水文建模,如水流的渗流运动、都市雨水排水排污等,多采用空间过程模型;(3)表面建模,如地形表面重建、城镇区域污染程度等,多采用空间分布模型;(4)距离建模,如最低成本路径、最短路径选择等,多采用空间关系模型。
空间分析建模一般需要经过以下阶段(图5.1):

图5.1 空间分析建模的一般过程
1.明确问题。结合实际背景,明确解决的问题和拟达到的目标,分析解决问题的途径,寻找解决方案,搜集所需数据。
2.分解问题。对问题进行分解、简化,找出主要因素,确定模型中需要的参数;整理相关数据。
3.模型构建。根据各因素之间的关系,运用数学知识和GIS空间分析工具描述变量间的关系。
4.模型运行与检验。运行模型,通过对模型结果的解释或对比来检验模型。
5.模型结果分析与应用。分析模型运行的结果,归纳总结其中所包含的信息,并将这些信息应用到具体的实践中(如决策支持等)。
5.1.4 图解建模
5.1.4.1概述
图解建模是指用直观的图形语言表达一个具体的过程模型。
在ArcGIS中,模型构建器(Model Builder)是构造地理处理工作流程和脚本的图形化建模工具,主要由输入数据、输出数据、空间处理工具以及它们之间的连接关系四个部分组成。
5.1.4.2 图解模型的分类
一个图解模型可以由一个或多个过程组成。每个过程都有共同的基本结构:输入→函数→输出,不同模型所包含的输入、函数、输出的数量可以不同,但整体的结构保持不变。同时,在模型运行前,所有的组成部分必须彼此连接。
单过程模型和多过程模型:单过程模型只有一个过程,较为简单;多过程模型包含多个过程,且第一个过程所产生的输出数据往往作为第二过程中的输入数据。
单一处理工具模型和复杂处理工具模型:单一处理工具模型的空间处理工具仅含一种空间分析工具;复杂处理工具模型则由多种空间处理工具构成。
5.1.4.3 图解建模的基本过程
1.打开模型构建器。
2.添加空间处理工具。
3.添加连接。
4.设置变量。
5.设置参数。
6.添加标签。
7.添加输入数据。
8.保存模型。
9.运行模型。

图5.2 构建图解模型 图5.3 运行图解模型
5.1.4.4 模型的批处理
1.直接利用模型的批量处理工具

图5.4 图解模型的批量处理
2.使用迭代器进行批量处理

图5.5 引入迭代器的图解模型 图5.6 使用迭代器的模型批量处理
3.使用脚本进行批量处理
5.1.4.5 子模型与模型调用
将模型分解为不同的板块,每一板块作为子模型完成特定的任务,再由主模型调用用各子模型并将其连接起来,从而完成复杂的分析工作。这种组织方式将使模型结构清晰,板块之间分工协作,使用和维护起来都非常方便。
5.1.5 脚本
5.1.5.1 脚本概述
脚本(Script)是指通过记事本程序或其它文本编辑器创建,并保存为特定扩展名(如*.py,*.vbs,*.js等)的文本文件。
脚本语言最主要的特点在于其语法规则较简单,易掌握,对开发人员的基础要求不高。
使用脚本可以提高空间数据处理与分析的自动化水平。在脚本文件中,可以采用一个或多个工具来处理简单或复杂的数据,也可以加入循环语句实现对数据的自动批量处理。
5.1.5.2 Python脚本语言
Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域内都是一个理想的脚本语言,特别适用于应用程序的快速开发。
ArcGIS引入了ArcPy,从而使Python广泛延伸到 ArcGIS中。
ArcGIS中,ArcPy有三种使用方式,一是命令行窗口,二是脚本文件,三是ArcPy工具。
5.1.5.3 创建脚本工具
创建脚本工具的一般过程是:编写脚本文件→添加脚本并设置参数→运行脚本工具。
1.编写脚本文件
2.添加脚本并设置参数
3.运行脚本工具
5.1.5.4利用脚本进行批处理
利用脚本文件生成脚本工具后,可以像其他工具一样进行批量处理(Batch)。
对于多个数据的批量处理,直接在脚本文件中引入循环,可以更为自动和高效地进行数据的批量处理和分析。
在脚本中除了加入循环可以实现批量处理外,也可以使用迭代器更为方便实现数据的批量处理。
5.1.5.5 模型与脚本的结合应用
模型与脚本结合的基本过程:
1.构建模型。
2.将图解模型导出为Python脚本。
3.修改脚本。
4.运行脚本。