您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页第十二章 空间分析建模

第十二章 空间分析建模

来源:华拓科技网
第十二章 空间分析建模

空间分析具有对空间信息的提取和传输功能,作为各类综合性地学分析模型的基础,空间分析为建立复杂的模型提供了基本工具。空间分析模型是指用于GIS空间分析的数学模型,空间分析建模是指运用GIS空间分析建立数学模型的过程,其过程包括:明确问题、分解问题、组建模型、检验模型结果和应用分析结果。本章主要介绍如下内容:

u 空间分析建模的概念和过程 u 图解模型的形成过程 u 模型生成器基本操作 u 脚本文件的编写与运行 u 空间建模操作过程

12.1空间分析模型与建模

12.1.1 空间分析模型及其分类

模型是对现实世界中的实体或现象的抽象或简化,是对实体或现象中最重要的构成及其相互关系的表述。建模的过程中,需要用到各种各样的工具。作为各类综合性地学分析模型的基础,空间分析为人们建立复杂的模型提供了基本工具。空间分析是地理信息系统的主要特征,也是评价一个地理信息系统功能的主要指标之一。它是基于地理对象的位置和形态特征的数据分析技术,其目的在于提取和传输可见信息。空间分析模型是对现实世界科学体系问题域抽象的空间概念模型,与广义的模型既有联系,又有区别: (1) 空间定位是空间分析模型特有的性质,构成空间分析模型的空间目标(点、弧段、 网

络、面域、复杂地物等)的多样性决定了空间分析模型建立的复杂性。 (2) 空间关系也是空间分析模型的一个重要特征,空间层次关系、相邻关系以及空间目

标的拓扑关系也决定了空间分析模型建立的特殊性。 (3) 包含坐标、高程、属性以及时序特征的空间数据极其庞大,大量的空间数据通常用

图形的方式来表示,这样由空间数据构成的空间分析模型也具有了可视化的图形特征。

空间分析模型可以分为以下几类: 1. 空间分布模型

用于研究地理对象的空间分布特征。主要包括:空间分布参数的描述,如分布密度和均值、分布中心、离散度等;空间分布检验,以确定分布类型;空间聚类分析,反映分布的多中心特征并确定这些中心;趋势面分析,反映现象的空间分布趋势;空间聚合与分解,

459

反映空间对比与趋势。 2. 空间关系模型

用于研究基于地理对象的位置和属性特征的空间物体之间的关系。包括距离、方向、连通和拓扑四种空间关系。其中,拓扑关系是研究得较多的关系;距离是内容最丰富的一种关系;连通用于描述基于视线的空间物体之间的通视性;方向反映物体的方位。 3. 空间相关模型

用于研究物体位置和属性集成下的关系,尤其是物体群(类)之间的关系。在这方面,目前研究得最多的是空间统计学范畴的问题。统计上的空间相关、覆盖分析就是考虑物体类之间相关关系的分析。 4. 预测、评价与决策模型

用于研究地理对象的动态发展,根据过去和现在推断未来,根据已知推测未知,运用科学知识和手段来估计地理对象的未来发展趋势,并做出判断与评价,形成决策方案,用以指导行动,以获得尽可能好的实践效果。

12.1.2空间分析建模

空间分析建模是指运用GIS空间分析方法建立数学模型的过程,运用数学分析方法建立表达式,模拟地理现象的形成过程的模型称为过程模型,也叫处理模型。过程模型的类型很多,用于解决各种各样的实际问题。例如:

适宜性建模:农业应用、城市化选址、道路选择等; 水文建模:水的流向;

表面建模:城镇某个地方的污染程度;

距离建模:从出发点到目的地的最佳路径的选择、邮递员的最短路径等; 这类模型的建立过程如下,流程如图12.1所示:

明确问题 1. 明确问题:分析的问题的实际背景,弄清建立模型的目的,掌握所分析的对象的各种信息,即明确实际问题的实质所在,不仅要明确所要解决的问题是什么,要达到什么

分解问题 样的目标,还要明确实际问题的具体解决途径和所需要的数据;

2. 分解问题:找出与实际问题有关的因素,通过假设把组建模型 所研究的问题进行分解、简化,明确模型中需要考虑的因素以及它们在过程中的作用,并准备相关的数据集;

检验模型 3. 组建模型:运用数学知识和GIS空间分析工具来描述问题中的变量间的关系;

4. 检验模型结果:运行所得到的模型、解释模型的结果或应用分析结果 把运行结果与实际观测进行对比。如果模型结果的解释与实际状况符合或结果与实际观测基本一致,这

图12.1 图解模型的建立流程图

460

表明模型是符合实际问题的。如果模型的结果很难与实际相符或与实际很难一致,则表明模型与实际不相符,不能将它运用到实际问题。如果图形要素、参数设置没有问题的话,就需要返回到建模前关于问题的分解。检查对于问题的分解、假设是否正确,参数的选择是否合适,是否忽略了必要的参数或保留了不该保留的参数,对假设做出必要的修正,重复前面的建模过程,直到模型的结果满意为止。

5. 应用分析结果:在对模型的结果满意的前提下,可以运用模型来得到对结果的分析。

12.2 图解建模

12.2.1基本概念及类型

1. 基本概念 (1) 图解建模

图解建模是指用直观的图形语言将一个具体的过程模型表达出来。在这个模型中,分别定义不同的图形代表输入数据、输出数据、空间处理工具,它们以流程图的形式进行组合并且可以执行空间分析操作功能。当空间处理涉及到许多步骤时,建立模型可以让用户创建和管理自己的工作流,明晰其空间处理任务,为复杂的GIS任务建立一个固定有序的处理过程。 (2) 模型生成器

模型生成器(Model Builder)是ArcGIS9所提供的构造地理处理工作流和脚本的图形化建模工具,简化复杂地理处理模型的设计和实施。最初的模型生成器出现在ArcView 3的空间分析模块中,它同样是为地理处理的工作流和脚本提供图形化的建模工具。

加载模型生成器:在ArcGIS中可以通过以下方式启动模型生成器: 1) 打开ArcMap,启动ArcToolbox;

2) 右键单击ArcToolbox,选择New toolbox命令,生成Toolbox1; 3) 右键单击Toolbox1,在New中选择Model,,生成model;

图12.2 模型生成器界面

461

如图12.2所示,模型生成器窗口由菜单条、工具条和图形窗口3部分组成。模型生成器菜单包含了文件操作、编辑操作、视图操作、窗口操作和帮助共5个下拉菜单,每个菜单又由一系列相关命令及功能组成。模型生成器工具面板中包含了17个常用的图形编辑工具。

(3) 模型的基本组成

图解模型主要由三部分组成:输入数据、输出数据和空间处理工具。输入数据和输出数据的类型多种多样,可以是栅格数据集、shapefile、coverage等。不同空间处理工具要求的数据不同,不同的应用目的也会得到不同类型的输出数据。空间处理工具包括ArcToolbox中所有的工具集,也可以是模型(models)、由脚本(scripts)定制的工具或者其他工具箱(toolbox)中的系统工具。只有将以上模型要素有机的连接起来,才能组成一个完整的图解模型。因此,连接也是模型中一个不可或缺的要素。连接指定了数据与操作间的关系,因此符合条件的要素才能被连接。 2. 图解模型的基本类型

一个模型由一个或多个过程组成。每个过程都有一个共同的基本结构:输入→函数→输出,不同模型所包含的输入、函数、输出的数量可以不同,但整体的结构保持不变。同时,在模型运行前,所有的组成部分必须彼此连接。 (1) 按其包含过程的数量可以分为单过程模型和多过程模型,如图12.3所示。 (a)图中

模型只有一个过程,(b)图中模型则包括多个过程,且第一个过程所产生的输出数据作为第二个过程中的输入数据,在实际运用中多过程模型包括的过程会更多,更复杂。

输入 空间处理工具 输出 (a) 单过程模型 输入1 空间处理工具1 输出1 输入2 空间处理工具2 输出3 (b) 多过程模型 图12.3单过程模型(a)和多过程模型(b) (2) 按照模型中过程的种类可以分为单一处理工具模型和复杂处理工具模型,如图12.4

所示。(a)图中单一处理工具模型所用工具仅为空间分析工具一种,(b)图中复杂处理工具模型所用模型则为空间分析和转换两种工具,在实际运用中复杂模型所用的工具会更加的多样化。

462

输入1 Spatial analyst tools1 输出1 输入2 Spatial analyst tools2 输出3 (a) 单一处理工具模型 输入1 Spatial analyst tools 输出1 输入2 Conversion tools 输出3 (b) 复杂处理工具模型

12.2.2 图解模型的形成过程

模型的形成过程实际上就是解决问题的过程,不论是简单的或复杂的模型,都需要经过以下几个步骤(流程如图12.5所示),同时,为了便于交换使用,还可以为模型添加注释、转换模型为脚本。 1. 添加输入数据 添加输入数 有两种方法可向模型界面添加数据: 方法一:在ArcMap或ArcCatalog中打开数据,直接把

添加空间处理工具 数据拖拽至图解模型界面即可。 方法二: (1) 在模型生成器中点击右键,选择create variable ,在变量添加连接 列表中选择所要的数据类型。此时的图形没有颜色,表示此变量还未赋值;

设置参数 (2) 双击新建的变量,选择所要添加的输入数据,或直接输入数据的值。根据数据的类型不同,选择不同的操作。由于变量已赋值,此时的图形便有颜色填充。 运行模型 2. 添加空间处理工具 添加空间处理工具相对简单,只要将所需的添图12.5 图解模型形成的流程图

463

加的工具拖拽至图解模型界面即可。但是处理的工具是多种多样的,可以是ArcToolbox中任何工具、脚本、模型,也可以是用户在应用程序中的共享工具,比如用模型(models)或由脚本(scripts)定制的工具或者其他工具箱(Toolbox)中的系统工具。由于空间处理工具的功能决定了输出数据的类型,因此输出数据也就随着空间处理工具的添加而自动产生。 3. 添加连接 只有将一个个的空间模型要素有机的连接起来,才能组成一个完整的图解模型。然而对象间的连接是有前提的,若不符合连接的条件,两个图形则无法连接。添加连接后,模型要素便有原来的无颜色填充,变为有颜色填充。 有两种方法添加连接:

方法一:单击模型生成器界面工具面板的Add connection图标

4

方法二:右键单击模型

图标,增加所要设置为参数的要素,如图12.8(b)所示,选择DEM 和SOA of

DEM设为参数即可。

7. 运行图解模型

模型建好后,需要运行模型以检查结果是否满意。有两种方法可以运行图解模型: 方法一:在工具条上,点击

465

方法二:在菜单条中,单击Model下的Run命令,模型被启动运行。 模型运行后,模型运行状态条可以显示出模型是否成功地被执行。

8. 转换程序模型 建立好的模型可以转换为脚本使用,脚本的形式有:Python、JScript和VBScript。在Model下拉菜单中单击Export命令,选择To Script命令,保存为Python、JScript或是VBScript即可。

12.2.3 实例分析

下面以一个实例——利用DEM提取水系,来具体说明如何利用ArcGIS9图解建模工具建模的过程。 1. 建立概念模型 问题:过去,水系的分布通常是通过数字化地形图或其他图件中的水流线来获得,工作量巨大,且存在水系等级的人为确定以及低等级的水流线被省略等问题。随着GIS的日益普及和应用,以及精确而详细的DEM数据的方便获取,为从DEM直接提取水系提供了可能。 分析:1)问题的抽象和简化:模拟地表径流在地表的流动来产生水系。 2)前提、假设: DEM的洼地均为可填充型洼地。 3)涉及的参数和变量:填充后的无洼地DEM、DEM每个栅格单元的水流方向、每个栅格上游汇水面积、确定水系的阈值大小。 4)数据类型的转换:由于基于DEM的计算是栅格数据,故需要转换为矢量数据,便于分析应用。 数据: DEM 2. 形成图解模型 自然条件下,水流向低处流动,遇到洼地,首先将其填满,然后再从该洼地的某一最低出口流出。但由于地形洼地的存在,导致依据水流方向矩阵所提取的排水网络不连续,使自然水流不能畅通无阻地流至区域边缘。因此,对已有的DEM数据,首先要进行洼地填充,生成无洼地DEM。在此基础上计算出水流方向矩阵、水流汇集矩阵,对水流汇集设置不同的阈值,来提取不同级别的河网。最后,用转换工具转换成矢量格式,完成水系的自动提取。其流程如图12.9所示。

DEM Filled DEM Flow Direction 格式转换 Stream Line Stream Grid 设置阈值 Flow Accumulation 图12.9 图解流程图 466

3. 操作步骤 (1) 放置输入数据:

1) 打开ArcMap,启动ArcToolbox;

2) 右键单击ArcToolbox,选择new toolbox,生成toolbox1;

3) 右键单击toolbox1,在new命令中选择model命令,生成model;

4) 单击model,右键选择Rename命令,如图12.10所示,输入waternet; 5) 在模型生成器中点击右键,选择create variable命令,弹出选择变量类型对话框 ,

在变量列表中选择数据类型为Raster layer,如图12.11所示。

(2) 放置空间处理工具 在ArcToolbox中按顺序分别在模型编辑器中加入Spatial Analyst Tools工具集中surface命令下的Fill、Flow Direction、 Flow Accumulation工具和Math命令下的Greater Than工具,以及Convention Tools中From Raster命令下的Raster to Polyline工具 。 (3) 设置连接与参数

按照数据流的先后顺序,连接相应图形要素。同时设置Rater Layer 、Output polyline feature和Input raster or constant为参数模型,如图12.12所示。模型如图12.13所示。 (4) 验证模型

以山区分辨率为50m的DEM为输入数据。双击waternet模型,弹出提取水系的对话框。

图12.11 选择变量类型对话

图12.12 waternet模型的参数

467

图12.13 利用DEM提取水系的图解模型

如图12.14所示,设置输入数据、输出路径和阈值的大小,单击OK按钮完成操作。

在Arcmap中打开生成的水系,分析结果是否满意,如果对结果不满意就需要对模型进行调整。提取结果如图12.15所示,分别为汇流累积为

图12.14 提取水系模型对话框

(a) 汇流累积大于200的水系

(b) 汇流累积大于1000的水系

图12.15 水系提取结果对比

468

200和1000的水系。 (5) 运行和使用模型

经过模型验证并对模型结果满意后,即可双击模型图标

469

但是在vbs中一般的用法为: Object.toolname(toolparams1,toolparams2,……), toolparams1,toolparams2分别为工具参数。例如等高线工具的执行:

gp.Contour_sa(input, output, \"50\

12.3.3 创建脚本文件

1.

单数据处理

所谓单数据处理,是指处理过程中只涉及到单个数据集的处理,数据可以是Geodatabase中的要素类、栅格数据集、ArcView的shapefile,也可以是Arc/Info的coverage等。在土地利用中,坡度是很重要的信息,特别是对一些坡度的分类具有很重要的意义。以从DEM中自动提取坡度大于15度的栅格为例,练习单数据的脚本处理。 (1) 编写脚本

新建一个文本文档,改文件名和类型为slope.vbs,文本内容如下:

'建立处理对象

图12.16 脚本参数设置 set gp = WScript.CreateObject(\"esriGeoprocessing.GPDispatch.1\") '检查扩展模块的license gp.CheckOutExtension \"spatial\"

'加载必要的Toolbox ,因为本例中用到的提取坡度和栅格计算命令均在Spatial Analyst扩展模块中,因此要加载这个模块。

gp.AddToolbox \"D:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx\" '定义脚本变量

Raster_Dataset = wscript.arguments.item(0) Output_raster__2_ = wscript.arguments.item(1) if Output_raster__2_ = \"#\" then

Output_raster__2_ = \"E:/Chp12/LessTha_slop1\" 如果没有指定路径的话,采用默认的路径 470

end if

slope__2_ = \"E:/ChP12/slope\"

Input_raster_or_constant_value_2 = \"15\" ' 提取坡度

gp.Slope_sa Raster_Dataset, slope__2_, \"DEGREE\' 提取坡度大于15度的栅格

gp.LessThan_sa slope__2_, Input_raster_or_constant_value_2, Output_raster__2_

(2) 添加script

1) 右键单击ArcToolbox,选择new toolbox,生成toolbox2; 2) 右键单击toolbox2,在add中选择script,则生成script; (3) 设置script属性

1) 右键单击script,选择properties命令,输入名字、标签、描述、风格,单击“下

一步”按钮;

2) 浏览到你所要选择运行的脚本,点击“下一步”按钮;

3) 设置属性。在提取坡度大于15度的栅格这个例子中需要输入一个栅格文件,输

出一个栅格文件,因此属性设置如图12.16所示。

(4) 运行脚本

图12.17 脚本运行对话框

12.18 脚本运行结果状态栏

471

设置完属性后,双击脚本图

472

(6) 循环语句处理;

For i = LBound(ele) to UBound(ele) gp.Aspect_sa ele(i), listaspect(i) Next

For j = LBound(listaspect) to UBound(listaspect) gp.Slope_sa listaspect(j), listsoa(j), \"DEGREE\Next

(7) 运行 右键单击toolbox,在add命令中选择scrip命令。右键单击script,选择properties命令弹出输入名字、标签、描述、风格对话框,单击下一步按钮;浏览到所要选择运行的脚本,单击下一步按钮。由于是批处理不需要设置参数,直接单击确定按钮。双击script图标

473

量等高线进行分类,从而生成明暗等高线地图。背光和受光栅格要根据入射光的方向进行确定,例如,假定光源位置定位于地面西北方向,则坡向为0~ 45、225~ 360时地表面

。。

为受光面,用白色表示;坡向为45~ 225时地表面为背光面,用黑色表示。将其二值化——即以0和1表示,再转化为矢量与等高线融合。明暗等高线制作的流程如图12.20所示。

4.

目的

通过明暗等高线的实例练习一个复杂模型的建立过程,熟练和掌握建模的全过程 5. 实现操作

在ArcGIS中,制作明暗等高线模型的方法如下所示: (1) 第一步:建立模型

1) 在ArcMap中单击Tools菜单,选择Extentions命令,加载Spatial Analyst模

块;

2) 右键单击ArcToolbox,生成一个New

Toolbox,右键单击New Toolbox,在New子菜单中选择Model命令,生成一个新的model;

3) 单击spatial analyst tools中的surface工具

集,将aspect工具拖拽至模型生成器窗口中;

4) 在模型生成器窗口单击右键,选择create

variable命令,弹出数据类型选择对话框,选择Raster Dataset,如图12.21所示; 5) 右键单击Raster Dataset,单击Rename命

令,在弹出的对话框中输入DEM,将原始的Raster Dataset重命名为DEM;

6) 单击添加连接图标

474

7) 在模型生成器窗口中加载spatial analyst tools的math工具集,选择logical中的less

than和greater than工具,在greater than对话框中的input raster or constant value 2文本框中输入45,同理,在less than对话框中input raster or constant value 2文本框中输入225; 8) 单击添加连接图标

,连接步骤10)生成的结果和Raster to polygon图形要素;

13)打开spatial analyst tools的surface工具集,将contour工具拖拽到模型生成器窗口

中,设置等高距为50; 14)单击添加连接图标

,分别连接步骤13)生成的等高线与步骤11)生成的矢量数

据。

(2) 设置参数

右键单击模型图标

475

Input raster or constant Raster to polygon Greater Than Greater Than Input raster or constant Output raster (2) Output raster (4) Contour

Output polyline feature Output Feature Class 图12.22 明暗等高线模型

(3) 颜色配置

运行模型后,在Arcmap中打开生成的结果,进行颜色设置。在ArcMap的view菜单下选择data prosperities命令,弹出Data Frame properties对话框,进入Frame选项卡,将Background设为Grey 40%,如图12.23所示。将明暗等高线的受光部分设为白色,背光部分设为黑色,明暗等高线结果如图12.24所示。

图12.23Data Frame Properties对话框

476

图12.24 明暗等高线地图

12.4.2 提取坡向变率(SOA)

1.

背景

地面坡向变率是指在地表的坡向提取基础之上,进行对坡向变化率值的二次提取,亦即坡向之坡度(Slope of Aspect, SOA)。地面坡向变率是一个反映等高线弯曲程度的指标,也可以反映出地表所有的山脊线、山谷线。 Aspect=345Aspect=15° 北 值得注意的是:在提取SOA过程中在不同的坡面上将会有误差的产生,因为在坡面的南北两侧,由于坡向算法的原因北面坡将会有误差产生,所以要对北坡的SOA结果进行纠正。从理论上讲SOA在地表北坡上将产生误差,北坡上坡向值范围为0—90°和270°—360°,在正北方向附近,15°和345°之间坡向差值只是30°,而在计算中却是差了330°(如图12.25所示),

图12.25北坡坡向差值示意图

所以要利用反地形将北坡地区的坡向变率误差进行纠正。

2. 数据

477

DEM栅格数据,数据存放于随书光盘中(E:\\ChP12\\Ex1\\DEM) 3. 要求

为了得到纠正后的SOA,必须得到正地形的SOA1和反地形的SOA2,修正的公式为((SOA1+ SOA2) – Abs(SOA1-SOA2))/2。其数据流向下图12.26所示:

目标

通过纠正平面曲率的例子,练习如何在模型中调用用户自定义的模型,明晰模型嵌套的过程。 5. 操作步骤 本例中需要建三个模型:生成SOA的模型,生成反地形的模型和纠正北坡误差的模型。其中,前两个模型在最后一个模型中被调用。 (1) 建立生成SOA的模型

1) 打开ArcMap,启动ArcToolbox;

2) 右键单击ArcToolbox,选择New Toolbox命令,生成toolbox2; 3) 右键单击toolbox2,在New命令中选择Model命令,生成model1;

4) 右键单击图标

4.

478

6) 打开Spatial Analyst Tools的Surface工具集,分别将Aspect和Slope工具拖拽至模

型生成器窗口中; 7) 设置参数。右键单击模型图标

,选择Properties命令。在Parameter内选择该模型中用到的参数DEM和

-DEM。模型如图12.28所示。

(3) 建立主模型

新建一个空模型,取名为correct SOA。加载刚才所建的两个子模型,将子模型拖拽至

-DEM

SOA of DEM Output raster SOA (2)

SOA of DEM Plus

Output raster (3) Minus (2)

Output raster (4)

479

模型界面内即可。打开Spatial Analyst中的Math工具集,在模型中分别加入以下工具:minus、plus、abs、divide,其中,Divided Constant设为2,并设为模型参数。同时,把输入数据DEM和输出数据corrected SOA设置为模型参数。图12.29所示为修正SOA的模型。 (4) 运行模型 运行模型,检查结果是否正确。运行对话框如图12.30所示,在对话框中选择输入数据并指定输出数据路径。图12.31为未消除误差的SOA,图中白色圆圈均为北坡的误差,消除误差后的结果如图12.32所示,图上没有那些错误的圆圈,很好地反映了地表所有的山脊线和山谷线。

图12.30 correct SOA模型运行对话框

图12.31 未消除北坡误差的SOA

480

图12.32 消除北坡误差后的SOA

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务