arcgis9教程


1 第一章 导论 随着信息社会的到来,人类社会进入了信息大爆炸的时代。面对海量信息,人们对于 信息的要求发生了巨大变化,对信息的广泛性、精确性、快速性及综合性要求越来越高。 随着计算机技术的出现及其快速发展,对空间位置信息和其它属性类信息进行统一管理的 地理信息系统也随之快速发展起来,在此基础上进行空间信息挖掘和知识发现是当前亟待 解决的问题,也是 GIS 研究的热点和难点之一。地理信息系统空间分析也越来越凸显出其 重要作用。 1.1 地理信息系统 1.1.1 基本概念 地理信息系统(Geographical Information System,简称 GIS)是在计算机软硬件支持 下,对整个或者部分地球表层空间中的有关地理分布数据进行采集、存储、管理、运算、 分析、显示和描述的技术系统。地理信息系统处理和管理的对象是多种地理空间实体数据 及其关系,包括空间定位数据、图形数据、遥感图像数据、属性数据等,主要用于分析和 处理一定地理区域内分布的各种现象和过程,解决复杂的规划、决策和管理问题。 1.1.2 GIS 系统构成 一个完整的地理信息系统主要由四个部分构成,即硬件系统、软件系统、地理空间数 据和系统管理操作人员。其中计算机硬件、软件系统是 GIS 使用工具,空间数据库反映了 GIS 的地理内容,而管理人员和用户则决定系统的工作方式和信息表达方式。 1. 硬件系统 计算机硬件系统是计算机系统中的实际物理配置的总称,可以是电子的、电的、磁的、 机械的、光的元件或装置,是 GIS 的物理外壳。系统的规模、精度、速度、功能、形式、 使用方法甚至软件都与硬件有极大的关系,受硬件指标的支持或制约。GIS 由于其任务的 复杂性和特殊性,必须由计算机设备支持。构成计算机硬件系统的基本组件包括输入/输出 设备、中央处理单元、存储器等。这些硬件组件协同工作,向计算机系统提供必要的信息, 使其完成任务,也可以保存数据以备现在或将来使用,或将处理得到的结果或信息提供给 用户。 2. 软件系统 2 GIS 运行所需的软件系统如下: (1) 计算机系统软件 由计算机厂家提供的、为用户使用计算机提供方便的程序系统,通常包括操作系统、 汇编程序、编译程序、诊断程序、库程序以及各种维护使用手册、程序说明等,是 GIS 日 常工作所必需的软件。 (2) 地理信息系统软件和其他支持软件 包括通用的 GIS 软件包,也可以包括数据库管理系统、计算机图形软件包、计算机图 像处理系统、CAD 等,用于支持对空间数据的输入、存储、转换、输出和与用户接口等操 作。 (3) 应用分析程序 系统开发人员或用户根据地理专题或区域分析模型编制的用于某种特定任务的程序, 是系统功能的扩展与延伸。在 GIS 工具支持下,应用程序的开发应是透明的和动态的,与 系统的物理存储结构无关,并能随着系统应用水平的提高不断优化和扩充。应用程序作用 于地理专题或区域数据,构成 GIS 的具体内容,这是用户最为关心的真正用于地理分析的 部分,也是从空间数据中提取地理信息的关键。用户进行系统开发的大部分工作是开发应 用程序,而应用程序的水平在很大程度上决定系统应用的优劣和成败。 3. 系统开发、管理与使用人员 人是 GIS 重要的构成因素。地理信息系统从其设计、建立、运行到维护的整个生命周 期,处处都离不开人的作用。仅有系统软硬件和数据还不能构成完整的地理信息系统,还 需要人进行系统组织、管理、维护和数据更新,以及系统扩充完善、应用程序开发,并灵 活采用地理分析模型提取多种信息,为研究和决策服务。地理信息系统专业人员是地理信 息系统应用的关键,而强有力的组织是系统运行的保障。 4. 地理空间数据 地理空间数据是以地球表面空间位置为参照的自然、社会和人文经济景观数据,可以 是图形、图像、文字、表格和数字等。它是由系统的建立者通过数字化仪、扫描仪、键盘、 磁带机或其他系统通讯设备输入 GIS,是系统程序作用的对象,是 GIS 所表达的现实世界 经过模型抽象的实质性内容。不同用途的 GIS 其地理空间数据的种类、精度均不相同,包 括如下三种信息: (1) 已知坐标系中的位置 即几何坐标,标识地理景观在自然界或包含某个区域的地图中的空间位置,如经纬度、 平面直角坐标、极坐标等。采用数字化仪输入时通常采用数字化仪直角坐标或屏幕直角坐 标。 (2) 实体间的空间关系 实体间的空间关系通常包括:度量关系,如两个地物之间的距离远近;延伸关系(或 方位关系),定义了两个地物之间的方位;拓扑关系,定义了地物之间连通、邻接等关系, 是 GIS 分析中最基本的关系,其 中包括了网络结点与网络线之间的枢纽关系、边界线与面 实体间的构成关系、面实体与岛或内部点的包含关系等。 (3) 与几何位置无关的属性 3 即通常所说的非几何属性或简称属性,是与地理实体相联系的地理变量或地理意义。 属性分为定性和定量的两种。定性包括名称、类型、特性等,定量包括数量和等级;定性 描述的属性如土壤种类、行政区划等,定量的描述属性如面积、长度、土地等级、人口数 量等。非几何属性一般是经过抽象的概念,通过分类、命名、量算、统计得到。任何地理 实体至少有一个属性,而地理信息系统的分析、检索和表示主要是通过对属性的操作运算 实现的。因此,属性的分类系统、量算指标对系统的功能有较大的影响。 1.1.3 GIS 功能与应用 地理信息系统要解决的核心问题包括:位置、条件、变化趋势、模式和模型,据此, 可以把 GIS 功能分为以下几个方面: 1. 数据采集与输入 数据采集与输入,即将系统外部原始数据传输到 GIS 系统内部的过程,并将这些数据 从外部格式转换到系统便于处理的内部格式。多种形式和来源的信息要经过综合和一致化 的处理过程。数据采集与输入要保证地理信息系统数据库中的数据在内容与空间上的完整 性、数值逻辑一致性与正确性等。一般而论,地理信息系统数据库建设的投资占整个系统 建设投资的 70%或更多,并且这种比例在近期内不会有明显的改变。因此,信息共享与自 动化数据输入成为地理信息系统研究的重要内容,自动化扫描输入与遥感数据集成最为人 们所关注。扫描技术的改进、扫描数据的自动化编辑与处理仍是地理信息系统数据获取研 究的关键技术。 2. 数据编辑与更新 数据编辑主要包括图形编辑和属性编辑。图形编辑主要包括拓扑关系建立、图形编辑、 图形整饰、图幅拼接、投影变换以及误差校正等;属性编辑主要与数据库管理结合在一起 完成。数据更新则要求以新纪录数据来替代数据库中相对应的原有数据项或纪录。由于空 间实体都处于发展进程中,获取的数据只反映某一瞬时或一定时间范围内的特征。随着时 间推移,数据会随之改变。数据更新可以满足动态分析之需。 3. 数据存储与管理 数据存储与管理是建立地理信息系统数据库的关键步骤,涉及到空间数据和属性数据 的组织。栅格模型、矢量模型或栅格/矢量混合模型是常用的空间数据组织方法。空间数据 结构的选择在一定程度上决定了系统所能执行的数据分析的功能,在地理数据组织与管理 中,最为关键的是如何将空间数据与属性数据融合为一体。目前大多数系统都是将二者分 开存储,通过公共项(一般定义为地物标识码)来连接。这种组织方式的缺点是数据的定 义与数据操作相分离,无法有效记录地物在时间域上的变化属性。 4. 空间数据分析与处理 空间查询是地理信息系统以及许多其它自动化地理数据处理系统应具备的最基本的 分析功能。而空间分析是地理信息系统的核心功能,也是地理信息系统与其它计算机系统 的根本区别。模型分析是在地理信息系统支持下,分析和解决现实世界中与空间相关的问 4 题,它是地理信息系统应用深化的重要标志。 5. 数据与图形的交互显示 地理信息系统为用户提供了许多表达地理数据的工具。其形式既可以是计算机屏幕显 示,也可以是诸如报告、表格、地图等硬拷贝图件,可以通过人机交互方式来选择显示对 象的形式,尤其要强调的是地理信息系统的地图输出功能。GIS 不仅可以输出全要素地图, 也可根据用户需要,输出各种专题图、统计图等。 6. 地理信息系统应用 地理信息系统的大容量、高效率及其结合的相关学科的推动使其具有运筹帷幄的优 势,成为国家宏观决策和区域多目标开发的重要技术支撑,也成为与空间信息有关各行各 业的基本分析工具。其强大的空间分析功能及发展潜力使得 GIS 在测绘与地图制图、资源 管理、城乡规划、灾害预测、土地调查与环境管理、国防、宏观决策等方面得到广泛、深 入的应用。 地理信息系统以数字形式表示自然界,具有完备的空间特性,它可以存储和处理不同 地理发展时期的大量地理数据,具有极强的空间信息综合分析能力,是地理分析的有力工 具。地理信息系统不仅要完成管理大量复杂的地理数据的任务,更为重要的是要完成地理 分析、评价、预测和辅助决策的任务。因此,研究广泛适用于地理信息系统的地理分析模 型,是地理信息系统真正走向实用的关键。 1.1.4 GIS 技术与发展 地理信息系统的发展已历经 30 余年,用户的需要、技术的进步、应用方法的提高以 及有关组织机构的建立等因素,深深影响着地理信息系统的发展历程。 60 年代初期,地理信息系统处于萌芽和开拓期,注重空间数据的地学处理。该时期 GIS 发展的动力来自于新技术的应用、大量空间数据处理的生产需求等方面,专家兴趣与 政府推动也起到积极的引导作用。进入 70 年代,地理信息系统进入巩固发展期,注重于 空间地理信息的管理。资源开发、利用乃至环境保护问题成为首要解决之疑难,需要有效 地分析、处理空间信息。随着计算机技术的迅速发展,数据处理速度加快,为地理信息系 统软件的实现提供了必要条件和保障。80 年代是地理信息系统的大发展时期,注重于空间 决策支持分析。地理信息系统应用领域迅速扩大,涉及到许多的学科和领域,此时地理信 息系统发展最显著的特点是商业化实用系统进入市场。90 年代是地理信息系统的用户化时 代,地理信息系统已成为许多机构必备的工作系统,社会对地理信息系统认识普遍提高, 需求大幅度增加,从而使得地理信息系统应用领域扩大化、深入化,地理信息系统向现代 社会最基本的服务系统发展。 进入新世纪,GIS 应用向更深的层次发展,展现新的发展趋势。 1. 网络 GIS(Web-GIS) 网络地理信息系统(Web-GIS)指基于 Internet 平台、客户端应用软件采用网络协议、 运行在 Internet 上的地理信息系统。一般由多主机、多数据库和多个客户端以分布式模式 5 连接在 Internet 上而组成,包括以下四个部分:Web-GIS 浏览器(browser)、Web-GIS 服务 器、Web-GIS 编辑器(Editor)、Web-GIS 信息代理(information agent)。Web-GIS 开拓了 地理信息资源利用的新领域,为 GIS 信息的高度社会化共享提供了可能,是 传统 GIS 发展 的新机遇。 2. 组件式 GIS(Com-GIS) 组件式 GIS 是 GIS 技术与组件技术结合的产物。其基本思想是:把 GIS 的各种功能模 块进行分类,划分为不同类型的控件,每个控件完成各自相应的功能。各个控件之间,以 及 GIS 控件与其它非 GIS 控件之间,通过可视化的软件开发工具集成起来,形成满足用户 特定功能需求的 GIS 应用系统。长期以来,由于 GIS 开发周期长、难度大,在一定程度上 制约了 GIS 的发展。组件式 GIS 的出现为新一代 GIS 应用提供新的工具,具有集成灵活、 成本低、开发便捷、使用方便、易于推广、可视化界面等优点,一般有基础组件、高级通 用组件、行业性组件三级结构。 3. 虚拟现实 GIS(VR GIS) 虚拟现实 GIS(Virtual Reality GIS,简称 VR GIS)在 20 世纪 90 年代开始出现,是一 种专门用于研究地球科学,或以地球系统为对象的虚拟现实技术,是虚拟现实与地理信息 系统相结合的产物。近年来,VR GIS 甚至融入到 Web-GIS 和 Com-GIS 之中。理 想 的 VR GIS 应具有下列特征: (1) 对现实的地理区域非常真实的表达; (2) 用户在所选择的地理带(地理范围)内外自由移动; (3) 三维(立体)数据库的标准 GIS 功能(查询、选择、空间分析等); (4) 可视化功能必须是用户接口的自然整体部分。 VR GIS 的特点表现在以下几个方面:区域表达的真实性;空间、时间维的漫游、查 询;用户和系统之间的交互作用;海量丰富的信息等。 4. 时态 GIS(TGIS) 时态 GIS 是相对于静态 GIS 而言的。现 实中地理环境、事物和现象是不断发展变化的, 但静态 GIS 仅对其进行“快照”式表达,只关心某一瞬间的地理现象,对其前后的数据不 保留,也没有比较分析。而时态 GIS 将时间概念引入到 GIS 中,跟踪和分析空间数据随时 间的变化,不仅描述系统在某时刻的状态,而且描述系统沿时间变化之过程,预测未来时 刻将会呈现的状态,以获得系统变化的趋势。 5. 互操作 GIS 目前 GIS 系统大多基于具体的、相互独立的和封闭的平台开发,采用各自不同的空间 数据格式,数据组织方式有很大差异,这使得不同 GIS 软件间交换数据很困难。为解决地 理数据的共享和继承、地理操作的分布与共享等需求,互操作 GIS 被提上议事日程,这是 一个新的 GIS 集成平台,实现了在异构环境下多个地理信息系统或其应用系统之间的互相 通信和协作。 6. 3S 集成 虽然 GIS 在其理论和应用技术上有很大发展,但靠传统 GIS 的使用却不能满足目前社 会对信息快速、准确更新之要求。与 GIS 独立、平行发展的全球定位系统(GPS)和遥感 6 (RS)则为 GIS 适应社会发展的需求提供了可能性。目前,国际上 3S 的研究和应用开始 向集成化方向发展。这种集成应用中,GPS 主要用于实时、快速地提供目标的空间位置; RS 用于实时提供目标及其环境的信息、发现地球表面的各种变化,及时对 GIS 数据进行 更新;GIS 则是对多种来源的时空数据进行综合处理、集成管理和动态存取,作为新的集 成系统的基础平台,并为智能化数据采集提供地学知识。 1.2 GIS 空间分析 对地观测和计算机技术的发展大大加强了人们对空间信息的分析和处理能力。人们渴 望利用这些空间信息来认识和把握地球和社会的空间运动规律,进行虚拟、科学预测和调 控,迫切需要建立空间信息分析的理论和方法体系。地理信息系统出现后,吸取了所有能 够利用的空间分析的理论和方法,并将它们植入到 GIS 系统中去。在 GIS 系统支持下,空 间分析顺利得以实现并得到进一步飞跃;GIS 也因为有了空间分析这一强有力的理论支持 而获得更强大的生命力和更广阔的发展空间。空间分析已被认为是地理信息系统中最核 心、最重要的理论之一,也是 GIS 系统区别于其它计算机辅助设计系统的关键所在。 1.2.1 空间分析 现代空间分析概念的提出,起源于 60 年代地理和区域科学的计量革命。在起步阶段, 主要是将统计分析的定量手段用于分析点、线、面的空间分布模式。在 60 年代地理学计 量革命中,有些模型初步考虑了空间信息的关联性问题,成为当今空间数据分析模型的萌 芽。如在 60 年代,法国地质学家 Matheron 在前人的基础上,提出“地统计学”, 或称 Kriging 方法,它是一种用变异函数评价和估计自然现象的理论与方法,随后,Journel 针对矿物储 量估算,将地统计技术在理论上和实践中推向成熟。同时,统计学家也对空间数据统计产 生了兴趣,在方法完备性方面做出了诸多贡献。地理学、经济学、区域科学、地球物理、 大气科学、水文学等专门学科为空间信息分析模型的建立提供了知识和机理。逐渐成熟后 的空间分析理论与方法更多地强调地理空间的自身特征、空间决策过程及复杂空间系统的 时空演化过程分析,分析方法也从统计方法扩展到运筹学、拓扑学和系统论等。 实际上,自有地图以来,人们就始终在自觉或不自觉地进行着各种类型的空间分析。 如在地图上量测地理要素之间的距离、方位、面积,乃至利用地图进行战术研究和战略决 策等,都是人们利用地图进行空间分析的实例,而后者实质上已属较高层次上的空间分析。 空间分析的概念,从不同的角度理解有不同的定义方式。 从侧重于空间实体对象的图形与属性的交互查询角度考察,空间分析是从 GIS 目标之 间的空间关系中获取派生的信息和新的知识。分析对象是地理目标的空间关系,分析内容 由以下几个部分组成:拓扑空间查询、缓冲区分析、叠置分析、空间集合分析和地学分析。 从侧重于空间信息的提取和空间信息传输角度考虑,空间分析是基于地理对象的位置 7 和形态特征的空间数据分析技术,其目的在于提取和传输空间信息。分析对象是地理目标 的位置和形态特征,可将空间信息分为:空间位置、空间分布、空间统计、空间关系、空 间关联、空间对比、空间趋势和空间运动。它们对应的空间分析操作为:空间位置分析、 空间分布分析、空间形态分析、空间关系分析和空间相关分析等。 随着空间分析向更深层次发展,空间分析逐步走向为决策提供支持。空间分析对象是 与决策支持有关的地理目标的空间信息及其形成机理,主要强调相关数学建模及模型的管 理与应用。空间分析可以理解为在对地理空间中的目标进行形态结构定义与分类的基础 上,对 目 标 的空间关系和空间行为进行描述,为目标的空间查询和空间相关分析提供参考, 进一步为空间决策提供服务的功能体系。该体系包括以下内容:空间数据探索、空间回归 分析、空间机理模型、空间统计——机理模型、空间复杂系统模型、空间运筹模型、空间 数据挖掘。 1.2.2 基于 GIS 的空间分析 地理信息系统出现后,迅速吸取能利用的空间分析方法和手段,将它们植入 GIS 软件 中,并且利用各种计算机新技术,使复杂的传统空间分析任务变得简单易行,并能方便、 高效的应用几何、逻辑、代数等运算,以及数理统计分析和其他数学物理方法,更科学、 高效地分析和解释地理特征间的相互关系及空间模式。于是,GIS 为空间分析提供了良好 支撑平台;空间分析也因为有了 GIS 而真正得以应用。GIS 正是因为有了空间分析功能才 使之区别于一般的计算机辅助设计系统。 基于 GIS 的空间分析是地理信息系统区别于其他信息系统的主要特色,是 评价地理信 息系统功能的主要特征之一。地理信息系统集成了多学科的最新技术,如关系数据库管理、 高效图形算法、插值、区划和网络分析等,为 GIS 空间分析提供了强大的工具。目前绝大 多数地理信息系统软件都具备一定的空间分析功能,GIS 空间分析已成为地理信息系统的 核心功能之一,它特有的地理信息(特别是隐含信息)的提取、表现和传输功能,是地理 信息系统区别于一般信息系统的主要功能特征。 早期 GIS 发展集中于空间数据结构及计算机制图方面;随着 GIS 基础理论研究逐步走 向成熟,计算机软硬件技术和相关学科的进步也为 GIS 提供了更好的支撑,GIS 技术正处 于飞速发展的进程中,其 中 融 合的数据急剧增长。在此基础上人们不仅需要知道“在哪里”、 “怎么去”这些基本的 GIS 空间分析问题,更关心所处的具体位置与周围环境之关系,普 通市民会关心住宅区房屋的采光效果、噪声影响、交通和生活便利情况等;农业规划管理 和生产者考虑具体的地理环境下山地退耕还林、农业生产效率、农作物分区种植等方案确 定;城市规划和决策者需要考虑城市的总体的合理规划,如垃圾处理厂对周围环境的影响 程度,考虑商场、学校、交通站点的地点选择;水利、铁路、环境等部门则关心所辖区域 在面临大量降雨条件下哪些区域可能发生诸如泥石流、山体滑坡、洪水淹没、交通破坏等 灾害事件,等等。这些人们关心和亟待解决的问题大都可以划归为空间分析的范畴,可见 GIS 空间分析正成为人们关注的焦点,起到越来越重要的作用。GIS 空间分析目前已广泛 8 应用于水污染监测、城市规划与管理、地震灾害预警和损失估计、洪水灾害分析、矿产资 源评价、道路交通管理、地形地貌分析、医疗卫生、军事领域等。 对基于 GIS 的空间分析的理解有不同的角度和层次。 1. 按空间数据结构类型 按处理的空间数据结构类型来看,可分为栅格数据分析、矢量数据分析。栅格数据分 析是建立在矩阵代数基础上的,在数据处理与分析中使用二维数字矩阵分析法作为其数学 基础。因此分析处理简单,处理的模式化很强。一般来说,栅格数据的分析处理方法可以 概括为聚类、聚合分析、复合叠加分析、窗口分析、追踪分析等。 矢量数据空间分析的数学基础是二维迪卡尔坐标系统。常用矢量数据空间分析内容包 括拓扑包含分析、缓冲区分析及网络分析等。其中有些分析方法二者兼而有之,只是分析 处理方式不同,如叠加分析在矢量数据和栅格数据中都有完善的实施方案。 2. 按分析对象的维数 按分析对象的维数来看,包括二维分析、DTM 三维分析及多维分析。其中二维分析 包括常规 GIS 分析的大部分内容,如矢量数据空间分析、栅格数据空间分析、空间统计分 析(空间插值、创建统计表面等)、水文分析(河网提取、流域分割、汇流累积量计算、 水流长度计算等)、多变量分析、空间插值、地图代数等。 三维分析有如下内容:三维模型建立和显示基础上的空间查询定位分析,以及建立在 三维数据上的趋势面分析、表面积、体积、坡度、坡向、视亮度、流域分布、山脊、山谷 及可视域分析等。 多维空间分析是建立在多维 GIS 系统之上的。相对于时态 GIS 而言,时空分析包括如 下内容:时空数据的分类、时间量测、基于时间的数据平滑和综合、根据时空数据变化进 行统计分析、时空叠加分析、时间序列分析及预测分析等。 3. 按分析的复杂性程度 从分析复杂性程度来看,GIS 空间分析可以分为空间问题查询分析、空间信息提取、 空间综合分析、数据挖掘与知识发现、模型构建。空间问题查询分析包括利用地理位置数 据查询属性数据、由属性数据查询位置特征、区位查询(查询用户给定的图形区域——点、 圆、矩形或多边形等内的地物属性和空间位置关系)。 空间信息提取涉及空间位置、空间分布、空间统计、空间关系、空间关联、空间对比、 空间趋势和空间运动等的研究。其对应的空间分析操作为:空间位置分析、空间分布分析、 空间形态分析和空间相关分析等。 空间综合分析涉及空间统计分析、可视性分析、地下渗流分析、水文分析、网络分析 等内容。数据挖掘与知识发现则包括空间分类与聚类、空间关联规则确定、空间异常发现 与趋势预测等内容。模型构建作为复杂空间分析内容,主要涉及各种机理模型的构建,包 括空间机理模型、空间统计与机理模型、空间运筹模型、空间复杂系统模型等内容。 9 1.2.3 常用 GIS 平台空间分析功能比较 常见的 GIS 系统中,ESRI 的 ArcGIS 以其强大的分析能力占据了大量市场,成为主流 的 GIS 系统。随着 ArcGIS9 的推出,运用 ArcGIS9 进行地理信息系统空间分析将成为一种 主导趋势。本书在讲解空间分析原理基础上,阐述了如何利用 ArcGIS9 进行 GIS 空间分析, 前五章主要论及地理信息系统空间分析的原理和 ArcGIS9 基本操作,从第六章开始,在介 绍空间分析基础上,详细讲解了如何利用 ArcGIS9 进行地理信息系统空间分析。 常见 GIS 平台空间分析功能比较如下。 表 1 国内外 GIS 软件空间分析功能比较(据靳军等) 名称 功能 ArcGIS MGE MapInfo MapGIS GeoStar Super Map 空间查询 ☆ ☆ ◆ ◆ ◆ ◆ 空间查询 与量算 空间量算 ☆ ☆ ◆ ◆ ◆ ◆ 点缓冲 ★ ☆ ◆ ◆ ☆ ◆ 线/弧 ★ ☆ ◆ ◆ ☆ ◆ 面/多边形 ★ ☆ ◆ ◆ ☆ ◆ 缓冲区 分析 加权 ★ ☆ ◆ ◆ ☆ ◆ 点与多边形 ★ ☆ ◆ ◆ ☆ ◆ 线与多边形 ★ ☆ ◆ ◆ ☆ ◆ 叠置分析 多边形与多边形 ★ ☆ ◆ ◆ ☆ ◆ 最短路径 ☆ ☆ ▲ ▲ ▲ 网络属性值累积 ☆ ☆ ▲ ▲ ▲ 路由分配 ☆ ☆ ▲ ▲ ▲ 空间邻接搜索 ☆ ☆ ▲ ▲ ▲ ▲ 最近相邻搜索 ☆ ☆ ▲ ▲ ▲ ▲ 网络分析 地址匹配 ☆ ☆ ▲ ▲ ▲ ▲ 拓扑分析 ☆ ☆ ◆ ◆ ◆ 临近分析 ★ ☆ ◆ ◆ ◆ 其它分析 复合分析 ▲ ▲ ▲ ▲ ◆ 统计图表分析 ◆ ▲ ◆ ▲ ▲ ▲ 主成分分析 ◆ ▲ ◆ ▲ ▲ ▲ 层次分析 ◆ ▲ ◆ ▲ ▲ ▲ 系统聚类分析 ◆ ▲ ◆ ▲ ▲ ▲ 空间统计 分类分析 判别分析 ◆ ▲ ◆ ▲ ▲ ▲ 备注 ★表示更强;☆表示强;◆表示较强;◇表示弱;▲表示较弱 10 1.3 ArcGIS9 概述 从 1978 年以来,ESRI 相继推出了多个版本系列的 GIS 软件,其产品不断更新扩展, 构成适用各种用户和机型的系列产品。ArcGIS 是 ESRI 在全面整合了 GIS 与数据库、软件 工程、人工智能、网络技术及其它多方面的计算机主流技术之后,成功地推出了代表 GIS 最高技术水平的全系列 GIS 产品。ArcGIS 是一个全面的,可伸缩的 GIS 平台,为用户构 建一个完善的 GIS 系统提供完整的解决方案。 1.3.1 ArcGIS9 体系结构 ArcGIS9 是美国环境系统研究所(Environment System Research Institute,ESRI)开发 的新一代 GIS 软件,是世界上最广泛的 GIS 软件之一。 ArcGIS9 由 ESRI 在 2004 年推出,是一个统一的地理信息系统平台,由数据服务器 ArcSDE 及 4 个基础框架组成:桌面软件 Desktop、服务器 GIS、嵌入式 GIS 和移动 GIS。 1. Desktop GIS Desktop GIS 包含诸如 ArcMap、ArcCatalog、ArcToobox 以及 ArcGlobe 等在内的用户 界面组件,其功能可分为三个级别:ArcView、ArcEditor 和 ArcInfo,而 ArcReader 则是一 个免费地图浏览器组件。其中,ArcView、ArcEdior、ArcInfo 是三级不同的桌面软件系统, 共用通用的结构、通用的编码基数、通用的扩展模块和统一的开发环境,功能由简单到复 杂。其相互关系如图 2 示例。 图 1 ArcGIS9 体系一览图 11 2. Server GIS ArcGIS9 所包含的三种服务端产品: ArcSDE、ArcIMS 和 ArcGIS Server。 ArcSDE 是管理地理信息的高级空间数据服务器。ArcIMS 则是一个可伸缩的,通过 开放的 Internet 协议进行 GIS 地图、数据和元数据发布的地图服务器。ArcGIS Server 是应 用服务器,用于构建集中式的企业 GIS 应用,基于 SOAP 的 Web services 和 Web 应用,包 含在企业和 Web 框架上建设服务端 GIS 应用的共享 GIS 软件对象库。 3. Embedded GIS 在嵌入式 GIS 支持方面,ArcGIS9 提供了 ArcGIS Engine,是应用于 ArcGIS Desktop 应用框架之外的嵌入式 ArcGIS 组件。使用 ArcGIS Engine,开发者在 C++、COM、.NET 和 Java 环境中使用简单的接口获取任意 GIS 功能的组合来构建专门的 GIS 应用解决方案。 4. Mobile GIS 在移动 GIS 方面,ArcGIS9 提供了实现简单 GIS 操作的 ArcPad 和实现高级 GIS 复杂 操作的 Mobile ArcGIS Desktop System。ArcPad 是 ArcGIS 实现简单的移动 GIS 和野外计算 之解决方案;ArcGIS Desktop 和 ArcGIS Engine集中组建的 Mobile ArcGIS Desktop Systems, 一般在高端平板电脑上执行,以执行 GIS 分析和决策分析的野外工作任务。 5. Geodatabase Geodatabase 是 geographic database 的简写,是一种在专题图层和空间表达中组织 GIS 数据的核心地理信息模型,是一套获取和管理 GIS 数据的全面的应用逻辑和工具。 不管是客户端的应用(如 ArcGIS Desktop),服务器配置(如 ArcGIS Server),还是嵌 入式的定制开发(ArcGIS Engine)都可以运用 Geodatabase 的应用逻辑。Geodatabase 还是 一个基于 GIS 和 DBMS 标准的物理数据存储库,可以应用于多用户访问、个人 DBMS 以 ü ArcView ü 交互式制图 ü 地图设计和输出 ü 基于地图的查询 ü 直接读取数据 ü 地理处理框架 ü 定制应用程序框架 ² ArcMap ² ArcCatalog ² ArcToolbox ² ModelBuilder ArcEditor = ArcView + ü Geodatabase 定义和管理 ü Geodatabase 编辑 ArcInfo = ArcView + ü 高级地理编辑处理功能 ü ArcInfo Workstation ArcEditor + = 图 2 ArcView,ArcEditor,和 ArcInfo 功能构成对比 12 及 XML 等情形。Geodatabase 被设计成一个开放的、简单几何图形的存储模型。Geodatabase 对众多的存储机制开放,包括诸如 DBMS 存储、文件型存储或者 XML 方法存储之类,并 不局限于某个 DBMS 的供应商。 1.3.2 ArcGIS9 软件特色 ArcGIS9 是 ESRI 发布的功能比较强大而又完善的版本。ArcGIS9 的一个主要目标是 与现有的 ArcGIS 8.3 平台的功能和数据模型完全兼容,使得最终用户和开发商可以很方便 地对系统进行升级,同时在软件稳定性、测试、空间数据库伸缩性和栅格处理的性能方面 作了改进;提供强大的跨平台支持能力,包括 Windows、UNIX 和 Linux 平台,这为用户 提供了更加灵活的配置选择。 1. 制图编辑的高度一体化 在 ArcGIS 中,ArcMap 提供了一体化的完整地图绘制、显示、编辑和输出的集成环境。 相对于以往所有的 GIS 软件,ArcMap 不仅可以按照要素属性编辑和表现图形,也可直接 绘制和生成要素数据;可以在数据视图按照特定的符号浏览地理要素,也可同时在版面视 图生成打印输出地图;有全面的地图符号、线形、填充和字体库,支持多种输出格式;可 自动生成坐标格网或经纬网,能够进行多种方式的地图标注,具有强大的制图编辑功能。 ArcGIS 在前期 ArcInfo 版本的基础上,增强了提供给制图人员的工具,并且支持以前 版本的所有功能,ArcMap 在提供给制图人员生产高质量印刷地图所需表达和布局工具的 同时,还提供了一个艺术化的地图编辑环境。具有强大功能和人性化特点,可以完成任意 地图要素的绘制和编辑。 2. 便捷的元数据管理 ArcGIS 可以管理其支持的所有数据类型的元数据,可以建立自身支持的数据类型和元 数据,也可以建立用户定义数据的元数据(如文本、CAD、脚本),并可以对元数据进行 编辑和浏览。ArcGIS 可以建立元数据的数据类型很多,包括 ArcInfo Coverage、ESRI Shapefile、CAD 图、影像、GRID、TIN、PC ARC\INFO Coverage、ArcSDE、Personal ArcSDE、 工作空间、文件夹、Maps、Layers、INFO 表、DBASE 表、工程和文本等。 ArcCatalog 模块用以组织和管理所有的 GIS 信息,如地图、数据集、模型、元数据、 服务等,支持多种常用的元数据,提供了元数据编辑器以及用来浏览的特性页,元数据的 存储采用了 XML 标准,对 这些数据可以使用所有的管理操作( 如 复 制 、删除和重命名等)。 ArcCatalog 也支持多种特性页,它 提供了查看 XML 的不同方法。在 更 高 版 本 的 ArcGIS 中, ArcCatalog 将提供更强大的元数据支持。 3. 灵活的定制与开发 ArcGIS 的 Desktop 部分通过一系列可视化应用操作界面,满足了大多数终端用户的需 求,同时,也为更高级的用户和开发人员提供了全面的客户化定制功能。 ArcMap 提供了多个被添加到界面上的不同工具条对数据进行编辑和操作,用户也可 以创建添加自定义的工具。ArcCatalog 和 ArcMap 的基础是 Microsoft 公司的组件对象模型 13 (COM),于是可以说 ArcGIS 是完全 COM 化的,对于需要对 ArcGIS 进行结构定制和功 能扩展的高级开发人员来说,这是非常有吸引力的。任何 COM 兼容的编程语言,如 Visual C++、Delphi 或者 Visual J++都能用来定制和扩展 ArcGIS。 ArcGIS 还提供了工业标准的 VBA(Microsoft Visual Basic for Application),用于所有 的脚本编程和定制工作。ArcMap 和 ArcCatalog 这两个模块的 VBA 编辑器,可以让用户编 写定制的脚本,并作为宏来运行和保存、添加到界面上的命令按钮里。 4. ArcGIS9 的新功能 与 ArcGIS8 相比,ArcGIS9 最大的变化是增加了两个基于 ArcObject 的产品:面向开 发的嵌入式 ArcGIS Engine 和面向企业用户基于服务器的 ArcGIS Server。这两个产品都支 持包括 Windows、UNIX 和 Linux 在内的跨平台技术。3D Analyst 是 ArcGIS8 的扩展模块, 主要提供空间数据的三维显示功能。在 ArcGIS9 中,该模块在 3D Analyst 的基础上第一次 推出全球 3D 可视化功能。该模块具有与 ArcScene 相似的地图交互工具,可以与任何在三 维地球表面有地理坐标的空间数据进行叠加显示。ArcGIS9 特别增强了栅格数据的存储、 管理、查询和可视化能力,可以管理上百个 GB 到 TB 数量级的栅格数据,允许其有属性, 并可与矢量数据一起存储并成为空间数据库的一个重要组成部分。ArcGIS9 还推出了一种 标准、开放的空间数据库格式,它直接利用 XML schema 形式,提供了对包括矢量、栅格、 测量度量值和拓扑在内的所有空间数据类型的访问。在以前版本中,例如数据集合并等高 级空间处理功能一般由 ArcInfo Workstation 或 XML 完成,现在这些功能都可在 ArcGIS9 桌面端实现。 1.3.3 ArcGIS9 空间分析 强大的空间分析能力是 ArcGIS 系列产品一大特征。ArcGIS9 推出了一种全新的空间 分析方式,能帮助用户完成高级的空间分析,如选址适宜性分析和合并数据集等。在 ArcGIS9 中,全部主要的 Workstation 空间处理功能都将在 ArcGIS 桌面端提供,并将进一 步提供更多的处理工具,进行对包括空间数据库要素类在内的数据格式处理。 ArcGIS9 中的空间处理(Geoprocessing)的主要内容如下表所示: 14 表 3 空间处理主要内容列表(Geoprocessing) 名称 主要内容 分析工具(Analysis Tools, 计 16 种) ² 裁剪、选择、拆分等 ² 相交、联合、判别等 ² 缓冲区、邻近分析、点距离 ² 频度、加和统计等 数据管理(Data Management,计 118 种) ² 字段、索引、值域、子类型和工作空间管理 ² 空间数据库版本、关系类和拓扑 ² 栅格管理与图层、视图、关联和选择集 ² 综合(融合)与要素操纵工具 ² 数据集管理(创建、复制、删除和重命名) 转换工具(Conversion Tools,25 种) ² 矢量栅格数据转换 ² CAD、Covrage、shapefile、Geodatabase 互相转换 空间分析工具(Spatial Analyst Tools,计 158 种) ² 矢量数据空间分析(缓冲区分析、叠置分析、网络分析) ² 栅格数据空间分析(距离制图、表面分析、密度制图、 统计分析、重分类、栅格计算) ² 空间统计分析(空间插值、创建统计表面等) ² 水文分析(河网提取、流域分割、汇流累积量计算、水 流长度计算等) ² 地下水分析(达西分析、粒子追踪、多孔渗流等) ² 多变量分析、空间插值 ² 数学、地图代数 3D 分析工具(3D Analyst Tools,计 45 种) ² 转换工具 ² 重分类及 TIN 工具 ² 表面生成(栅格、TIN 表面) ² 表面分析(表面积与体积、提取等值线、计算坡度与坡 向、可视性分析、提取断面与表面阴影等) 地理编码工具(Geocoding Tools,计 7 种) ² 创建/删除地址定位器等 ² 自动化/重建地理索引编码 ² 地理索引编码地址分配 ² 标准化地址等 线 性 参 考 ( Linear Referencing Tools,计 7 种) ² ArcView:显示点与线要素及线性参考要素的阴影工具 ² ArcEditor:创建和编辑线性参考要素的工具 ² ArcInfo:线性参考分析,从要素生成事件及覆盖事件等 Coverage 工具(Coverage Tools,计 57 种) ² 分析、数据管理和转换等 15 第二章 ArcGIS 应用基础 ArcMap、 ArcCatalog 和 Geoprocessing 是 ArcGIS 的基础模块,应用 ArcGIS 进行空间 分析时,首先应该掌握这三个模块的各项功能。 ArcMap 是 ArcGIS Desktop 中一个主要的应用程序,是一个用于显示、查询、编辑和 分析地图数据的,以地图为核心的专业制图和编辑系统,具有地图制图的所有功能。是 ArcGIS 桌面系统的核心应用。ArcMap提供了数据视图(Data View)和版面视图(Layout View) 两种浏览数据的方法。在此环境中可完成一系列高级 GIS 任务。 ArcCatalog 模块是空间数据的资源管理器。它以数据为核心,用于定位、浏览、搜索、 组织和管理空间数据。利用 ArcCatalog 可以创建和管理数据库,可定制和利用元数据。在 ArcCatalog 平台支持下,可大大简化用户组织、管理和维护数据工作。 Geoprocessing 空间处理框架,为空间问题的分析处理提供了完整的解决方案。框架主 要包括两个部分:ArcToolbox(空间处理工具的集合)和 ModelBuilder(为建立空间处理 流程和脚本提供可视化的建模工具)。框架中的工具可以用多种方式进行,如 ArcToolbox 中的对话框、ModelBuilder 中的模型、命令行以及脚本等。ArcToolbox 包括了数据管理、 数据转换、Coverage 处理、矢量分析、地理编码以及统计分析等多种复杂的空间处理工具。 ModelBuilder 为设计和实现空间处理模型(包括工具、脚本和数据)提供了一个图形化的建 模框架。它们均内嵌于 ArcMap 和 ArcToolbox 中。 2.1 ArcMap 基础 要实现 ArcMap 多种多样的功能,就要先从最基础的数据层操作开始。本节分为四部 分,主要介绍 ArcMap 数据层的基本操作、数据的符号化、注记标注和专题地图的编制。 2.1.1 新地图文档创建 ArcMap 中,创建新的地图文档有以下两种方法: 1. 启动 ArcMap:在 ArcMap 对话框中,选择 A new empty map 并单击 OK 按钮,创建一 个空白新地图文档。如果不想创建一个空白地图文档,可以应用已有的地图模板创建 新地图:选择 A template 并单击 OK 按钮,在 New 对话框中选择 General 标签中的 LandScapeClassic.mxt,即古典景观地图版式,单击 OK 按钮,便出现了预先设计好的 地图模板,进入地图编辑环境(图 2.1)。 2. 若已经进入了 ArcMap 工作环境:单击 New Map File 按钮直接创建一个空白新地图。 若希望应用已有地图模板创建新地图,单击主菜单中的 File 选项,在 File 菜单中单击 16 New 选项,在 New 对话框里确定当前创建的文件类型为 Document;进入 General 选 项卡,选择古典景观地图版式 LandScapeClassic.mxt;单击 OK 按钮,进 入地图编辑环 境。 2.1.2 数据层的加载 通过上述步骤,创建好了新地图文档。然而,没有加载各种数据层,只是一张空白的 地图,不能传递任何信息。在 ArcMap 中,用户可以根据需要来加载不同的数据层。数据 层的类型主要有 ArcGIS 的矢量数据 Coverage、TIN 和栅格数据 Grid、Arcview3.x 的 shapefile、AutoCAD 的矢量数据 DWG、ERDAS 的栅格数据 Image File、USDS 的栅格数 据 DEM 等。 加载数据层主要有两种方法,一是直接在新地图文档上加载数据层,二是用 ArcCatalog 加载数据层。 1. 直接在新地图中加载数据层: (1) 单击 File 下 Add Data 命令打开 Add Data 对话框; (2) 在 Look 列表框确定加载数据的位置,按下 shift 键,选择 cities 和 states 两个 shapefile 文件; (3) 单击 Add 按钮,两个图层被加载到新地图中。(图 2.2) 图 2.1 古典景观地图版式 17 2. 用 ArcCatalog 加载数据层: ArcCatalog 主要用来浏览和管理数据文件,相当于数据资源管理器。使用 ArcCatalog 来加载数据层,只需将需要加载的数据层直接拖放到 ArcMap 的图形显示器中即可,具体 操作如下: (1) 启动 ArcCatalog; (2) 在 ArcCatalog 中浏览,找到要加载的数据层; (3) 将鼠标指向 ArcCatalog 窗口中需加载的数据层,按住左键不放,拖到 ArcMap 窗口 中,释放左键,完成数据层的加载。 2.1.3 数据层的基本操作 1. 数据层更名 ArcMap 内容表中,数据组所包含的每个图层以及图层所包含的一系列地理要素,都 有相应的描述字符与之对应。默认情况下,添加进地图的图层是以其数据源的名字命名的, 而地理要素的描述就是要素类型字段取值。由于这些命名影响到用户对数据的理解和地图 输出时的图例,用户可以根据自己的需要赋予图层和地理要素更易识别的名字。 改变数据层名称,直接在需要更名的数据层上单击左键,选定数据层,再次单击左键, 该数据层名称进入了可编辑状态,用户此时可以输入数据层的新名称。同理,对地理要素 的更名方法也一样。 图 2.2 加载图层后的界面 18 2. 改变数据层顺序 内容表中如果有很多图层,为了便于表达,图层的排列顺序需要遵循以下四条准则: (1) 按照点、线、面要素类型依次由上至下排列; (2) 按照要素重要程度的高低依次由上至下排列; (3) 按照要素线划的粗细依次由下至上排列; (4) 按照要素色彩的浓淡程度依次由下至上排列。 调整数据层顺序,只需将鼠标指针放在需要调整的数据层上,按住左键拖动到新位置, 释放左键即可完成顺序调整。 3. 数据层的复制与删除 在一幅 ArcMap 地图中,同一个数据文件可以被一个数据组的多个数据层引用,也可 以被多个数据组引用,通过数据层的复制可以方便地实现。打开一个包含点、面要素的地 图文件(图 2.3)。图中有两个数据层,一个名为 Layer1,另一个为 Layer2。现将 Layer2 中的 Roads 数据层拷贝到 Layer1 数据组中并显示。在 内 容表中单击左键,选定 Roads 数据 层,再单击右键打开快捷菜单,单击 Copy 命令。鼠标点中 Layer1 单击右键,打开快捷菜 单,单击 Paste Layers 命令,完成粘贴。可以看到 Roads 数据层被粘贴到了 Layer1 数据组 中并显示了出来(图 2.4)。 同样,在不同的地图中也可完成粘贴。删除一个图层只需在该图层上单击右键,单击 Remove 命令即可删除该图层。按住“shift”或者“ctrl”键可以选择多个图层进行操作。 图 2.3 ArcMap 地图窗口 19 4. 数据层的坐标定义 ArcMap 中数据层大多是具有地理坐标系统的空间数据,创建新地图并加载数据层时, 第一个被加载的数据层的坐标系统被作为该数据组的默认坐标系统,随后被加载的数据 层,无论其原有的坐标系如何,只要满足坐标转换的要求,都将被自动转换为该数据组的 坐标系统,但不会影响数据层所对应的数据本身。对于没有足够坐标信息的数据层,一般 情况下由操作人员来提供坐标信息。若没有提供坐标信息,ArcMap 按默认办法处理:先 判断数据层的 X 坐标是否在-180 到 180 之间,Y 坐标是否在-90 到 90 之间,若判断为真, 则按照大地坐标来处理;若判断不为真,就认为是简单的平面坐标系统。 若不知道所加载数据层的坐标系统,可以通过数据组属性或者数据层属性进行查阅, 并进一步根据需要来修改: (1) 查阅数据组坐标 打开一个地图文档的窗口内容表。 1) 单击 View 下 Date Frame Properties 命令,打开 Date Frame Properties 对话框; 2) 单击 Coordinate System 标签,打开 Coordinate System 选项卡。选项卡上显示了该 地图的数据组的坐标信息。 (2) 变换数据组坐标 打开一个地图文档。 1) 在地图文档的窗口内容表中,打开 Date Frame Properties 对话框; 2) 在 Coordinating System 选项卡中双击 Predefined 目录,其中包含有系统定义的各 种地图投影类型(图 2.5); 3) 逐级目录搜索需要的地图投影类型并选择; 图 2.4 完成粘贴后的 ArcMap 地图窗口 20 图 2.7 Data Frame Properties 对话框 4) 单击确定按钮,数据组中所有数据层的投影都将变换为选定类型。 (3) 修改坐标系统参数 打开一个地图文档的窗口内容表 1) 打开 Date Frame Properties 对话框中的 Coordinate System 选项卡; 2) 单击 Modify 按钮。打开 Projected Coordinate System Properties 对话框(图 2.6); 3) 在 Projected Coordinate System Properties 对话框中可以根据用户自己的需要修改 地图投影参数; 4) 单击确定按钮,完成参数修改。 图 2.5 Date Frame Properties 对话框 图 2.6 Projected Coordinate System Properties 对话框 21 (4) 设置地图显示参数 打开一个地图文档。 1) 使用上述方法打开 Data Frame Properties 对话框,单击 General 标签,进 入 General 选项卡(图 2.7); 2) 设置显示单位(Display):Meters;设置显示参考比例(Reference Scale):0;设置旋 转角度(Rotation):0; 3) 单击确定按钮,应用所设置的显示参数。 5. 数据层的分组 当需要把多个图层作为一个图层来处理时,可将多个图层形成一个组图层(Group Layer)。例如,有两个图层分别代表铁路和公路,可以将两个图层合并为一个新的“交通网 络”图层。一个组合图层在地图文档中的性质类似于一个独立的数据层,它所包含的图层 之间没有相互冲突的属性。 对于组图层的主要操作有: (1) 建立组图层:在内容表中右键单击要创建的组图层数据框,单击 New Group Layer 完成创建; (2) 添加图层到组图层:双击内容表中的组图层,打开 Group Layer Properties 对话框, 在 Group 选项卡中单击 Add 按钮添加图层; (3) 调整组图层顺序:双击内容表中的组图层,打开 Group Layer Properties 对话框,在 Group 选项卡中选中要调整顺序的图层,用向上、向下按钮调整即可; (4) 在组图层中显示某一图层属性:打开 Group Layer Properties 对话框,在 Group 选项 卡中选择某一图层,单击 Properties 查看该图层的属性; (5) 在组图层中删除某一图层:打开 Group Layer Properties 对话框,在 Group 选项卡中 选择某一图层,单击 Remove 删除该图层。 6. 数据层比例尺设置 通常情况下,不论地图显示的比例尺多大,ArcMap 内容表中被选中的数据层前面的 方框内打勾,数据层就始终处于显示的状态。如果地图比例尺非常小,就会因为地图内容 过多而无法清楚表达。若照顾小比例尺地图,当放大比例尺的时候可能出现图画内容太少 或者要素线划不够精细的缺点。为了克服这个缺点,ArcMap 提供了设置地图显示比例尺 范围的功能。任何一个数据层,都能根据其本身内容特点来设置它的最小显示比例尺和最 大比例尺。若地图显示比例尺小于数据层的最小显示比例尺或者大于数据层的最大显示比 例尺,数据层就不显示在地图窗口。 (1) 设置绝对显示比例尺: 1) 在一个城市数据层上点右键,打开数据层快捷菜单中的 Properties 命令; 2) 在 General 选项卡中选择 Don’t show layer when zoomed 选项,然后在 Out beyond 文本框中输入最小显示比例尺,在 In beyond 文本框中输入最大显示比例尺,单 击确定按钮。 (2) 设置相对显示比例尺: 1) 在城市数据层上点右键,打开 Visible Scale Range 命令; 22 2) 使用 Set Maximum Scale 或者 Set Minimum Scale 来设置显示比例尺的最大最小 值。 (3) 删除比例尺设置: 当数据层的显示比例尺范围不再需要时,可以通过 Visible Scale Range 中的 Clear Scale Range 命令来删除显示比例尺范围。 2.1.4 数据层的保存 由于 ArcMap 地图文档记录和保存的并不是数据层所对应的源数据,而是各数据层对 应的源数据路径信息,如果磁盘中地图所对应的数据文件路径被改变,系统会提示用户来 指定数据文件的新路径,或者忽略读取该数据层,地图中将不再显示该数据层的信息。为 了解决这个问题,ArcMap 提供了两种保存数据层路径的方式,一种是保存完整路径,另 一种是保存相对路径,同时还可以编辑地图文档中数据层所对应的源数据。 例如:保存一个数据层,可以先用前面的方法创建一个空白新地图,再单击 Add Data 按钮添加点、线、面图层。 (1) 在 ArcMap 窗口主菜单栏,单击 File 下 Map Properties 命令; (2) 在 Map Properties 窗口,打开 Data Source Option 对话框; (3) 选择 Store full path names 是保存完整路径,Store relative path names 是保存相对路径, 根据需要选择其一,单击确定,关闭 Map Properties 对话框; (4) 打开 File 下 Save As 命令,保存文件。 2.2 ArcCatalog 应用基础 当 ArcCatalog 与文件夹、数据库或者 GIS 服务器建立链接之后,用户就可以通过 ArcCatalog 来浏览其中的内容。ArcCatalog 具有浏览地图和数据,创建元数据,搜索地图 数据,管理数据源等功能,以下简要介绍 ArcCatalog 中的相关功能与操作。 2.2.1 ArcCatalog 基础操作 1. 文件夹链接 首次打开 ArcCatalog,会看到 Folder Connections,它能存取计算机硬盘上的数据。若 要使用的数据不在硬盘,可以通过定制 Folder Connection,添加 Database Connection 和文 件类型及隐藏暂时不需要的数据源,并建立起自己的空间数据目录。通过添加文件夹链接, 我们可以设置经常访问的数据链接,方便访问。具体操作如下: (1) 单击 File 下 Connect to Folder 命令或者在 ArcCatalog 标准工具栏上直接单击 Connect to Folder 按钮,打开 Connect to Folder 对话框。 23 图 2.8 Options 对话框 (2) 在 Connect to Folder 对话框中选择经常访问的文件夹,单击确定按钮,建立链接,所 选择的文件夹出现在文件夹栏。 (3) 如果要删除链接,只需在要被删除链接的文件夹上右键打开快捷菜单,选择 Disconnect 命令即可。 2. 文件类型显示和增删 第一次启动 ArcCatalog 时,会发现很多类型的文件能在 Windows 的资源管理器中显 示,但在 ArcCatalog 中不能显示。这是因为 ArcCatalog 是以地理数据为对象的资源管理器。 有些其他类型的文件也包含与地理数据相关的信息,为了显示这些文件,需要把相应的文 件类型添加到 Catalog 的文件类型列表框中。 (1) 文件夹类型显示操作:可以根据自己的需要,显示或隐藏特定的文件夹或者数据类 型。 1) 单击 Tools 下 Options 命令,打开 Options 对话框(图 2.8); 2) 进入 General 选项卡,在 需 要在 Catalog 中显示的数据类型前复选框内打勾,要 隐 藏 的 去掉复选。单击确定完成设置。 (2) 文件类型的增删:用户可以根据需要添加或者移除空间数据类型。有两种方式来增 加文件类型: 一是增加与空间数据有关的文件类型,具体操作如下: 1) 单击 Tools 下 Options 命令,打开 Options 对话框,进 入 File Type 选项卡(图 2.9); 24 图 2.9 Options 对话框 File Type 选项卡 2) 单击 New Type 按钮,在 File Type 对话框中填写文件类型的后缀名; 3) 单击 Change Icon 按钮,浏览文件夹,指向该文件类型使用的图标,单击 Open 按 钮; 4) 在 Change Icon 对话框中单击“OK”返回。 另一种是增加非空间数据文件类型,具体操作如下: 1) 在 File Type 选项卡中单击 New Type 按钮; 2) 在打开的 File Type 对话框中单击 Import File Type From Registry 按钮; 3) 在 Registered File Type 对话框中选择相应的文件类型。单击 OK 返回完成设置。 如果想要删掉某种文件类型,只需要在 File Type 选项卡中选中该类型单击 Remove 按 钮即可。 3. 文件特性项的显示操作 (1) 单击 File 下 Options 命令,进入 Contents 选项卡(图 2.10); (2) 选择列表框中的选项可以控制标准栏的详细信息和元数据其他内容信息的显示; (3) 单击确定按钮完成设置。 4. 栅格数据的显示 并非所有栅格数据都是以单一文件形式存储的,有些是以文件夹形式存储的,识别该 类数据需要花费大量时间,所以在默认状态下栅格数据是不显示的。如果想要显示栅格数 据,可以做如下操作: (1) 单击 Tool 下 Options 命令,打开 Options 对话框; 25 (2) 进入 Raster 选项卡(图 2.11),如果希望总是提示是否为栅格数据创建金字塔,选择 第一选项,Always prompt for pyramid calculation, 如果希望总是为栅格数据创建金字 塔而不再提示,选择第一选项,Always prompt for pyramid calculation and don’t prompt in the future, 如不希望为栅格数据创建金字塔,也不提示,选择第三选项; (3) 单击 File Format 按钮,打开 Raster File Formats Properties 对话框,在栅格数据类型 列表中,选择性地选中栅格数据文件格式前的复选框,隐藏不需要显示的栅格数据 文件格式。单击确定完成设置。 2.2.2 目录内容浏览 1. 目录内容浏览 Catalog 有三个选项卡,Contents、Preview 和 Metadata, 每一个选项卡提供一种唯一的 查看 Catalog 目录树中项目内容的方式。 (1) 在 Catalog 目录树中选定诸如文件夹、数据库或者要素数据集等项目时,Contents 选 项卡能列出项目中所包含的项目,不同于视窗浏览器只能显示目录树中的文件夹, Contents 选项卡能扩展文件夹的项目,且能看到目录树中的所有内容。 显示 Contents 列表有几种方式,均可以在标准工具条中实现: 工具条中从左到右依次为: 图 2.10 Contents 选项卡 图 2.11 Raster 选项卡 26 1) 大图标显示(Large Icons):每一个项目都以大图标表示,项目名称在图标下方, 并且以字母顺序从左到右,再从上到下进行排列。 2) 列表视图(List): 每一个项目用小图标表示,项目名称在图标右方,并且以字母顺 序从左到右,再从上到下进行排列。 3) 详细视图(Detail):每一个项目用小图标表示,所有图标排成一个长列,名称和类 型以及其他属性也均按列显示。 4) 缩微视图(Thumbnail):在缩微图视图中,内容列表中的每个内容项均以缩微图的 形式表示。缩微图给出所选地图数据的总揽,或直接展示地理数据库中一个要素 类中所有要素,或以一定符号组合展示数据层中要素的详细视图。 (2) Preview 选项卡能以多种视图方式浏览:主要包括 Geography 和 Table。其中, Geography 视图方式为缺省方式,对于那些既包含空间数据又包含表格属性数据的项 目,可以在 Preview 选项卡中的下拉列表中进行切换。 1) Geography 视图方式下,矢量数据集的每个要素或注记,栅格数据集的每个象元, TIN 数据集的每个三角均被绘图显示。借助标准工具栏上的工具可以对视图进行 放大、缩小、移动、查询等操作。 2) Table 视图方式状态下,预览栏显示所选内容项中的属性数据表格。 (3) 元数据栏浏览 要确认一个数据源是否满足要求,不仅要知道该数据的基本信息,查看它的图形图像 特征,还需要知道该数据的精度信息、数据获取方式等。这些信息可以从该数据内容项的 元数据中得到。内容项的元数据除包括这些信息外,还包括很多根据数据本身特征而自动 生成的信息。在默认状态下,元数据栏以网页的形式提供这些信息,因此可以像在浏览器 中浏览网页那样交万式地访问元数据;可以利用元数据工具条中的 Sty1esheet 下拉菜单实 现不同格式间的切换。 2. 地理数据浏览 在预览栏下部的预览方式下拉菜单中选择地理视图方式(Geography),就可以在 Catalog 中预览所选择的地理数据。 在地理视图状态,可以使用工具条上的快捷工具按钮来浏览数据,也可以通过单击视 图中的地理要素、栅格像元或者 TIN 三角来查看其属性数据。 地理数据浏览操作主要通过快捷工具按钮来实现,如地理数据的缩放、显示区域的移 动,地理要素的识别等。 单击工具条上的放大按钮,在视图上按住左键拖动鼠标,这时在窗口上会出现一个矩 形框。使矩形框的范围覆盖希望详细浏览的区域,释放鼠标左键,矩形框中的地理数据放 大到整个窗口。或者在希望放大的区域中心单击左键,视图会以此为中心放大 10%。工具 条中其它按钮如缩小按钮,标识按钮等操作过程类似于此。 3. 表格数据浏览 要预览 Catalog 目录树中项目的表格数据,选中项目后在 Preview 选项卡的下拉列表 选择 Table 视图方式即可。 表格数据浏览操作主要有以下内容: 27 (1) 调整、冻结、排列: 1) 重排列表的列: 激活要移位的列名,单击此列名并按下鼠标左键,将其拖到新位置的右边,此时 一条红线指示新位置,松开左键,移动的列就定位在新的位置上了。 2) 冻结: 激活要冻结的列名,右键选中列名,单击 Freeze/Unfreeze Column,即可冻结该列。 3) 排列: 对表中的行进行排序可以使查找信息更加容易。单击要排序的列名,右键打开快 捷菜单,单击 Sort Ascending(升序)或者 Sort Descending(降序)命令,完成排序。 (2) 修改属性: 单击 Tools 下 Options 命令,进入 Table 选项卡(图 2.12): 在 选 项 卡 中可以修改表格字体以及字体颜色、大小,以 及 表格中被选中区域的颜色等。 注:若需利用一个符号来标示数据列是否被索引,选中 Show index fields 复选框,并 在其后的窗口键入用于显示的符号,默认使用符号“*”。如不需显示某一列被索引,只需 要去掉 Show index fields 复选项。 (3) 表格数据统计: 在需统计的列名(必须为数值型的列)上单击右键,打开快捷菜单,单击 Statistics 命 令查看统计信息,包括:数据量、最大值、最小值、标准差等,此外还有描述该列数据分 布的直方图。 图 2.12 Table 选项卡 28 (4) 按多列数据排序: 按下 Ctrl 键,从左到右选择需要排序的几列,右键单击 Sort Ascending(升序)或者 Sort Descending(降序)命令,就完成了排序。 (5) 查询: 在数据表格下方有一个 Options 按钮,单击该按钮,单击 Find 命令,打开 Find 对话框, 在对话框中输入要查找的字段之后,选择搜索范围和搜索方向,Match Case 复选框表明需 要完全匹配,包括字母的大小写。Search only Selected Field 复选框表明只在选择的范围内 搜索。Text 列表框中,Any Part 表示任意含有匹配,Whole field 表示精确匹配,Start of field 表示开头匹配。 (6) 数据字段的增删: 单击表格右下方的 Options 按钮,单击 Add Field 命令添加需要的字段。在 Name 文 本框中,键入增加数据列的名字。单击 Type 下拉箭头,选择该列的数据类型。相应与不 同的数据类型,设定该列的特性。单击 OK 按钮,完成数据列的增加,新列出现在表的最 右边。 注: 表格右下方的 Options 菜单中有一个 Reload Cache 命令,当数据存储在数据库中, 可以支持多个用户同时浏览或编辑该数据。 2.2.3 数据搜索 搜索即根据一定条件或关键词搜索需要的数据。Catalog 中,在 search 对话框中单击 Find Now 按钮,ArcCatalog 就会查询满足搜索条件的内容项,并且在搜索结果文件夹中建 立指向这些内容项的快捷方式。数据搜索按照搜索依据来分主要可分为下面四种: 1. 按内容项搜索 在 ArcCatalog 标准工具条中: (1) 单击 Search 按钮 ,打开 Search 对话框。 图 2.13 Name&1ocation 选项卡 29 (2) 单击 Name&1ocation 标签,进入 Name&1ocation 选项卡,(图 2.13); (3) 在 Name 文本框键入内容项名称或名称的组成部分,或者使用“*”代表一个或多个字 符; (4) 按住 Ctrl 键,可 同 时在类型列表中选择多个希望搜索的内容项类型,单击 Clear 按钮 可清除选择; (5) 单击 Search 下拉箭头,选择需要搜索的位置(目录或文件系统); (6) 单击 Look 文本框右面的浏览按钮,打开 Browse for location to start search 对话框, 浏览并选择需要从中搜索的文件夹、数据库连接或 Internet 服务器,单击 add 按钮, 确定搜索位置(目录或文件系统); (7) 在 save as 文本框中,键入搜索结果文件夹名称; (8) 单击 Find Now 按钮,开始搜索,搜索结果存储在搜索结果文件夹中,并在目录树中 处于被选择状态。一旦搜索到满足条件的内容项,搜索结果列表中就会出现该内容 项的快捷方式。 2. 按地理范围搜索 在进行地理位置搜索时,可以直接在图上画出搜索范围区域,也可以从下拉列表中选 取一个地名。在定义地理搜索准则时,可以从地图下拉列表中选择不同的地图。如果没有 合适的覆盖区域,选择地图下拉列表中的 others 选顶,从中选择自己需要的数据源。 (1) 在 Search 对话框中打开 Geography 选项卡(图 2.14)。选中 Use geographic location in search 复选框; (2) 在图上画一个划定范围的矩形框,或者在 Choose a location 下拉列表中选一个区域地 名,也可以在 Specify coordinates of a box 选项组中确定需要搜索区域的坐标; (3) 用对话框上部的工具按钮可以选择、修改或者删除矩形框; (4) 如果希望仅仅搜索位于选定矩形框内部的数据,选择 Find data entirely within location 单选按钮;如果希望搜索与指定矩形框相接的所有数据,选择 Find data overlapping location 单选按钮; (5) 在 Save As 文本框键入搜索结果文件夹名称,单击 Find Now 开始搜索。 图 2.14 Geography 选项卡 30 3. 按时间搜索 在ArcCatalog 中,可以按照时间进行内容项的搜索,比如内容项数据获取的时间,内 容项元数据最后一次更新的时间,内容项发布的时间等。内容项的时间信息是从其元数据 中读取的。在搜索时,可以将元数据中的时间与下列时间信息进行比较:一个特定的日期, 一个日期范围或一个一般的时间段,以完成搜索。 4. 利用关键词搜索 在 ArcCatalog 中,可以根据元数据中的特定文字进行内容项的搜索,比如描述元数据 的题目或摘要中的文字。在 search 对话框的 Advance 选项卡的元数据成分列表中,列出了 在搜索中常用的元数据成分。若要搜索某元数据成分不在上述列表中,可以在元数据成分 文本框中直接键入该成分的路径。元数据成分的路径,就像文件的路径一样,是描述在元 数据扩展性标志语言(XML)文件中从根目录到各成分的层次关系。可以利用“Full Text”方 式,搜索所有在其元数据中包含该文字的内容项,也可以定义几个关键词准则,使用布尔 加法将其组合起来。 2.2.4 地图与图层操作 地图文档本质上就是存储在磁盘上的地图,包括地理数据、图 名 、图 例 等 一系列要素, 当完成地图制作、图 层 要 素 标注及显示符号设置后,可以将其作为图层文件保存到磁盘中。 在一个图层文件中,包括了定义如何在地图上描述地理数据的符号、显示、标注、查询和关 系等信息。图 层文件可以在多种场合重复使用。对于 SDE 地理数据库,也可以在 ArcCatalog 中利用 SDE 地理数据库中的地理数据创建一个图层文件,并将其放置在网络上的共享文 件夹中,供工作组内所有成员使用。 1. 创建文件 在 ArcCatalog 中创建文件的具体步骤: (1) 单击 File 下 New 命令; (2) 选择要创建的文件类型,如 Layer; (3) 打开 Create New Layer 对话框,键入图层文件名,浏览并选定需要创建图层文件的 地理数据,单击 Add 按钮将所选择的地理数据加载进来; (4) 若希望创建该图层文件的缩略图,选中 Create thumbnail 复选框,若希望该图层文件 存储相对路径,选中 Store relative path name 复选框; (5) 单击 OK,完成新图层文件的创建。 2. 设置文件特性 在 ArcCatalog 中创建一个图层文件时,系统利用随机产生的符号来表示图层中地理要 素的、如果不满足要求,还可以在图层特性对话框中设置或改变包括表示符号在内的各种 图层文件的特性。但需要注意,不同类型的地理数据,其图层特性对话框也是不同的。对 于图层组文件,在图层特性对话框中,既可以设置图层组中各图层的公共特性,也可以分 别对每个图层的特性进行编辑。设置图层特性的具体操作步骤如下: 31 在需要设置特性的文件上右键打开快捷菜单,单击 Properties 命令,打开 Layer Properties 对话框,对特性进行设置,关于这部分可详见第五章符号化内容。 3. 保存独立的图层文件 一般情况下,在 ArcMap 中制作的图层是作为地图文档的一部分,与地图文档一起保 存为*.mxd。为了便于在其他地图中调用,或者实现其共享,对于一个已经完成符号表示 和注记的图层,可以在地图文档以外以图层文件的形式独立保存为*.lyr 文件。该具体操作 在 2.1.4 数据层的保存中有详细说明。 2.2.5 地理数据输出 为了便于数据共享和交换,可以将地理要素数据输出为 Shapefile 格式或者 Coverage 格式,将相应的属性表输出为 Info 或者 dBase 形式。 1. 输出为 Shapefile (1) 在 ArcCatalog 目录树或者内容栏中,右键点击需要输出的地理要素类,打开要素类操 作快捷菜单; (2) 鼠标指针指向菜单中的 Export,单击 To Shapefile(single)或者 To Shapefile(multiple) 命令,打开 Feature Class to Shapefile 对话框; (3) 在列表框中选择要素类,在 Output Shapefile 文本框中键入文件名(包括路径); (4) 单击 OK 按钮,输出 Shapefile 文件。 2. 输出为 Coverage (1) 在 ArcCatalog 目录树或内容栏中,右击需要输出的地理数据库要素类,打开要素类 操作快捷菜单; (2) 鼠标指针指向菜单中的 Export,单击 To Coverage 命令,打开 Feature Class to Coverage 对话框; (3) 选择要素类,在 Output 文本框中键入文件名(包括路径)。 (4) 单击 OK 按钮,输出 Coverage 文件。 3. 属性表输出 (1) 右键单击要输出的地理数据表,打开快捷菜单; (2) 鼠标指针指向菜单中的 Export,单击 To dBase(single)或者 To dBase(multiple)命令; (3) 打开相应的对话框,键入文件名(包括路径); (4) 单击 OK 按钮,输出文件。 32 2.3 Geoprocessing 空间处理框架 2.3.1 空间处理框架的基本介绍 1. 基本概念 空间处理的工具很多,包括 overlay、buffer 和数据管理等常见的 GIS 操作,以及影像 处理、拓扑和模式定义等高级的操作。从传统意义上讲,ArcInfo Workstation 和 ARC Macro Language (AML)都是用来完成这些任务的。 在 ArcGIS 9 推出之前,ArcGIS 中的地理处理的表现形式不一而论。在 ArcGIS 8 桌面 端,地理处理是通过少量处理 Geodatabase 中要素类的命令来进行的。而大多数的地理处 理工具是通过 ArcInfo Workstation 的 Arc 中的命令来运行的。 不论是在 ArcInfo 的 Workstation 还是桌面端,很多地理处理操作都要求把数据转换成 Coverages 格式。而 ArcGIS 9完全支持在桌面端的运行环境中,对 Geodatabase 中的要素 类、地图层、Coverages、shapefiles、grids 和不规则三角网(TIN)等数据进行地理处理的操 作,并且这些操作也有了很大的改进。 ArcGIS 9 为 ArcView、ArcEditor 和 ArcInfo 提供了一个共同的地理处理框架,但工具 的数量随许可的不同而不同。ArcView 提供简单数据导入和转换的核心工具,以及大约 40 种基本分析工具。在此基础上,ArcEditor 增加了生成 Geodatabase 和导入数据的工具。 ArcInfo 则在桌面端提供了大约 200 种的 ArcInfo Workstation 中的地理处理工具。ArcInfo 支持高级分析和复杂的工作流。其他的地理处理工具由 ArcGIS 的扩展模块提供。比如 ArcGIS Spatial Analyst 和 3D Analyst 模块提供了超过 200 种类似栅格建模(raster modeling) 的工具。 2. 集成 ArcToolbox ArcGIS 9 界面的一个显著变化是:ArcToolbox 不再是一个单独的运行环境,而是所有 ArcGIS 应用界面(如 ArcMap、ArcCatalog、ArcScene 和 ArcGlobe )中的一个可停靠的 窗口。用户可以在应用程序中共享工具,比如用模型(models)或由脚本(scripts)定制的工具 或者其他工具箱(toolbox)中的系统工具。用户可以添加和删除工具箱,也可以定制工具箱 来存储常用的工具、模型、脚本、工具箱的快捷方式。 工具箱可以创建到 Geodatabase 的文件夹中,拷贝粘贴到别的位置,甚至可以添加、 删除或重命名工具箱中的工具或工具集。用户也可以创建和编辑工具箱的文档并将其添加 到 ArcGIS 的在线帮助中去。当工具执行时,地理处理的窗口显示处理过程的状态信息。 3. 多种使用方式 ArcGIS9 中的地理处理框架和工具的使用非常灵活。使用同样的操作、命令或工具, 可以有四种方式:对话框、命令行、可视化的交互模型和脚本。地理处理的 AO 对象支持 C#等符合工业标准的编程语言,为定制应用提供高级的分析能力。而且每个地理处理操作 都支持现有的各种数据格式。 33 (1) 对话框:通过对话框,用户可以熟悉 ArcGIS 的工具。它可以一步步地引导用户如何 使用工具。在 Toolbox 目录树中,用 户可以选择需要的工具 ,双击该工具即可打开 对话框,用户就通过对话框选择输入输出数据并设置必要的参数值(图 2.15)。 图 2.15 对话框界面 图2.16 命令行界面 34 (2) 命令行:对经验丰富,熟悉工具和语法的 Workstation 用户来说,命令行是高效舒适 的方式。ArcInfo、ArcEditor 和 ArcView 都提供这种使用方式。ArcGIS 9 桌面端的命 令行具有智能提示和自动完成功能,可以提示命令语法和可用的参数,例如,图层 名称和关键词等都可以在下拉列表中显示。用户只需要打开标准工具条,在工具条 上单击 Show/Hide Command Line Window 按钮 ,即可打开命令行窗口,用户可以 在命令行中输入相应代码并运行(图 2.16)。 (3) 模型编辑器:为地理处理的工作流和脚本提供的图形化的建模工具,它可以加快设 计和实现复杂地理处理模型的过程。在 ArcToolbox 中,用户可以通过把数据和工具 拖放到模型中,来建立一个固定有序的处理复杂 GIS 任务的过程。模型处理输入的 数据,产生输出数据。输出的数据也可以作为其它操作的输入数据。这些过程可以 反复执行,涉及的数据和参数均可更改。用户可以通过在新建的 Toolbox 上点右键 新建一个 Model,打开模型编辑器窗口(图 2.17)。 (4) 脚本:由于地理处理中涉及大量数据集和记录,过程重复性强,因此自动化的处理 就显得非常必要。凡支持 COM 的脚本语言都可以执行 ArcGIS9 的地理处理工具, 如 Python、Jscript 和 VBScript 等。熟悉 ArcInfo Workstation 的 AML 用户转而使用一 种新的脚本语言是非常容易的,脚本可以通过一个工具或多个工具实现一个简单或 者复杂的处理,也可以通过循环操作对输入数据进行批处理。因为数据不是特定的, 所以脚本可以重用(图 2.18)。 *本节中仅介绍一个框架,关于模型编辑器和脚本等详细内容见第十二章。 图 2.17 模型编辑器窗口 35 图 2.19 Toolbox 工具集 2.3.2 ArcToolbox 应用基础 ArcGIS 9 中, ArcView 和 ArcEditor 包含大约 30 个工具、 ArcInfo 包含大约 200 个工具。 ArcGIS 中 包含诸多扩展模块,如 ArcGIS 3D Analyst 和 ArcGIS Spatial Analyst,每个扩展模块中又提供很多工具,总计 数量超过 200 个。 1. 打开 Toolbox 首先启动 ArcToolbox。可以在桌面或者程序菜单中 启动,也可以在 ArcGIS 其他模块中单击 ArcToolbox 按 钮来启动(图 2.19)。 在 ArcToolbox 环境下可以看到,ArcToolbox 由多 个工具集(Toolset)构成,能够完成不同类型的任务。每 个主工具集中包含着不同级别的子工具集,子工具集又 包括若干工具。 图 2.18 脚本界面 36 2. 激活扩展工具 (1) 单击 Tool,在下拉菜单中选中 Extensions 命令,打开 Extensions 对话框; (2) 选择安装 3D Analyst 工具,在 3D Analyst 前面的复选框内打勾。关闭对话框; (3) 3D Analyst 工具箱中的工具被加载,即可运行此工具,如果没有激活此扩展工具, 3D Analyst 工具箱中的工具是不可运行的。 3. 创建新的 Toolbox (1) 在 ArcToolbox 右键打开快捷菜单,单击 New Tool 命令,在已有工具箱的下方出现 一个新的 Toolbox。用户可以用这个新的工具箱建立新的模型,或者编写新脚本等。 (2) 也可以在 ArcCatalog 窗口中创建新的工具箱,打开 ArcCatalog,在指定文件夹上右 键单击快捷菜单,在 New 命令上指向 Toolbox,完成工具箱的创建。 4. 管理工具 在任意一个 Toolbox 上右键打开快捷菜单,菜单提供的功能主要有: (1) 复制(Copy)命令:复制一个工具箱或者工具。 (2) 粘贴(Paste)命令:将复制的工具箱或者工具粘贴到其他工具箱里。 (3) 移除(Remove)命令:将不需要的工具箱或者工具移除。 (4) 重命名(Rename)命令:重命名工具箱或者工具。 2.3.3 ToolBox 内容简介 1. 工具集简介 (1) 3D 分析工具(3D Analyst Tools):使用 3D 分析工具可以创建和修改 TIN 以及栅格表 面,并从中抽象出相关信息和属性。创建表面和三维数据可以帮助你看清二维形态 中并不明确的信息。 (2) 分析工具(Analysis Tools):对 于所有类型的矢量数据,分析工具提供了一整套的方法 来运行多种地理处理框架。主要功能有联合,裁剪,相交,判别,拆分;缓冲区, 近邻,点距离;频度,加和统计等。 (3) 制图工具 (Cartography Tools):制图工具与 ArcGIS 中其他大多数工具有着明显的目 的性差异,它是根据特定的制图标准来设计的,包含了三种掩膜工具。 (4) 转换工具( Conversion Tools):包含了一系列不同数据格式的转换工具,主要有栅格 数据,shapefile、Coverage、table、dBase,以及 CAD 到空间数据库( Geodatabase )的 转换等。 (5) Coverage 工具 (Coverage Tools):提供了一系列强大的工具来实现各种地理处理过 程,且输入输出都只使用 Coverage 文件。主要实现分析、数据管理和转换等功能, 通过 workstation 执行。 (6) 数据管理工具 (Data Management Tools):提供了丰富且种类繁多的工具用来管理和 维护要素类,数据集,数据层以及栅格数据结构。 (7) 地理编码工具(Geocoding Tools):地理编码又叫地址匹配,是建立地理位置坐标与给 37 图 2.20 Environment settings 对话框 定地址一致性的过程。使用该工具可以给各个地理要素进行编码操作,建立索引等。 (8) 地统计分析工具(Geostatistical Analyst Tools) :地统计分析工具提供了广泛全面的工 具,用它可以创建一个连续表面或者地图,用于可视化及分析,并且可以更清晰了 解空间现象。 (9) 线性要素工具 (Linear Referencing Tools):生成和维护线状地理要素的相关关系,如 实现由线状 Coverage 到路径(Route)的转换,由路径事件(Event)属性表到地理要素类 的转换等。 (10)空间分析工具 (Spatial Analyst Tools):空间分析工具提供了很丰富的工具来实现基 于栅格的分析。在 GIS 三大数据类型中,栅格数据结构提供了用于空间分析的最全 面的模型环境。 (11) 空间统计工具 (Spatial Statistics Tools):空间统计工具包含了分析地理要素分布状 态 的一系列统计工具,这些工具能够实现多种适用于地理数据的统计分析。 2. 环境设置介绍 在 ArcToolbox 中,任 意 打 开 一个工 具,在对话框右下方便有一个 Environments 按钮,对于一些特别的模 型或者有特殊目的的计算,需要对输出 数据的范围、格式等进行调整,单击 Environments 按钮,打开 Environments Setting 对话框(图 2.20)。该窗口提供了 五种设置,分别是:general settings、 Coverage settings、Geodatabase settings、 raster analysis settings、raster Geodatabase settings。 (1) general settings(图 2.21):主要进行 一般的设定。 1) Current Workspace:设置输入文件和输出文件的位置。 2) Scratch Workspace:存放有系统自动生成、并命名的临时性的文件的文件夹。 3) Output Coordinate System:设定输出数据的坐标参考系统。如果输出数据的坐标 参考系统信息不清楚,系统默认的是与输入数据的坐标参考系统一致。在对话框 中的下拉菜单中可以选择输出数据的坐标参考系统: 38 A. Same As Input:如 果 输 入 的数据有一个坐标 参考系统,那么输出 数据将具有与输入数 据相同的坐标参考系 统; B. As Specified Below: 可以通过在对话框中 输入坐标参考系统的 名称为输出数据选择 一个新的坐标参考系 统,也可以利用单击 右边的空间参考属性 对话框来为输出数据 设定新的坐标参考系 统,还可以在下拉菜 单中选择 ArcMap 中 已经存在的图层的坐 标参考系统作为输出 数据的坐标参考系 统。 4) Default Output Z Value:如果输入的数据有 Z value 或者 output Z value 是激活的, 那么 Z value 就可以应用到新产生的数据中。 5) Output Has Z Value:制定输出的数据是否具有 Z value。可以通过对话框中的下拉 菜单选择输出数据中 Z value 的形式: A. Same As Input:如果输入数据有 Z value,那么输出数据也具有 Z value,是 系统默认选项; B. Enable:输出的数据将具有 Z value; C. Disable:输出的数据没有 Z value。 6) Output Has M Value:制定输出的数据是否具有 M value。可以通过对话框中的下 拉菜单选择输出数据中 M value 的形式: A. Same As Input:如果输入数据有 M value,那么输出数据也具有 M value,是 系统默认选项; B. Enable:输出的数据具有 M value; C. Disable:输出的数据没有 M value。 7) Output extent:设定分析区域的范围,可以通过下拉菜单选择不同的形式; A. Default:不对研究区域范围进行设置,其范围与输入数据的范围相同,是系 统默认设置; 图 2.21 General Settings 对话框 39 图 2.22 coverage settings 对话框 B. Union Of Inputs:所有输入数据的最大范围; C. Intersection Of Inputs:所有输入数据的最小范围; D. As Specified Below:采用所指定的范围。其中五个参数分别为:left 是 X 方 向上的最小值;right 是 X 方向上的最大值;bottom 是 Y 方向上的最小值; top 是 Y 方向上的最大值;snap raster 用来建立分析范围的栅格队列的栅格数 据。也可以通过选择 ArcMap 中打开的栅格数据层来确定分析范围。 (2) Coverage Settings(图 2.22):对 Coverage 数据的属性进行调整。 1) Precision For Derived Coverages:设置由计算工具生成的 Coverages 的坐标精度。 主要包括: A. Highest:输出的 Coverages 坐标精度与输入的 Coverages 坐标精度同样是最 高精度,是系统默认的选择; B. Lowest:输出的 Coverages 坐标精度与输入的 Coverages 坐标精度同样是最 低精度; C. Signal:输出的 Coverages 坐标精度是单精度,不管输入的 Coverages 的精度 如何; D. Double:输出的 Coverages 坐标精度是双精度,不管输入的 Coverages 的精 度如何。 2) Precision For New Coverages:设置用户新建的 Coverages 的坐标精度。主要有: A. Signal:新建的 Coverages 的坐标精度是单精度,是系统默认的选择; B. Double:新建的 Coverages 的坐标精度是双精度。 3) Level Of Comparison Between Projection Files:对输入数据的投影信息匹配程度的 检验。检验标准有: A. None:不进行输入数据的投影信息的对比,是系统默认的选择; B. Partial:至少有一个输入的文件投影信息是已定义的,其它的可有也可没 40 图2.24 raster analysis settings 对话框 有,但其投影信息与已定义的投影信息相匹配; C. Full:所有输入的文件必须具有同一的指定的投影信息。 (3) Geodatabase Settings(图 2.23): 对 地理数据库进行属性设置。 1) Output CONFIG Keyword:表 示地理信息数据在关系数据管 理中储存的一些参数设置,该 参数设置只有在使用 ArcSDE 的时候是可用的; 2) Output Spatial Grid:对 SDE 数 据进行设置,具体设置可参照 Geodatabase 中的设定; 3) Output XY Domain:设定 X 轴 和 Y 轴的分析范围; A. Same as input:使用输入数据的 X、Y 范围作为输出数据的 X、 Y 范围; B. As specified below:采用所指 定的范围。minX、maxX 分别 为 X 方向上的最小最大值;minY、maxY 分别是 Y 方向上的最小最大值;同时 可以设置坐标值精度。如果在 ArcMap 中有打开的数据,可以选用该层的 X、Y 方向范围作为输出数据的 X、Y 方向范围。 4) Output M Domain:设置 M value 的范围; A. Same as Input:将输入数据的 M value 的范围作为输出数据的 M value 的范围; B. As Specified Below:采用所指定的范围; minM、maxM 分别是 M value 的的最小 最大值。 5) Output Z Domain:设置 Z value 的范围; A. Same as Input:将输入数据的 Z value 的 范围作为输出数据的 Z value 的范围; B. As Specified Below:采用所指定的范围。 minZ、maxZ 分别是 Z value 的最小最大 值。 (4) Raster Analysis Settings(图 2.24)。主要包括 输出的栅格数据的精度和分析时使用的 分析掩膜设置; 1) Cell Size:设定输出栅格的大小,即栅格分辨率; 2) Maximum of Input:指输出栅格是所有输入栅格数据中的最大的; 图2.23 Geodatabase settings 对话框 41 3) Minimum of Input:指输出栅格是所有输入栅格数据中的最小的; 4) As Specified Below:是由用户自己定义一个栅格输出数据; 5) Same as Layer:选用 ArcMap 中打开的栅格数据层中的栅格大小作为输出栅格的 大小; 6) Mask:选择一个作为分析区域的分析掩膜。 (5)Raster Geodatabase Settings(图 2.25)。 1) Pyramid:为输出的数据建造 ArcSDE 地理数据库的金字塔。当选择要建造时,还 要选择建造金字塔时重采样的方式,有最紧邻法(nearest)、双线性内插(bilinear) 以及立方卷积(cubic)的方法。系统默认设置是最紧邻法。 2) Raster Statistics:可以在地理数据库中建立生成数据的统计值。当选择建立统计 值时,需要设定统计计算的采样间隔,即 X skip 和 Y skip 的值。系统默认为 1。 3) Compression:指定在 ArcSDE 中数据压缩方式。LZ77 是一种保留所有栅格数据 信息的无损压缩方式;JPEG 是有损压缩方式,是 利 用 国际上通用的 JPEG 算法对 栅格图像进行压缩,用户可以在下面的复选框中选择压缩率;JPEG2000 也是有 损压缩方法,它采用小波技术对图像进行压缩,使图像表面上看起来没有什么损 失,同样用户需要设定压缩率;NONE 指对栅格数据进行不压缩存储。 4) Tile Size:设定 ArcSDE 地理数据库中数据的大小,一般系统默认的宽度和高度 都是 128。 图 2.25 raster Geodatabase settings 对话框 42 第三章 空间数据的采集与组织 数据采集是指将现有的地图、外业观测成果、航空相片、遥感图像、文本资料等转成 计算机可以处理与接收的数字形式。数据采集分为属性数据采集和图形数据采集。属性数 据的采集经常是通过键盘直接输入;图形数据的采集实际上就是图形数字化的过程。数据 采集过程中难免会存在错误,所以,对所采集的数据要进行必要的检查和编辑。 数据组织就是按照一定的方式和规则对数据进行归并、存储、处理的过程。数据组织 的好坏,直接影响到 GIS 系统的性能。 ArcGIS 9中主要有 Shapefile、Coverage 和 Geodatabase 三种数据组织方式。Shapefile 由存储空间数据的 shape 文件、存储属性数据的 dBase 表和存储空间数据与属性数据关系 的.shx 文件组成;Coverage 的空间数据存储在一系列二进制文件中,属性数据和拓扑数据 存储在 INFO 表中,目录合并了二进制文件和 INFO 表,成为 Coverage 要素类;Geodatabase 是 ArcGIS 数据模型发展的第三代产物,它是面向对象的数据模型,能够表示要素的自然 行为和要素之间的关系。 本章首先介绍 Shapefile、Coverage 和 Geodatabase 的创建过程,然后详细说明空间数 据编辑,最后,提供给读者两个实例练习,以便更好的掌握 GeoDatabase 数据库技术。 3.1 shapefile 文件创建 3.1.1 创建 Shapefile 和 dBASE 表 ArcCatalog 可以创建新的 Shapefile 和 dBASE 表,并可进行属性项及索引的操作、定 义 Shapefile 的坐标系统。当在 ArcCatalog 中改变 shapefile 的结构和特性(properties)时, 必须使用 ArcMap 来更新或重新定义属性值。 1. 创建新的 Shapefile 创建一个新的 Shapefile 时,必须定义它将包含的要素类型。Shapefile 创建之后,这 个类型不能被修改。 创建一个新的 Shapefile 文件的具体过程如下: (1) 在 ArcCatalog 目录树中,右键单击存放新 Shapefile 的文件夹,单击 New,再单击 Shapefile,如图 3.1 所示; 43 (2) 在弹出的 Create New Shapefile 对话框中,设置文件名称和要素类型。要素类型可以 通过下拉菜单选择 Polyline、 Polygon、 MultiPoint、 MultiPatch 等要素类型。如图 3.2 所示; (3) 单击 Edit 按钮,打开 Spatial Reference 对话框, 如图 3.3 所示。定 义 Shapefile 的坐标系统,如 果选择了以后定义 shapefile 的坐标系统,那么 直到被定义前,它将被定义为“Unkown”(具 体介绍见第四章); (4) 复选 Coordinates will contain M Values,表示 Shapefile 要存储表示路线的折线。复选 Coordinates will contain Z Values,表示 Shapefile 将存储三维要素; (5) 单击 OK 按钮,新创建的 Shapefile 在文件夹 中出现。 2. 创建新的 dBASE 表 在 Catalog 目录数中,右键单击存放新 dBASE 表 的文件夹,单击 New,再单击 dBASE 表,为其输入 一个名称,并按回车键,完成操作。 3.1.2 添加和删除属性项 1. 在 ArcCatalog 目录树中,右键单击需要添加属性的 Shapefile 或 dBASE 表,单击 图 3.3 Spatial Reference 对话框 图 3.2 Create New Shapefile 对话框 44 Properties,如图 3.4 所示; 2. 在弹出的 Shapefile Properties 对话框中,单击 Fields 标签,如图 3.5 所示。在 Filed Name 列中,输入新属性项的名称,在 Data Type 列表框中选择新属性项的数据类型。 在 Field Properties 选项卡中的文本框中输入所选数据类型的特征参数值; 3. 在 Shapefile Properties 对话框中,单击 Fields 标签,选中需要删除的属性项,按 Delete 键,删除所选属性项; 4. 单击确定按钮,完成属性项的添加和删除。 3.2 Coverage 文件创建 3.2.1 创建新的 Coverage 和 INFO 表 1. 创建新的 Coverage (1) 在 ArcCatalog 目录树中,右键单击存放新 Coverage 数据的文件夹,单击 New,再单 击 Coverage,弹出 New Coverage 对话框; (2) 在 New Coverage Name 文本框中输入新建 Coverage 的名称,选中使用已存在的 Coverage 作为模板的复选框,并单击 Browse 按钮,选择要作为模板使用的 Coverage, 图 3.4 Shapefile 属性项添加 图 3.5 Shapefile Properties 对话框 45 如图 3.6 所示。新建 Coverage 将与模板 Coverage 具有相同的投影信息; (3) 单击 Next 按钮,弹出定义投影对话框,并显示出模板 Coverage 的投影信息,如图 3.7 所示。单击 Define 按钮,可以修改新建 Coverage 的坐标系统。如果不选择使用 模板 Coverage 复选框,单击 Next 按钮,弹出的定义投影对话框中,Coverage projection 栏中没有投影信息,单击 Define 按钮,定义新建 Coverage 的坐标系统; (4) 单击 Next 按钮,在下拉式菜单中选择 Coverage 的要素类型,如果想创建一单精度 的 Coverage,单击 Single 按钮,默认选项是 双精度,如图 3.8 所示; (5) 单击 Finish 按钮,完成操作。 2. 创建新的 INFO 表 (1) 在 ArcCatalog 目录树中,右键单击需 要新建 INFO 表的文件夹,单击 New,再单 击 INFO table,弹出 Define INFO Table 对话 框,如图 3.9 所示; (2) 在Output table 文本框中为新数据输入一个 名字。在 Item definition 选项组的 Item type 列中,选择表格第一数据列的数据 类型,根据所选数据类型,分别输 入列的字段名(Item name)、列宽 (Item width)、显示宽(Display width)、小数点位数(Decimal places); (3) 单击 New item 按钮,添加新的数 据列字段,并对数据列参数进行定 义,直至添加了所有的数据列; 图 3.6 New Coverage 对话框 图 3.7 New Coverage 对话框(定义投影) 图 3.8 New Coverage 对话框(确定要素类) 图 3.9 Define INFO Table 对话框 46 (4) 如果要删除或修改某列,可以使用 Item number 后的箭头,浏览到该列后,单击 Remove item 按钮删除或进行其他修改; (5) 单击 OK 按钮,完成操作。 3.2.2 建立拓扑 Build 与 Clean 都是建立拓扑的方法。Build 在确定 Coverage 的同时,需要选择建立拓 扑关系的空间要素类型。Bulid 后的 Coverage 仍保持原来属性表中的数据项,但不保留关 联特性。 Clean 依据一定的容限值,建立多边形和弧段结点的拓扑关系,可以完成一些 Build 无法完成的工作。 1. 在 ArcCatalog 目录树中,右键单击需要建立拓扑关系的 Coverage,单击 Properties 命 令,打开 Coverage Properties 对话框,进入 General 选项卡,如图 3.10 所示。在 Feature classes 列表中,选择需要建立拓扑关系的地理要素类; 2. 单击 Build 按钮,打开 Build 对话框,如图 3.11 所示。根据需要,改变建立拓扑关系 的 Feature class 或者 Anno subclass。单击 OK 按钮,完成操作; 3. 或单击 Clean按钮,打开 Clean对话框,如图 3.12 所示。根据具体情况,输入模糊(Fuzzy) 容限值及悬挂(Dangle)容限值。模糊容限值是指一个 Coverage 中能区分所有弧段 坐标点的最小距离,当坐标点间的距离小于模糊容限时,它们就合并成同一坐标点; 悬挂容限是指一个 Coverage 中悬挂弧段容许存在的最小值,任何短于该长度的悬挂 弧段均被删去。根据需要,选中 Clean lines only 复选框。单击 OK 按钮,完成操作。 图 3.11 Build 对话框 图 3.12 Clean 对话框 图 3.10 Coverage Properties 对话框 47 3.2.3 定义 Coverage 的坐标系统 1. 在 ArcCatalog 目录树中,右键单击需要定义坐标系统的 Coverage,单击 Properties 命 令,打开 Coverage Properties 对话框,进入 Projection 选项卡,显示 Coverage 坐标系 统及投影参数信息,如图 3.13 所示。 2. 如果 Coverage 还没有定义坐标系统,可以单击 Define 按钮,打开 Define Projection Wizard 对话框,如图 3.14 所示;当 Coverage 已经定义了坐标系统,也可以在 Define Projection Wizard 对话框中改变现有的坐标系统。 3. 当选择第一个单选按钮时表示交互定义 Coverage 坐标系统,单击 Next,在 Projection 列表中选择投影类型,如图 3.15 所示。单击 Next,确定各项投影参数。 4. 当选择第二个单选按钮时表示为 Coverage 匹配一个坐标系统,单击 Next,确定想使 图 3.15 选择投影类型 图 3.16 选择要匹配坐标系统的数据 图 3.14 Define Projection Wizard 对话框 图 3.13 Coverage Properties 对话框 48 用其坐标系统的 Coverage、Grid 或 TIN。如图 3.16 所示。 5. 返回图 3.13 的对话框,单击确定按钮,完成操作。 3.2.4 Coverage 维护操作 Coverage 的维护操作包括修改 Coverage 的坐标控制点(Tic)和范围(Extent)、设置 Coverage 的容限值、添加、修改、删除属性项、添加和删除索引、创建 Coverage 的关系 类等。 1. 修改 Coverage 的控制点和范围 所有 Coverage 都有一套坐标控制点(Tic)和一个范围(Extent)。 (1) 在 ArcCatalog 目录树中,右键单击需要编辑 Tic 点的 Coverage,单击 Properties 命令, 打开 Coverage Properties 对话框,进入 Tics and Extent 选项卡,如图 3.17 所示; (2) 通过 Add 按钮、Delete 按钮和 Update 按钮对 Tic 点进行添加、删除和更新; (3) 单击 Extent 框中的 Fit 按钮,可以进行范围的重新计算;单击 Extent 框中需要修改 其范围值的文本框,并输入新的范围值,可以进行范围的修改; (4) 单击确定按钮,完成操作。 2. 设置 Coverage 的容限 很多针对 Coverage 的操作都要使用容限值(Tolerances),例如当用户在数字化或编辑 时打开结点捕捉(Node Snapping),位于一定距离内的两个结点就会自动合并在一起,这 个特定距离就是结点捕捉的容限值。如果地理要素的坐标单位是数字化仪的单位,那么容 限值的单位一般是英寸(Inches),如果地理要素是投影后的地理要素,容限值的单位一般 是英寸(Inches)或米(Meters)。 进入上述 Coverage Properties 对话框,并进入 Tolerances 选项卡,如图 3.18 所示。在 各个容限值文本框中输入新的容限值,最后单击确定按钮。 图 3.17 Coverage Properties 对话框 (Tics and Extent 选项卡) 图 3.18 Coverage Properties 对话框 (Tolerances 选项卡) 49 3. Coverage 属性项维护 (1) 在 ArcCatalog 目录数中,右键单击 需要添加新属性的 Coverage 要素类 或 INFO 表,并单击 Properties 命令, 打开 Coverage Feature Class Properties 对话框,进入 Items 选项 卡,如图 3.19 所示; (2) 通过 Add 按钮、Delete 按钮、Edit 按钮、Add Index 按钮、Delete Index 按钮可以完成属性项的添加、删除、 修改、和索引的添加与删除; (3) 单击确定按钮,完成操作。 4. 创建 Coverage 的关系类 一个 Coverage 的要素经常和其它 Coverage 的要素或独立数据表中的属性 相联系。在 ArcCatalog 中可以通过创建关 系类来定义这些联系。创建关系类后,可以利用相联系的属性表格来查询、标识、符号化 Coverage 中的地理要素。创建关系类的具体过程参见 3.3.6。 3.3 Geodatabase 数据库创建 3.3.1 Geodatabase 概述 Geodatabase(Geodatabase)是按照层次型的数据对象来组织地理数据(如图 3.20 所 示),这些数据对象包括对象类(Object Classes)、要素类(Feature Classes)和要素数据集 (feature dataset)。 对象类是指存储非空间数据的表格(Table)。 要素类是具有相同几何类型和属性的要素的集合,即同类空间要素的集合。如河流、 道路、植被、用地、电缆等。要素类之间可以独立存在,也可具有某种关系。当不同的要 素类之间存在关系时,应考虑将它们组织到一个要素数据集(Feature dataset)中。 要素数据集是共享空间参考系统并具有某种关系的多个要素类的集合。一般而言,在 以下三种情况下,应考虑将不同的要素类组织到一个要素数据集中: (1) 当不同的要素类属于同一范畴。如:全国范围内某种比例尺的水系数据,其点、线、 面类型的要素类可组织为同一个要素数据集。 (2) 在同一几何网络中充当连接点和边的各种要素类,必须组织到同一要素数据集中。 如:配电网络中,有各种开关、变压器、电缆等,它们分别对应点或线类型的要素 图 3.19 Coverage Feature Class Properties 对话框 50 类,在配电网络建模时,应将其全部考虑到配电网络对应的几何网络模型中去。此 时,这些要素类必须放在同一要素数据集下。 (3) 对于共享公共几何特征的要素类,如:用地、水系、行政区界等。当移动其中的一 个要素时,其公共的部分也要求一起移动,并保持这种公共边关系不变。此种情况 下,也要将这些要素类放到同一个要素数据集中。 对象类、要素类和要素数据集是 Geodatabase 中的基本组成项。当在数据库中创建了 这些项目后,就可以向数据库中加载数据,并进一步定义数据库,如建立索引、创建拓扑 关系、创建子类、几何网络类、注释类、关系类等。 3.3.2 Geodatabase 建立的一般过程 建立 Geodatabase 的第一步,是 设 计 Geodatabase 将要包含的地理要素类、要 素 数据集、 非空间对象表、几何网络类、关系类以及空间参考系统等;Geodatabase 的设计完成之后, 可以利用 ArcCatalog 开始建立数据库:首先建立空的 Geodatabase,然后建立其组成项, 包括建立关系表、要素类、要素数据集等;最后向 Geodatabase 各项加载数据。 当在关系表和要素类中加入数据后,可以在适当的字段上建立索引,以便提高查询效 率。建立了 Geodatabase 的关系表、要素类和要素数据集后,可以进一步建立更高级的项, 例如空间要素的几何网络、空间要素或非空间要素类之间的关系类等。 1. Geodatabase 设计 Geodatabase Geodatabase 对象类 Object Classes 要素类 Feature Classes 要素数据集 Feature Datasetes 关系类 Relationship Classes 要素类 Feature Classes 几何网络 Geometric Network 关系类 Relationshap Classes 要素 Feature 网络要素 Network Feature 关系 Relationship 表格 Table 要素 Feature 关系 Relationship 图 3.20 Geodatabase 的数据组织 51 Geodatabase 的设计是一个重要的过程,应该根据项目的需要进行规划和反复设计。在 设 计一个 Geodatabase 之前,必须考虑以下几个问题:在数据库中存储什么数据、数据存 储采用什么投影、是否需要建立数据的修改规则、如何组织对象类和子类、是否需要在不 同类型对象间维护特殊的关系、数据库中是否包含网络、数据库是否存储定制对象。回答 了上述问题后,就可以开始 Geodatabase 的建立了。 2. Geodatabase 建立 借助 ArcGIS9 的 ArcCatalog,可以采用以下三种方法来创建一个新的 Geodatabase,选 择何种方法将取决于建立 Geodatabase 的数据源、是否 在 Geodatabase 中存放定制对象。实 际 操作中,经常联合几种或全部方法来创建 Geodatabase。 (1) 从头开始建立一个新的 Geodatabase 有些情况下,可能没有任何可装载的数据,或者已经有的数据只能部分地满足数据库 设计,这时,可以用 ArcCatalog 建立一个新的 Geodatabase。 (2) 移植已经存在数据到 Geodatabase 对于已经存在的多种格式的数据:Shapefile、Coverage、INFO Table、dBASE Tables、 ArcStrom、Map LIBARISN、ArcSED 等,可以通过 ArcCatalog 来转换并输入到 Geodatabase 中,并进一步定义数据库,包括建立几何网络(Geometric Networks)、子类型(Subtypes)、 属性域(Attribute Domains)等。 (3) 用 CASE 工具建立 Geodatabase 可以用 CASE 工具建立新的定制对象,或从 UML( Unified Modeling Language , 一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示)图中产生 Geodatabase 模式。 本节着重介绍建立本地个人 Geodatabase 的一般过程和方法,有关 CASE 工具建立 Geodatabase 的部分及 ArcSDE 等内容省略。 3. 建立 Geodatabase 的基本组成项 一个空的 Geodatabase 的基本组成项包括关系表、要素类、要素数据集。当数据库中 建立了以上三项,并加载了数据之后,一个简单的 Geodatabase 就建成了。 4. 向 Geodatabase 各项加载数据 可以在 ArcMap中建立新的对象,或调用已经存在的 Shapefiles,Coverages,INFO Tables 和 dBaseTables 向 Geodatabase 中加载数据。 5. 进一步定义 Geodatabase 对于数据库中加载的数据,可以在适当的字段上建立索引,以便提高查询效率。并可 以在建立了数据库的基本组成项后,进一步建立更高级的项,例如空间要素的几何网络、 空间要素或非空间要素类之间的关系类等。一个 Geodatabase 只有定义了这些高级项,才 能显示出 Geodatabase 在数据组织和应用上的强大优势。 52 3.3.3 创建一个新的 Geodatabase 借助 ArcCatalog 可以建立两种 Geodatabase:本地 Geodatabase(Personal Geodatabase) 和 ArcSDE Geodatabase。本地 Geodatabase 可以直接在 ArcCatalog 环境中建立,而 ArcSDE Geodatabase 必须首先在网络服务器 上安装数据库管理系统( DBMS)和 ArcSDE,然后建立从 ArcCatalog 到 ArcSDE Geodatabase 的连接。 以建立本地个人 Geodatabase为 例: 在 ArcCatalog 树中选择一个文 件夹,单击 File 菜单,或在选中的 文件夹上点右键,选择 New,再选 择 Personal Geodatabase,如图 3.21 所示。输入本地地理数据库的名称, 完成数据库的建立。这时,该数据 库是不包含任何内容的空的 Geodatabase。 3.3.4 建立数据库中的基本组成项 Geodatabase 中的基本组成项包括对象类、要 素类和要素数据集。当在数据库中创建了 这些项目后,可以创建更进一步的项目,如子类、几何网络类、注释类等。 1. 建立要素数据集 建立一个新的要素数据集,首先必须明确其空间参考,包括坐标系统和坐标值的范围 域。数据集中的所有要素类用相同的坐标系统,所有要素类的所有要素坐标必须在坐标值 域的范围内。 (1) 在 ArcCatalog 目录树中,在 需 要 建 立 新 要 素 数据集的 Geodatabase 上单击右键,单击 New,选择 Feature Dataset 命令,弹出 New Feature Dataset 对话框,如图 3.22 所示; (2) 在 Name 文本框中输入要素数据集名称,单击 Edit 按钮,弹出 Spatial Reference 属性 对话框,进入 Coordinate System 选项卡,如图 3.23 所示。单击 Select、Import 或 New 按钮可以设置要素数据集的空间参考(定义坐标系统的具体过程参见第四章); 图 3.21 建立本地 Geodatabase 53 (3) 进入 X/Y Domain 选项卡,如图 3.24 所示。 分别输入数据集的最大最小 X,Y 值及其 所需要的精度; (4) 进入 Z Domain 选项卡,如果要素数据集 中的要素类有 Z 值,输入最大最小的 Z 值 及其所需要的精度; (5) 进入 M Domain 选项卡,如果要素数据集 中的要素类有 M 值,输入最大最小的 M 值及其所需要的精度; 最大最小 X、Y、Z 值表示要素的平面坐标 和高程坐标的范围域,M 值是一个线性参考值, 代表一个有特殊意义的点,要 素 的 坐标都是以 M 为基准标示的。 (6) 单击确定按钮,完成操作。 2. 建立要素类 要素类分为简单要素类和独立要素类。简单 要素类存放在要素数据集中,使用要素数据集的 坐标,不需要重新定义空间参考。独立要素类存 放在数据库中的要素数据集之外,必 须 定 义 空 间 参 考 坐标。 图 3.24 Spatial Reference 属性对话框 (X/Y Domain 选项卡) 图 3.22 New Feature Dataset 对话框 图 3.23 Spatial Reference 属性对话框 54 (1) 建立简单要素类 1) 在 ArcCatalog 目录树中,在 需 要 建 立 要 素类的要素数据集上单击右键,单击 New, 选择 Feature Class 命令,如图 3.25 所示; 2) 弹出 New Feature Class 对话框,如图 3.26 所示。在 Name 文本框中输入要素类名 称,在 Alias 文本框中输入要素类别名,别名是对真名的进一步描述。在 Type 选 项组选择 This feature class will store ESRI simple features 单选按钮。 3) 单击下一步按钮,弹出确定要素类数据库关键字对话框,如图 3.27 所示。选择 图 3.25 在要素数据集中建立要素类 图 3.26 New Feature Class 对话框 图3.27 确定要素类数据库关键字对话框 55 Use configuration keyword 单选按钮,输入关键字。或选择 Default 单选按钮,使 新表或要素类使用默认的存储参数; 4) 单击下一步按钮,弹出确定要素类字段名及其类型与属性对话框,如图 3.28 所示。 在简单要素类中,OBJECTID 和 SHAPE 字段是必需字段。OBJECTID 是要素的 索引,SHAPE 是要素的几何图形类别,如点、线、多边形等; 5) 单击 Field Name 列下面的第一个空白行,添加新字段,输入新字段名,并选取数 据类型。在 Field Properties 栏中编辑字段的属性,包括新字段的别名、新字段中 是否允许出现空值 Null、默认值、属性域及精度; 6) 单击 Field Name 列下的字段 SHAPE,在 Field Properties 栏中编辑几何图形字段 SHAPE 的属性特征。如图 3.29 所示; 7) 在 Field Properties 栏中输入几何图形字段别名,并在 Allow NULL values 中选择 No,几何图形字段中禁止出现空值 Null,在 Geometry Type 中选择该要素类中存 储的要素类型; 8) 分别在 Grid1,Grid2,Grid3 右边输入几何图形要素类的空间索引格网大小(Grid1 必须大于 0,Grid2 和 Grid3 可以是 0); 9) 在 Contains Z Values 右边选择 Yes,让这个要素类的几何字段存储 Z 值。在 Contains M Values 右边选择 Yes,让这个要素类的几何字段存储 M 值; 10) 因为正在要素数据集中建立要素类,所以不能修改空间参考; 11) 单击完成按钮,完成操作,建立一个简单要素类。 (2) 建立独立要素类 独立要素类指在 Geodatabase 中不属于任何要素数据集的要素类。独立要素类的建立 图 3.28 确定要素类字段名及其类型与属性 图 3.29 定义要素类几何字段属性 56 方法与在要素数据集中建立简单要素类相似,不同的是,必须重新定义自己的空间参考坐 标系统和坐标值域。 3. 建立关系表 (1) 在 ArcCatalog 目录树中,右键单击需要建立关系表的 Geodatabase,单击 New,选择 Tabel 命令,如图 3.30 所示; (2) 弹出 New Tabel 对话框,如图 3.31 所示。在 Name 文本框中输入表名,在 Alias 文本 框中输入表的别名。在 Type 选项组选择 This table will store ESRI simple objects 按钮; (3) 单击下一步按钮,打开数据库存储的关键字配置对话框,如图 3.32 所示。选择 Use configuration keyword 单选按钮,输入关键字名称; (4) 单击下一步按钮,打开属性字段编辑对话框,如图 3.33 所示。在该对话框中为新表 添加属性字段; (5) 单击完成按钮,完成操作。 图 3.30 建立关系表 图 3.31 New Table 对话框 57 3.3.5 向 Geodatabase 加载数据 Geodatabase 中主要支持 Shapefile、Coverage、INFO 表和 dBASE 表、CAD、Raster 等,如果已有数据不是上述几种格式,可以用 ArcToolbox 中的工具进行数据格式的转换, 再加载到 Geodatabase 中。 1. 导入数据 当导入已有的 Shapefile 或 Coverage 到 Geodatabase 时,就 会在数据库中自动生成一个要 素类。若生成独立要素类,需要 为导入的数据定义坐标系统;若 生成简单要素类,导入工具会自 动为其建立与要素数据集相同 的坐标系统,不需要再重新定 义。 (1) 导入 Shapefile 1) 在 ArcCatalog 树中,右 图 3.32 数据库存储的关键字配置对话框 图 3.33 属性字段编辑对话框 图 3.34 导入 Shapefile 58 键单击想导入到 Geodatabase 的 Shapefile,单击 Export,选择 To Geodatabase (single),如图 3.34 所示; 2) 打开 Feature Class To Feature Class 对话框,如图 3.35 所示。在 Input Features 中选择要导入的 Shapefile,在 Output Location 中选 择目标数据库或目标数据库中的 要素数据集,在 Output Feature Class Name 文本框中为导入的新 要素类输入名字。在 Field Info (optional)栏中,可以选择需要 导入的字段、并输入导入后的新的 字段名; 3) 还可以设置自动生成的要素类是 否具有 M 值和 Z 值、以及配置关 键字等; 4) 单击 OK 按钮,出现进程条,当进 程结束时,导入的 Shapefile 将出 现在目标数据库或数据库中的数 据集中。 如果在第一步中单击 To Geodatabase (multiple),可以实现多个 Shapefile 一次 导入到目标数据库或数据库中的一个数据 集中。 (2) 导入 Coverage 1) 在 ArcCatalog 树中,右键单击需要导入到 Geodatabase 的 Coverage,单击 Export, 选择 To Geodatabase(single),如图 3.36 所示; 2) 打开 Feature Class To Feature Class 对话框,如图 3.37 所示。输入目标数据库路径 和新要素类的名称; 3) 单击 OK 按钮,出现进程条,当进程结束时,导入的 Coverage 将出现在目标数据 库中。 如果在第一步中单击 To Geodatabase(multiple),可以实现多个 Coverage 一次导入到 目标数据库中。 也可以右击想要导入数据的数据库或数据集,单击 Import,即可导入要素类;可以从 一个 Geodatabase 向另一个 Geodatabase 中导入要素类;也可以在同一个 Geodatabase 中, 导入要素类到一个新的要素类。 图 3.35 Feature Class To Feature Class 对话框 59 (3) 导入 dBASE 表和 INFO 表 利用 ArcCatalog 可以把 dBASE 表和 INFO 表导入到 Geodatabase 中,并自动纠正任何 不合逻辑的或重复的字段名字,还可以通过交互方式指定如何更改字段,再进行导入;还 可以一次导入多个 dBASE 表和 INFO 表到 Geodatabase 中。 1) 在 ArcCatalog 树中,右键 单击想导入到 Geodatabase 的 dBASE 表或 INFO 表,单 击 Export,选择 To Geodatabase(single),如图 3.38 所示。 2) 打开 Table To Table 对话框, 如图3.39 所示。输入目标数 据库的表的路径以及导入到 Geodatabase 后新表的名称。 3) 单击 OK 按钮,出现进程条, 当进程结束时,导入的 dBASE 表或 INFO 表将出现在目标数据库中。 如果在第一步中选择 To Geodatabase(multiple),可以实现多个 dBASE 表或 INFO 表 一次导入到目标数据库中。也可以右击想要导入数据的数据库,单击 Import,即可导入表。 图 3.38 导入 dBASE 表和 INFO 表 图 3.36 导入 Coverage 图 3.37 Feature Class To Feature Class 对话框 60 (4) 导入栅格数据 向 Geodatabase 中导入栅格数据有两种 方式:一是导入到 Geodatabase 中作为栅格 数据集存储;二是导入到 Geodatabase 中已 经存在的栅格数据集中。 1) 在 ArcCatalog 树中,右击想导入 栅格数据的 Geodatabase,单击 Import,选择 Raster Datasets,如 图 3.40 所示。 2) 打开 Raster To Geodatabase(multiple)对话框,如 图 3.41 所示。添加想要导入的多 个栅格数据,单击 OK 按钮。 3) 若在第一步中选择 Raster Datasets(mosaic)命令,打开 Mosaic 对话框,如图 3.42 所示。添加想要导入及拼接的多个栅格数据,输入 Geodatabase 中已经存在的栅格数据集的路径,选择栅格数据的拼接方式、拼接后采用的颜色 模式、指定可以设置为 Nodata 的值,并设置拼接容限值。 4) 单击 OK 按钮,完成操作。 图 3.40 导入栅格数据 图 3.39 Table To Table 对话框 图 3.41 Raster To Geodatabase(multiple)对话框 61 (5) 复制 Geodatabase 数据 可以在 Geodatabase 之间直接移动和复 制数据。在 ArcCatalog 树中,右击要复制 的数据集、要素类或表,单击 Copy,右击 目标 Geodatabase,单击 Paste 即可。 2. 载入数据 当导入 Shapefile、Coverage、INFO 表 和 dBASE 表等到一个 Geodatabase 时,导 入的数据作为新的要素类或新表存在。在 导 入 这 些 数据之前,这些要素类和表是不存在 的。 数据载入不同于数据导入。数据载入要 求在 Geodatabase 中必须首先存在与被载入 数据具有结构匹配的数据对象。 数据载入的具体操作步骤如下: (1) 在 ArcCatalog 树中,右键单击要载入 数据库的要素类或表,单击 Load,单 击 Load data,如图 3.43 所示。出现 Simple Data Loader 对话框,如图 3.44 所示; (2) 单击下一步按钮,打开输 入数据对话框,如图 3.45 所示。浏览并找到要输入 的要素类和表,单击 Add, 增加要素类和表到源数据 列表中; (3) 单击下一步按钮,打开确 定装载数据的目标数据库 和目标要素类的对话框, 如图 3.46 所示。选择 I do not want to load all features into a subtype,表示不想把 数据装载到一个指定的子类型中;选择 I want to load all features into a subtype,表示 要把数据装载到一个指定的子类型中,这时要选择需要装载源数据的子类型; (4) 单击下一步按钮,打开源字段匹配到目标字段对话框,如图 3.47 所示。在 Matching Source Field 窗口中选择同目标字段匹配的源数据的字段。如果不想让源数据字段的 数据装载到目标字段,在 Matching Source Field 窗口中选择 None; 图 3.43 载入数据 图 3.42 Mosaic 对话框 62 (5) 单击下一步按钮,打开源字段匹配到目标字段对话框,如图 3.47 所示。在 Matching Source Field 窗口中选择同目标字段匹配的源数据的字段。如果不想让源数据字段的 数据装载到目标字段,在 Matching Source Field 窗口中选择 None; (6) 单击下一步按钮,打开装载源数据对话框。如果需要装载全部源数据,选择第一个 选项 Load all of the source data,如图 3.48 所示;单击下一步按钮,打开参数总结信 息框,如图 3.49 所示。单击完成按钮,完成操作; 图 3.44 Simple Data Loader 对话框 图 3.45 输入数据对话框 图 3.46 确定目标数据库和要素类对话框 图 3.47 源字段匹配到目标字段 63 (7) 如果需要载入部分源数据,在 装载源数据对话框中选择第二个选项。如图 3.50 所示。 单击 Query Builder 按钮,打开 Query Data 对话框,如图 3.51 所示。用 Query Builder 建立属性查询限制条件,限制装入到目标数据库中源数据的要素; (8) 单击 OK 按钮,返回装载源数据对话框,单击下一步按钮,打开参数总结信息框。 单击完成按钮,完成操作。 3.3.6 进一步定义数据库 1. 创建子类和属性域 存储在要素类或表中的对象可以按照子类型来组织,并有一套完整的规则。 (1) 属性域(Attribute Domains) 图 3.50 装载源数据对话框(第二个选项) 图 3.51 Query Data 对话框 图 3.48 装载源数据对话框(第一个选项) 图 3.49 参数总结信息框 64 属性域表述的是属性取值的范围,可以分为范围域(Range Domains)和代码值域 (Coded Value Domains)。范围域可以指定一个范围的值域(最大值和最小值),最大值和 最小值可以使用整型或浮点型数值表示。代码值域给一个属性指定有效的取值集合,包括 两部分内容,一个是存储在数据库中的代码值,一个是代码实际含义的描述性说明。代码 值域可以应用于任何属性类型,包括文本、数字、日期等。 (2) 子类型(Subtypes) 子类型是根据要素类的属性值将要素划分为更小的分类。比如要素类——居民区,可 以将其属性字段“居住人口”分为三级:0-200、200-1000、1000 以上,使得该要素类也 被分为三个子类:小型居民区、中型居民区和大型居民区。这三个子类会在 ArcMap 中自 动符号化显示出来。 (3) 属性分割与合并 在编辑数据时,常常需要把一个要素分割(Splitting)成两个要素,或把两个要素合 并(Merging)成一个要素。在 ArcGIS 9 中,一个要素被分割时,属性值的分割由分割规 则(Split Policy)来控制。当要素合并时,属性值的合并由合并规则(Merge Policy)来控 制。当一个要素被分割或合并时,ArcGIS 根据这些规则,决定其结果要素属性取值。 (4) 属性域操作 1) 建立属性域 A 在 ArcCatalog 目录树中,右键单击要建立属性 范围域的 Geodatabase,单击 Properties 命令, 如图 3.52 所示; B 弹出 Dtatbase Properties 对话框(Domains 选项 卡),如图 3.53 所示。在 Domain Name 栏下的 第一个空白字段,输入新属性域名称,在对应 的 Description 栏中输入说明信息。在 Domain Properties 栏中,为新建的属性域选择属性字 段类型; C 当选择属性域类型为范围域(Range)时,输入 属性域的最小值和最大值、选择分割和合并策 略,如图 3.54 所示。当选择属性域类型为代 码值域(Coded Value)时,在 Coded 栏中, 输入新代码值及其描述信息,并选择分割策略和合并策略; D 单击确定按钮,完成操作。 图 3.52 建立新的属性范围域 65 2) 修改属性域: 进入 Database Properties 对话框,参见图 3.54。在 Domain Name 栏下选中要删除的属 性域,按 Delete 键,或在 Domain Properties 栏下对各项属性域特征进行修改。 3) 关联属性域: 在 Geodatabase 中,可以将属性域的默认值与表或要素类的字段关联起来。属性域同 一个要素类或表建立关联后,在 Geodatabase 中一个属性有效规则就建立起来了。同一个 属性域可以同一个表或要素类或子类型的多个字段关联,也可以同多个要素类或多个表的 多个字段关联。 图 3.53 Dtatbase Properties 对话框 图 3.54 新建属性范围域的各项设置 66 A 在 ArcCatalog 目录树中,右键单击需要关联属性域的表或要素类,单击 Properties 命令,如图 3.55 所示。打开 Feature Class Properties 对话框(Fields 选项卡),如图 3.56 所示; B 在 ArcCatalog 目录树中,右键单击需要关联属性域的表或要素类,单击 Properties 命令,如图 3.55 所示。打开 Feature Class Properties 对话框(Fields 选项卡),如图 3.56 所示; C 在 Field Name 栏,单击需要建立默认值并把它关联到属性域的字段; D 在 Field Properties 栏,在 Domain 下拉框中选择需要关联的属性域(只有与 当前字段类型相同或兼容的属性域才会显示在列表中); E 单击确定按钮,完成操作。 (5) 子类型操作 当需要通过默认值、属性域、连接规则、关系规则区分对象时,就需要对单一的要素 类或表建立不同的子类型。利用 ArcCatalog 可以给要素类添加子类型,并为每一个子类型 设置默认值和属性域。也可以删除或修改已经存在的子类型。 1) 建立子类型: A 在 ArcCatalog 目录树中,右键单击需要添加子类型的表或要素类,单击 Properties 命令,如图 3.57 所示; 图 3.55 关联属性域 图 3.56 Feature Class Properties 对话框 67 B 打开 Feature Class Properties 对话框,进入 Subtypes 选项卡。在 Subtypes Field 下拉框中选择需要建立子类型的属性字段,在 Default Subtype 文本框中出现 所选字段的默认的新的子类型名称:New Subtype。如图 3.58 所示; C 在 Subtypes 栏中,在 Code 列输入子类型代码及其描述,描述将自动更新 Default Subtypes 窗口中的内容; D 在 Default Values and Domains 栏中,对于每一个字段,在 Default Value 中输 入默认值,在 Domain 栏中选择一个属性域(将新子类型的字段关联到一个 属性域); E 重复上述步骤,添加其他子类型。单击 Use Defaults 按钮,可以让新子类型 采用默认子类型的所有默认值和属性域; F 单击确定按钮,完成操作。 2) 修改子类型: 进入 Feature Class Properties 对话框,参见图 3.58。在 Subtypes 栏下选中需要删除的 子类型,按 Delete 键,或在 Subtypes 和 Default Values and Domains 栏下对各项子类型特征 进行修改。 2. 创建关系类 地理对象之间存在各种各样的关系的。如供水系统中的水管和水管维修记录之间的关 系、宗地和业主之间的所属关系等。在 Geodatabase 中,事物之间的这些联系使用关系类 来表现。关系类可以在空间对象间实现、在非空间对象间实现,或者在空间对象与非空间 图 3.57 建立子类型 图 3.58 Feature Class Properties 对话框 68 对象之间实现。空间对象是存储在要素类中,非空间对象存储在对象类中,关系类存储在 关系类中。 (1) 关系类概述 1) 基数(Cardinality) 描述对象之间的关系,分为以下四种:一对一(1-1)、一对多(1-M)、多对一(M-1) 和多对多(M-N)。 2) 关联键 要创建关系,表(对象类或要素类)中必须至少包含一个“共同”的字段,这样的字 段称为“键”(key)。键值可以是文本型、数值型的(通常为整型)。在关联的两个表中, 关联的键字段名称不一定要一致,但是数据类型必须一致。关系类的创建是在源类( Oringin class)的主键(primary key)和目标类(destination class)的外键(foreign key)之间创建 的。 主键:存储能够唯一标识表中的每个对象的字段。外键:纪录有源表主键信息的字段。 在对象类中,外键记录值不需要唯一,而且通常也是不唯一的。关联标注 在关系类中,查找关联表的时候需要关联标注,标注分为向前标注和向后标注。使用 向前标注可以从源类找到目标类;使用向后标注,可以从目标类找到源类。 3) 关系种类 简单关系(Simple Relationship)是 Geodatabase 中的两个或多个对象之间的关系,对 象是独立存在的,进行对象操作时不会影响其它类中的对象。简单关系可以有一对一、一 对多、多对多的基数。 复合关系(Composite Relationship)首先要有一个目标类,它依赖于源类,如果从源 类中删除对象,目标类中相关联的对象也会被删除。复合关系总是一对多的,但也可以通 过关系规则限制到一对一。 (2) 建立关系类 1) 建立简单关系类 A 在 ArcCatalog 目录树中,右键单击需要在其中建立关系类的 Geodatabase 或 要素数据集,单击 New 命令,单击 Relationship Class 命令,如图 3.59 所示; 69 B 弹出 New Relationship Class 对话框,如图 3.60 所示。在 Name of the relationship class 文本框中输入关系类名称,选择源表或要素类,选择目标表 或要素类; C 单击下一步按钮,打开 New Relationship Class(选择关系类型)对话框,如 图 3.61 所示。选择 Simple(peer to peer) relationship 单选按钮,建立简单关系 类; D 单击下一步按钮,打开 New Relationship Class(确定关系类属性)对话框, 图 3.59 建立关系类 图 3.60 New Relationship Class 对话框 图 3.61 选择关系类型对话框 图 3.62 确定关系类属性对话框 70 如图 3.62 所示。输入从源类到目标类的向前路径标注:owners,输入从目标 类到源类的向后路径标注:is owned by,选择关系的消息传递方向( Forward, Backward,Both,None); E 单击下一步按钮,打开 New Relationship Class(选择关系类基数)对话框, 如图 3.63 所示。选择一对一的关系(即一个拥有者只拥有一个地块,一个地 块只属于一个拥有者); F 单击下一步按钮,打开 New Relationship Class(关系类添加属性)对话框, 如图 3.64 所示。选择 No…单选按钮(在本例中,关系类不需要属性); G 单击下一步按钮,打开 New Relationship Class(选择主键)对话框,如图 3.65 所示。在第一个下拉框中为要素类或表选择主键,在第二个下拉框中,选择 图 3.63 选择关系类基数对话框 图 3.64 关系类添加属性对话框 图 3.65 选择主键对话框 图 3.66 总结信息对话框 71 所选的主键的外键; H 单击下一步按钮,打开 New Relationship Class(总结信息)对话框,如图 3.66 所示。确认无误后,单击完成按钮,完成操作。 2) 建立复合关系类 建立复合关系类与建立简单关系类相似,不同的是在 New Relationship Class(选择关 系类型)对话框中选择 Composite relationship 单选按钮,建立复合关系类。在 New Relationship Class(选择关系类基数)对话框中选择一对多的复合关系。 3) 建立关系类的属性 不论是简单关系类的还是复合关系类,都可以具有属性。例如在建立地块与业主的简 单关系中,地块有自己的属性,业主也有自己的属性,关系类描述的是某块地所对应的业 主,有时还需要存储关系类的一些属性信息,比如业主对地块的使用情况等。 A 在上述 New Relationship Class(关系类添加属性)对话框中选择 Yes…单选 按钮。参见图 3.64; B 单击下一步按钮,打开 New Relationship Class(添加属性字段)对话框,如 图 3.67 所示。在 Field Name 列下输入添加字段 的名字,如 attri1、attri2, 并分别为字段选择数据类 型:Text。在 Field Properties 栏中,设置新字 段的属性; C 重复以上步骤,直到定义 完关系类的所有属性字 段; D 其余步骤与上述创建不需 要属性的关系类相似。单 击完成按钮,即可创建具 有属性的关系类。 4) 建立关系类规则: 关系类规则用于限制源要素类或表 中的对象,是否可以被连接到目标要素 类或表中的一个确定类型的对象。例如,可以指定每一个水龙头管连接几个水龙头,不连 接一个水龙头的水龙头管是无效的。 A 在 ArcCatalog 目录树中,右键 单击需要建立规则的关系类,单击 Properties,打如图3.68所示。开Relationship Class Properties 对话框(Rules 选项卡),如图 3.69 所示; B 在 Origin Table/Feature Class 窗口,如果源类有子类型,单击与关系规则关联 的子类型,如果源类没有子类型,关系规则将应用于所有要素; 图 3.67 添加属性字段对话框 72 C 在 Destination Table/Feature Class 窗口,如果目标类有子类型,单击与源类中 被选的子类型相关的目标子类型,如果目标类没有子类型,关系规则将应用 于所有要素; D 选择 Destination Cardinality 选项卡下的复选框:Specify the range of associated destination objects,指定每一个源类相关的目标对象的范围; E 重复上述步骤,指定这个关系类的所有关系规则; F 单击确定按钮,完成关系类规则的建立。 (3) 关系类的应用 1) 在 ArcMap 中浏览一个要素的关联对象 A 在 ArcMap 中打开 parcels 要素类,如图 3.70 所示; B 单击 按钮,打开 Identify Results 对话框,如图 3.71 所示。选择图层 Parcels; C 点击地图上的要素, 在 Identify Results 对话框的左侧面板中打开所点击要素 的路径标签,查看其属性的关联对象。如图 3.72 所示; 图 3.69 Relationship Class Properties 对话框 图 3.68 建立关系类规则 73 2) 在要素属性表中浏览一个对象的相关联对象 A 在 ArcMap 内容列表中,点击 Source 标签。右键单击一个表 owners,单击 Open,如图 3.73 所示; B 打开属性表,选择表中的一个对象,在 表 下 方 单击 Options 按钮,指 向 Related Tables,然后单击关联的路径标签 parcelowners : owners。如图 3.74 所示; C 为关联的表打开一个新的表对话框,在该表中,关联的对象也会被选中。如 图 3 .75 所示; D 单击 Show Selected,只显示与第一个表选取的对象相关联的对象; 图 3.70 在 ArcMap 中打开数据 图 3.71 Identify Results 对话框 图 3.72 查看属性的关联对象 74 图 3.74 owners 属性表 图 3.73 打开表 75 3) 在 ArcMap 中使用关联字段 在要素类和相关的要素类或表中创建一个连接,就可以使相关联的要素类或表中的字 段添加到要素层中,并可对地图进行标注、符号化及要素查询。 A 在 ArcMap 内容列表中右键单击要素层,单击 Joins&Relates,再单击 Join。 如图 3.76 所示; B 打开 Join Data 对话框,选择 Join data based on a pre-defined relationship class (基于预定义关系类连接数 据),如图 3.77 所示; C 单击 OK 按钮。现在可以使用 关联字段来符号化、标注和查 询要素了; D 打开要素层的属性表,可以看 到表中增加了相关要素类的 字段;或右键单击要素层,单 击 Properties,打开 Layer Properties 对话框,进入 Lables 标签,在 Text String 栏 Label 下拉框中,也可以看到可标注字段中也增加了相关要素类的字段。如图 3.78 所示; 图 3.75 Parcels 属性表 图 3.76ArcMap 中使用关联字段 76 3. 创建注释类 注释是用于存储描述性文本信息的专门要素类,和存储在地图文档中的标注(Label) 不同,注释类是存储在 Geodatabase 中的。 注释类分为连接要素的注释类(Feature-linked Annotation Class)和不连接要素的注释 类(Nonfeature-linked Annotation Class)两种。不连接要素的注释类是按照地理空间位置 放置的文本,在 Geodatabase 中不与要素相关联。连接要素的注释类与 Geodatabase 中一个 要素类的特定要素相关联,当要素被移动或者删除时,与之关联的注释也会同时被移送或 删除。 (1) 建立注释类 1) 建立不连接要素的注释类 A 在 ArcCatalog 目录树中,右键单击需要建立不连接要素注释类的 Geodatabase 或要素数据集,单击 New,单击 Feature Class 命令,如图 3.79 所示; B 打开 New Feature Class 对话框,如图 3.80 所示。在 Name 文本框中输入注释 类名,在 Alia 文本框中输入注释类假名,在 Type 选项组中选择第二个单选 按钮:This feature class will store annotation features。在其下的下拉框中选择 ESRI Annotation Feature 选项; C 单击下一步按钮,打开参照比例尺设置对话框,如图 3.81 所示。在 Referance Scale 文本框中输入参照比例尺,它描述了用指定的尺寸显示注记文本的比 例尺,当缩小和放大地图时,文本也跟着缩放。参照比例尺总是与注释类的 图 3.77 Join Data 对话框 图 3.78 Layer Properties 对话框(Lables 标签) 77 空间参照系使用相同的单位。在 Map Units 下拉框中选择地图单位; D 单击下一步按钮,打开显示特征设置对话框,如图 3.82 所示。在 Annotation Class 栏中,可以添加另一个注释类,或者对已有的注释类重命名,在 Text Symbol 栏中,为注释类设置字符的属性特征,在 Scale Range 栏中,指定注 释缩放到什么程度时可见; E 单击下一步按钮,其余步骤与建立其他地理要素类的方法相同。 图 3.79 建立注释 图 3.80New Feature Class 对话框 图 3.81 参照比例尺设置对话框 图 3.82 显示特征设置对话框 78 2) 建立连接要素的注释类 A 进入 New Feature Class 对话框,参见图 3.80,选中 Link the annotation to the following feature class 复选框,在 下 面 的 下拉框中选择与新建的注释类连接的 要素类,如图 3.83 所示; B 单击下一步按钮,打开参照比例尺设置对话框,如图 3.84 所示。在 Reference Scales 文本框中,输入参照比例 尺,并在 Map Units 下拉框中选 择地图单位;在 Editing Behavior 栏中,为 新建的注释类选择编辑 行为; C 单击下一步按钮,设置连接要素 注释类的显示参数,如图 3.85 所示; D 单击下一步按钮,其余步骤与建 立其它地理要素类的方法相同。 (2) 产生连接要素注释 1) 将 Geodatabase 中的要素类加载到地 图文档中,单击 按钮,在 ArcMAP 视图中选中需要产生注释 的要素; 图 3.83 连接要素类对话框 图 3.84 确定参照比例尺设置对话框 图 3.85 注释类的高级设置 79 2) 右键单击需要产生连接要素注释的数据层,单击 Selection,单击 Annotate Selected Features 命令,如 图 3.86 所示; 3) 打开 Annotate Selected Features 对话框,如图 3.87 所示。在该对话框中选择相关 的注释类,用于存储产生的注释。选中 Covert unplaced labels to annotation 复选框; 4) 单击 OK 按钮,在 ArcMap 图形窗口产生选择要素的注释。 (3) 转换注释类 1) ArcMap 标注转换 A 在 ArcMap 窗口内容表中,右键单击需要转换标注的数据层,单击 Convert Labels to Annotation 命令,如图 3.88 所示; B 打开 Convert Labels to Annotation 对话框。如图 3.89 所示; 图 3.88ArcMap 标注转换 图 3.89 Convert Labels to Annotation 对话框 图 3.86 产生连接要素的注释 图 3.87 Annotate Selected Features 对话框 80 C 在 Store Annotation 中选择注释类存储在地图文档中还是数据库中。在 Create Annotation For 中选择注释类应用于所有要素还是当前可视范围内的要素; D 单击 Convert 按钮,完成操作。 2) Coverage 注释转换 ArcMap 可以把存储在 Coverage 注释要素类中的注释转换成 Geodatabase 的注释,可 以转化生成一个新的注释类,也可以转换到 Geodatabase 内已经存在的注释类中。 A 将 Convert Coverage Annotation 命令加到菜单栏中; B 右键单击需要转换的 Coverage 注释层,单击 Convert Coverage Annotation 命 令,打开 Convert Coverage Annotation 对话框。其余步骤与 ArcMap 标注转 换类似。 4. 创建几何网络 (1) 几何网络概述 现实世界中,人员的流动、货物的流通、信息的传递、能量的传输等等,都是通过可 确定的网络系统来进行的。几何网络由要素构成,这些要素被限制存在于网络内,作为网 络要素(Network Feature)。Geodatabase 自动对几何网络中网络要素间的拓扑关系进行维 护。 一个几何网络有一个对应的逻辑网络,几何网络实际上是一组组成网络的要素类,逻 辑网络是网络连通性的物理描述,逻辑网络中的每个元素(element)都与几何网络中的一 个要素关联。 1) 网络要素类型 几何网络要素包括边网络要素(Edge Network Feature)和连接网络要素(Junction Network Feature),边(Edge)必须通过连接(Junction)与其他边相连。在逻辑网络中, 边元素与网络中的边元素(Edge Element)相关,连接要素与网络中的连接元素(Junction Element)相关。 在广义上,网络要素可以分为两类:简单网络要素和复杂网络要素。简单网络要素对 应逻辑网络中的一个简单网络元素,复杂网络要素对应逻辑网络中的多个网络元素。 2) 源和汇 网络中的物质、能量、信息的流动是有方向的,网络中的方向是从源(Source)到汇 (Sinks)的,几何网络中的连接要素可以作为源或汇。 3) 网络权重 一个网络可以有许多权和它相关,权是根据要素的某些属性来计算的。网络中的每个 要素类都可能有部分或全部的权与其属性相关。每个权可以与一个要素的一个属性相关, 也可以与多个要素相关。 4) 有效和无效要素 在几何网络中的任何一个边要素或接合点要素在逻辑网络中可以是有效的(Enabled 字段为 Ture),也可以是无效的(Enabled 字段为 False)。一个网络要素是否有效,或是否 可运行,其状态由 Enabled 属性字段来维护的。例如一条道路,当它正在被维修时,可设 置为无效要素,当其畅通无阻时可设置为有效要素,网络可以通过这条道路。当用 81 ArcCatalog 创建一个网络要素类时,Enabled 字段是必需字段。 (2) 建立几何网络 几何网络是要素数据集中要素类集合之间的拓扑关系,几何网络中的每一个要素有一 个角色:边或连接。建立一个几何网络必须确定哪些要素类参入网络,以及参入要素类扮 演什么角色,并需要指定一系列的权重参数,以及其他一些更高级的参数。 在 ArcGIS 9 中,建立几何网络有两种途径:一是从零开始建立一个全新的几何网络, 二是以已存在的简单要素类为基础建立几何网络。 1) 建立全新的几何网络: A 在 ArcCatalog 目录树中,右键单击需要建立几何网络的要素数据集,单击 New,单击 Geometric Network 命令,如图 3.90 所示。打开 Build Geometric Network Wizard 对话框,如图 3.91 所示; B 单击 Next 按钮,打开选择如何建立几何网络的对话框,选择 Build an empty geometric network(建立一个空的几何网络)单选按钮,如图 3.92 所示; C 单击 Next 按钮,打开输入几何网络名称对话框,如图 3.93 所示。为新的几 何网络输入名称; 图 3.91 Build Geometric Network Wizard 对话框 图 3.90 在要素数据集内建立几何网络 82 D 单击 Next 按钮,打开网络权重设置对话框,如图 3.94 所示。如果想在网络 中添加权重,选择 Yes 单选按钮,单击 按钮添加新权重,单击 按钮可 以删除已经添加的权重。为添加的权重输入名称(Weight Name)和类型 (Type);如果不想在网络中添加权重,选择 No 单选按钮; E 单击 Next 按钮,打开网络设置总结信息对话框,如图 3.95 所示。检查该总 结信息,确认无误后单击单击 Finish 按钮,完成操作。 2) 用已有要素建立几何网络: 如果应用已经存在的简单要素类建立一个几何网络,要素类可以是空的,网络建立以 后,可以再添加网络要素类型。 基本步骤如下:利用已有要素建立一个几何网络;向几何网络中添加需要的要素类; 为几何网络建立几何规则。 几何网络既可以用 ArcCatalog 建立,也可以用 ArcToolbox 建立。关于利用已有数据 图 3.92 选择如何建立几何网络的对话框 图 3.93 输入几何网络名称对话框 图 3.94 网络权重设置对话框 图 3.95 总结信息对话框 83 建立几何网络的具体过程参见 3.5 节中的练习 2。 (3) 添加新的几何网络要素类 可以在几何网络中添加新的边要素类和连接要素类。当建立一个新的网络要素类时, 必须指定要素的类型和要素类参与的几何网络。新的要素类必须建立在几何网络的同一个 要素数据集中,如果建立一个新的连接要素类,需要指定它的要素是否可以为源或汇。 所有网络要素类同简单要素类一样,都有相同的必需字段 OID 和 SHAPE。网络边要 素还有一个必需字段 Enabled,它决定逻辑网络是否可运行,这个字段有一个固定的属性 域。网络连接要素可以作为源或汇,为了记录一个连接要素是否为源或汇,必须建立一个 AncillaryRole 字段,它也有一个固定的属性域。 (4) 定义网络规则 网络连接规则限制可能连接到其他网络要素的网络要素类型,以及可以连接到其他类 型要素的特定类型要素的数目。 有两种类型的连接规则:边-连接(Edge-Junction)和边-边(Edge-Edge)规则, Edge-Junction 规则建立类型 A 的一个边连接到类型 B 的一个连接的网络关系,Edge-Edge 规则是建立通过类型 C 的一个连接,类型 A 的一个边连接到类型 B 的一个边的网络关系, Edge-Edge 规则总是包含一个 Junction。 5. 创建拓扑 拓扑表达的是地理对象之间的相邻、包含、关联等空间关系。创建拓扑关系可以使 Geodatabase 能更真实地表示地理要素,更完美的表达现实世界的地理现象。拓扑关系能清 楚地反映实体之间的逻辑结构关系,它比几何数据有更大的稳定性,不随地图投影的变化 而变化。 创建拓扑的优势在于: (1) 根据拓扑关系,不需要利用坐标或距离,就可以确定一种空间实体相对于另一种空 间实体的位置关系。 (2) 利用拓扑关系便于空间要素查询,例如某条铁路通过哪些地区,某县与哪些县相邻 等。 (3) 可以根据拓扑关系重建地理实体。例如根据弧段构建多边形,实现道路的选取,进 行最佳路径的选择等。 参与拓扑创建的所有要素类必须在同一个数据集中。 一个拓扑关系存储了三个参数:规则(rules)、等级(ranks)和拓扑容限(cluster tolerance)。拓扑规则定义了拓扑的状态,控制了要素之间的相互作用,创建拓扑时必须指 定至少一个拓扑规则;等级是控制在拓扑检验中节点移动的级别,等级低的要素类向等级 高的要素类移动。在创建拓扑的过程中,需要指定要素类的等级。目前,最高的等级是 1, 最低的等级是 50;拓扑容限是节点、边能够被捕捉到一起的距离范围,所设置的拓扑容限 应该依据数据精度而尽量小。默认的拓扑容限值是根据数据的准确度和其他一些因素,由 系统默认计算出来的。 当拓扑关系创建后,将数据加载到 ArcMap 中,如果所建的拓扑违背所定义的拓扑规 则时,就会产生拓扑错误,则进行拓扑检验后,在 ArcMap 视图窗口中会把有错误的地方 84 自动显示出来。这时应把检测出来的拓扑错误一一修改。在 ArcMap 中还可进行拓扑编辑, 包括共享边和点的编辑。 创建拓扑的详细过程可参考本章练习 1。 3.4 数据编辑 数据编辑是纠正数据错误的重要手段,包括几何数据和属性数据的编辑。几何数据的 编辑主要是针对图形的操作(图形编辑),包括平行线复制、缓冲区生成、镜面反射、图 层合并、结点操作、拓扑编辑等。属性数据的编辑包括图形要素属性的添加、删除、修改、 复制、粘贴,、属性表导出等。 3.4.1 图形编辑 1. 基本编辑 以下操作都是以打开地图文档,并开始编辑(Start Editing)数据层为前提。 (1) 要素复制 1) 平行复制 单击 按钮,在图形窗口中选择要复制的线要素,单 击 Target 箭头,选择需要复制平行线的数据层,在 Editor 下拉菜单中,选择 Copy Parallel 命令,打开 Distance 对话 框,如图 3.96 所示。输入平行线之间的距离(按照地图单 位),输入的距离数值的正负值表示要素的复制方向。按 Enter 键即可完成不同数据层之间平行线的复制。 2) 缓冲区边界生成与复制 单击 按钮,在图形窗口中选择要生成缓冲区的要素,单 击 Target 箭头,选择需要复制缓冲区的数据层(线或多边形类 型),在 Editor 下拉菜单中,选择 Buffer 命令,打开 Distance 文 本框,如图 3.97 所示。输入生成缓冲区的距离(按照地图单位),并按 Enter 键即可完成 不同数据层之间缓冲区的复制。 3) 镜面复制 单击 按钮,在图形窗口中选择需要进行镜面操作的要素,单击 Task 箭头,选择 Mirror Features 操作任务,如图 3.98 所示。单击 按钮,在图形窗口定义首尾两点确定 图 3.96 Distance 对话框 3.97 Distance 文本框 85 一条中心线,所选择的要素按照定义的中心线对称复制。 (2) 要素合并 ArcMap 中的要素合并操作可以概括为两种类型,要 素空间合并( Merge 和 Union)与要素裁剪合并( Intersect)。 合并可以在同一个数据层中进行,也可在不同数据层之间 进行,参与合并的要素可以是相邻要素,也可以是分离要 素。只有相同类型的要素才可以合并。 1) Merge 操作 Merge 操作可以完成同层要素空间合并,无论要素相 邻还是分离,都可以合并生成一个新要素,新要素一旦生 成,原来的要素自动被删除。 具体操作过程如下: 单击 按钮,在图形窗口中选择需要合并的要素,单击 Target 箭头,选择合并后的 新要素所属的目标数据层,在 Editor 下拉菜单中,选择 Merge 命令,打开 Merge 对话框, 如图 3.99 所示,在 Merge 对话框中列出了所有参加合并的要素,选择其中一个要素,单击 OK 按钮。Merge 操作自动将被选择要素的属性赋给合并后的新要素。Merge 合并的结果如 图 3.100 所示。 2) Union 操作 Union 操作可以完成不同层要素空间合并,无论要素相邻还是分离,都可以合并生成 一个新要素。 具体操作过程如下: 单击 按钮,在图形窗口中选择需要合并的要素(来自不同的数据层),单击 Target 箭头,选择合并后的新要素所属的目标数据层,在 Editor 下拉菜单中,选择 Union 命令, 所选择的要素被合并生成一个新要素。 3) Intersect 操作 Intersect 操作可以完成相互重叠(Overlay)部分的要素裁剪合并。无论要素属于同一 数据层还是不同数据层,都可以合并生成一个新要素。新要素保持了原要素的类型,但没 图 3.98 Task 下拉菜单中的任务 图 3.99 Merge 对话框 图 3.100 Merge 合并的结果 86 有任何属性值,需要自己输入新的属性值。 具体操作过程如下: 单击 按钮,在图形窗口中选择 具有重叠部分的要素,单击 Target 箭头, 选择合并后的新要素所属的目标数据 层,在 Editor 下拉菜单中,选择 Intersect 命令,所选择要素的公共部分合并生成 一个新要素。如图 3.101 所示,两多边 形重叠部分生成一个新的多边形。 (3) 要素分割操作 应用 ArcMap 要素编辑工具可以分割线要素和多边形要素。对线要素可以任意定义一 点进行分割,也可在离开线的起点或终点一定的距离处分割,还可按照线要素长度百分比 进行分割,分割后线要素的属性值是分割前线要素属性值的复制。对多边形要素按照所绘 制的分割线进行分割,分割后的多边形要素的属性值是分割前多边形要素属性值的复制。 1) 线要素分割 A 任意点分割线要素 单击 按钮,在图形窗口中选择需要分割的线要素,单击 按钮,在线要素上任 意选择分割点,单击左键,线要素按照分割点分成两段,可通过 按钮把该线要素拉开 查看。 B 按长度分割线要素 单击 按钮,在图形窗口中选择需要分割的线要素,在 Editor 下拉菜单中,选择 Split 命令,打开 Split 对话框,如图 3.102 所示,在 Line 文 本框中显示的是所选线要素的长度,在 Split 选项组中可 以选择两种按长度分割线要素的方式,一种是按照长度 距离分割,另一种是按照长度比例分割,并输入长度距 离或长度比例。在 Orientation 选项组中可以选择是从线 要素的起点计算距离或比例进行分割,还是从线要素的 终点计算距离或比例进行分割。单击 OK 按钮,线要素 按照确定或计算的分割点分成两段。可通过 按钮把 该线要素拉开查看。 C 布点分割线要素 单击 按钮,在图形窗口中选择需要分割的线要素,单击 Target 箭头,选择需要沿 图 3.101Intersect 的结果 图 3.102 Split 对话框 87 线放置点要素的数据层。在 Editor 下拉菜单中,选择 Divide 命令,打开 Divide 对话框,如图 3.103 所示, 在对话框中输入分割线要素的点数,这些点在线要素 上均匀放置,或者输入分割线要素的点间距离,单击 OK 按钮,就可按照确定的点数或点间距离分割线要 素,并放置点要素。通过 按钮把该线要素拉开查 看。 2) 多边形要素分割 单击 按钮,在图形窗口中选择需要分割的多边形要素,单击 Task 箭头,选择 Cut Polygon Features(分割多边形要素)选项,单击 按钮,绘制分割曲线,分割曲线应与 原始多边形相交,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,结束分割曲线的 绘制。原始多边形要素按照绘制的分割曲线被分割成两个多边形,如图 3.104 所示。 (4) 线要素延长与裁剪 延长可以实现多个线要素自动与目标线相接,裁剪可以实现按固定距离条件或边界线 裁剪线要素。 1) 绘制草图延长线要素 单击 Task 箭头,选择 Extend/Trim Features(延长与裁剪要素)选项,单击 按钮, 在图形窗口中选择需要延长的线要素,单击 按钮,在图形窗口绘制一条草图线,作为 线要素延长的目标,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,结束草图线的 绘制。线要素就会延长到绘制的草图线。 2) 按照长度裁剪线要素 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单 击 按钮,在图形窗口中选择需要裁剪的线要素,单击右键, 选择 Trim to Length 命令,打开 Trim 文本框,如图 3.105 所示。在 Trim 文本框中输入裁剪 3.103 Divide 对话框 图 3.104 分割多边形要素的结果 图 3.105 Trim 文本框 88 的长度,并按 Enter 键(裁剪长度是从线要素的终结点起算的,如果需要从起始点起算, 可以先将线要素进行 Flip 翻转操作,然后再进行裁剪),线要素就会按照确定的长度裁剪, 在线要素旁单击左键,或单击右键,选择 Finish Sketch 命令结束操作。 3) 按照边界线裁剪线要素 单击 Task 箭头,选择 Extend/Trim Features(延长与裁剪要素)选项,单击 按钮, 在图形窗口中选择需要裁剪的线要素,单击 按钮,在图形窗口绘制一条草图线,作为 线要素裁剪的界限,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,结束边界线的 绘制。沿着所绘制的边界线方向右侧的线要素被裁剪。如图 3.106 所示。 4) 线要素翻转操作 线的延长与裁剪操作,都是按照线要素的终结点进行的,如果需要依据线要素的起始 结点进行延长或裁剪操作,就需要首先进行线要素的翻转操作(Flip),也就是改变线要素 的方向,使原来的起始结点变为终结点,原来的终结点变为起始结点。 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形窗口 中选择需要翻转的线要素,单击右键,选择 Flip 命令,线要素被翻转。 (5) 要素的变形与缩放 1) 要素变形操作 线要素和多边形要素的变形操作都是通过绘制草图完成的。在对线要素进行变形操作 时,草图线要与线要素相交,且草图线的两个端点应该位于线要素的一侧,而在对多边形 要素进行变形操作时,如果草图的两个端点位于多边形内,多边形将增加一块草图面积, 如果草图的两个端点位于多边形外,多边形将被裁剪一块草图面积。 单击 Task 箭头,选择 Reshape feature(要素变形操作)选项,单击 按钮,在图形 窗口中选择需要变形的要素(线或多边形),单击 按钮,根据要素变形的需要,在图形 窗口绘制一条草图线,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,被选要素就 会按照草图与原图的关系发生变形。如图 3.107、3.108 所示。 图 3.106 按照边界裁剪线要素[0] 绘制方向 89 2) 要素缩放操作 A 添加缩放工具按钮 在ArcMap 主菜单条上单击 Tools 命 令,打开 Tools 下拉菜单,单击 Customize 命令,打开 Customize 对话框,单击 Commands 标签,进入 Commands 选项 卡,在 Categorie 选项卡中选择 Editor, 在 Commands 选项卡中选择 Scale,如图 3.109 所示。按住左键拖动 Scael 命令到 Editor 工具条,释放左键,这时 按钮 出现在 Editor 工具条上。关闭 Customize 对话框。 B 执行要素缩放操作 单击 按钮,在图形窗口中选择需要缩放的要素(可以多选),单击 按钮,根据 需要移动要素选择锚位置,在要素上按住鼠标左键拖动到缩放的尺寸,释放左键,完成要 素缩放。 (6) 要素结点编辑操作 无论线要素还是面要素,都由若干结点组成,在数据编辑操作中,可以根据需要添加 结点、删除结点、移动结点,实现要素局部形态的改变。 图 3.109 Customize 对话框(Commands 选项卡) 图 3.107 草图的两个端点位于多边形内时的要素变形 图 3.108 草图的两个端点位于多边形外时的要素变形 90 1) 添加结点 l 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形 窗口中选择需要添加结点的要素; l 在任意位置插入结点。在需要添加结点的位置上单击右键,选择 Insert Vertex 命 令,一个结点就添加到了所选要素上; l 或者选择需要添加结点的要素(线或多边形),单击 按钮,在图形窗口添加新 的结点,系统从原要素终结点开始绘制一条草图线,双击左键,结束添加结点; l 在需要添加结点的位置上单击右键, 选择 Properties 命令,打开 Edit Sketch Properties 对话框,显示结点坐标。在 某 个结点坐标上单击右键,打开结点 操作快捷菜单,如图 3.110 所示,选 择 Insert Before 命令,在被选择点与 前一点中间添加了一个新结点,选择 Insert After 命令,在被选择点与后一 点中间添加了一个新结点。 2) 删除结点 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形窗口 中选择需要删除结点的要素( 线或多边形),在 需 要 删除结点的位置上单击右键,选择 Delete Vertex 命令,或者选择 Properties 命令,打开 Edit Sketch Properties 对话框,显示结点坐标, 参见图 3.110。按住 Shift 键或 Ctrl 键选中多个结点,单击右键,选择 Delete 命令或直接按 Delete 键就可删除多个结点。要素形状发生变化。 3) 移动结点 移动结点是改变要素形状的常用途径,移动结点可以使要素完全变形,也可以使要素 在保持基本几何形状的前提下拉伸。结点移动有以下 4 种方法: l 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形 窗口中选择需要移动结点的要素(线或多边形),在需要移动结点的位置上按住 左键,并将结点拖放到新的位置后释放左键。 l 在需要移动结点的位置上单击右键,选择 Move To 命令,在 打开的 Move To 窗口 中输入坐标,并按 Enter 键,结点按照输入的坐标移动到新的位置。 l 在需要移动结点的位置上单击右键,选择 Move 命令,在打开的 Move 窗口中输 入坐标增量,并按 Enter 键,结点输入的坐标增量移动到新的位置。 图 3.110 Edit Sketch Properties 对话框 91 l 在图形窗口中选择需要移动结点进行拉伸的要素,在 Editor 下拉菜单中,单击 Options 命令,打开 Editing Options 对话框,单击 General 标签进入 General 选项卡,如 图 3.111 所示。选中 Stretch geometry proportionately when move a vertex 复选框,单击确 定按钮,完成要素拉伸开关设 置,退出该对话框。在需要移 动结点的位置上按住左键,将 结点拖放到新的位置后释放左 键,结点被移位,要 素 被拉伸, 但要素形状基本保持不变。 2. 拓扑编辑 进行要素拓扑编辑之前,首先需要 创建拓扑,使具有共享边或点的要素按 照拓扑关系共享边或点,为拓扑关联的 保持或维护做准备。 创建了拓扑之后,拓扑关联要素之间就具有共享边或点,在编辑共享边或点的过程中, 拓扑关联的要素将自动更新其形状。 拓扑关系在空间数据的查询和分析中非常重要,进行拓扑编辑时,共享边或点的移动 或修改不会影响要素之间的相对空间关系,所以拓扑编辑经常应用于数据更新,如土地利 用类型的更新。 (1) 共享要素移动 在拓扑关系构建以后,就可以通过 按钮移动共享要素(Shared Features),包括共 享的边线要素和结点要素。在共享要素的选择与移动过程中,以高亮度显示的选择要素仅 仅是最上层的要素,在执行了移动之后,没有被选择的相关要素以及没有在地图中显示的 相关要素,同样会发生移动,以保持拓扑关联的一致性。 1) 共享结点的移动 单击 按钮,在图形窗口选中需要移动的共享结点,结点以高亮度显示,按住鼠标 左键将节点拖到新的位置释放左键,结点被移动。数据集中与其拓扑关联的边线与结点都 相应更新位置。如图 3.112 所示。 图 3.111 Editing Options 对话框 92 2) 共享边线的移动 单击 按钮,在图形窗口选中需要移动的共享边线,边线以高亮度显示,按住鼠标 左键将边线拖到新的位置释放左键,边线被移动。数据集中与其拓扑关联的边线与结点都 相应更新位置。如图 3.113 所示。 (2) 共享边线编辑 1) 共享边线变形 单击 Task 下拉箭头,选择拓扑任务(Topology Task)中的边线变形任务(Reshape Edge), 单击 按钮,在图形窗口选择需要变形的共享边线,边线以高亮度显示,单击 按钮, 根据边线变形的需要,在图形窗口绘制边线变形草图线,该草图线应与共享边线两次相交。 双击左键,结束草图线绘制,共享边线发生变形,与该边线拓扑关联的边线与结点都将变 形。如图 3.114 所示。 2) 共享边线修改 单击 Task 下拉箭头,选择边线修改任务(Modify Edge),单击 按钮,在图形窗口 选择需要修改的共享边线,边线以高亮度显示,根据需要对边线进行修改,包括结点的添 图 3.112 共享结点的移动 3.113 共享边线的移动 图 3.114 共享边线变形 93 加、删除、移动等操作。单击右键,选择 Finish Sketch 命令,共享边线被修改,与该边线 具有拓扑关联的边线与结点都被自动更新。如图 3.115 所示。 (3) 共享多边形生成 利用共享边线特性和多边形自动闭合任务(Auto-Complete Polygon),可以生成共享的 多边形,该多边形与原有的要素自动建立共享结点和共享边线。 具体过程如下: 单击 Task 下拉箭头,选择多边形自动闭合任务(Auto-Complete Polygon)任务,单击 需要生成新多边形的数据层,单击 按钮,绘制一条起点与终点与已有的多边形边线相 交的草图线,双击左键,结束草图线绘制,生成共享多边形。与已有多边形边线相交的出 头线将自动被裁剪(Trim)。如图 3.116 所示。 3.4.2 属性编辑 属性编辑包括对单要素或多要素属性进行添加、删除、修改、复制或粘贴等多种编辑 操作,通常有三种方式: 1. 单击 按钮,在图形窗口中选择需要编辑属性的要素(可以多选),单击右键,再单 击 Attributes 按钮,打开 Attributes 对话框,如图 3.117 所示。 2. 在 Attributes 对话框中,左窗口显示被选择的要素,右窗口显示属性字段及其属性值。 在左边窗口中,右键单击所选择的要素,打开选择属性操作快捷菜单,如图 3.118 所 图 3.116 共享多边形生成 图 3.115 共享边线修改 94 示。包括 Highlight、 Zoom To、 Copy、 Paste、 Unselect、Delete 五个命令。 3. 单击显示工具条中的 按钮,打开 Identify Results 对话框,完成对属性数据的浏览 与编辑,如图 3.119 所示。 4. 在 ArcMap 视图中,右键单击需要进行属性编辑的数据图层,单击 Open Attribute Table 命令,如图 3.120 所示,打开图层的属性表,如图 3.121 所示。单击 Options 按钮,如 图 3.122 所示,可以进行增加字段、关联表、属性表导出等操作。 图 3.118 Attributes 对话框(属性数据编辑) 图 3.117 Attributes 对话框(属性数据浏览) 图 3.119 Identify Results 对话框 图 3.120 打开图层的属性表 95 3.5 实例与练习 练习 1:某地区地块的拓扑关系建立 1. 背景:拓扑关系对于数据处理和空间分析具有重要意义,拓扑分析经常应用于地块查 询、土地利用类型更新等。 2. 目的:通过本例,让读者掌握创建一个要素数据集的拓扑关系的具体流程,包括拓扑 创建、拓扑错误检测、拓扑错误修改、拓扑编辑等基本操作。 3. 要求:在 Topology 数据集中导入两个 Shapefile,建立该要素数据集的拓扑关系,进行 拓扑检验后可以检测出拓扑错误,修改拓扑错误,并进行拓扑编辑。 4. 数据:Blocks.shp、Parcels.shp,分 别 为 某 地 区 的 总 体 规 划 和 细 节 规 划 的地块矢量数据, 存放在随书光盘…/ChP3/Ex1 中。结果数据存放于…/ChP3/Ex1/Result 中。 5. 操作步骤(流程如图 3.123 所示): 图 3.121 图层的属性表 图 3.122 Options 按钮 图 3.123 创建拓扑的流程图 创建本地 Geodatabase 创建数据集 导入两个 Shapefile 分别对两个要素类建立子类型 创建拓扑 拓扑检验 修改拓扑错误 96 (1) 创建 Geodatabase 1) 在 ArcCatalog树中,右键单击 Result 文件夹,单击 New,单击 Personal Geodatabase, 如图 3.124 所示。输入所建的 Geodatabase 名称:NewGeodatabase。在新建的 Geodatabase 中创建要素数据集,如图 3.125 所示; 2) 打开 New Feature Dataset 对话框,如图 3.126 所示。将数据集命名为:Topology; 3) 单击 Edit 按钮,打开 Spatial Reference 属性对话框,如图 3.127 所示; 图 3.126New Feature Dataset 对话框 图 3.127 Spatial Reference 属性对话框 图 3.124 创建 Geodatabase 图 3.125 创建要素数据集 97 4) 单击 Import 按钮,选择要与之具有相同坐标系统的数据集:Blocks.shp 或 Parcels.shp,如图 3.128 所示; 5) 单击 Add 按钮,返回 Spatial Reference 属性对话框。这时要素数据集定义了坐标 系统。单击确定按钮。 (2) 向数据集中导入数据 1) 在 ArcCatalog 树中,右键单击 Result 文件夹中的 Topology 数据集,单击 Import, 单击 Feature Class(multiple),如图 3.129 所示; 2) 打开 Feature Class to Geodatabase(multiple)对话框,如图 3.130 所示。导入 Blocks 和 Parcels,单击 OK 按钮; (3) 在要素类中建立子类型 由于要创建地块的拓扑关系,所以要把要素分为居民区和非居民区两个子类型, 即把两个要素类的 Res 属性字段分为 Residential 和 Non-Residential 两个属性代码值 域,分别代表居民区和非居民区两个子类型。 图3.128 匹配坐标系统 图 3.129 向数据集中导入数据 图 3.131 建立子类型 图 3.130 Feature Class to Geodatabase(multiple)对话框 98 1) 在 Blocks 要素类上单击右键,单击 Properties,如图 3.131 所示。打开 Feature Class Properties 对话框,如图 3.132 所示; 2) 打开 Feature Class Properties 对话框(Subtypes 选项卡)。在 Subtypes Field 下拉框 中选择一个子类型字段:Res,在 Subtypes 栏中的 Code 列下输入新的子类型代码 及其描述,描述将自动更新 Default Subtypes 窗口中的内容。如图 3.133 所示; 3) 重复上述步骤,添加两个子类型:Residential 和 Non-Residential。单击确定按钮; 4) 以相同的方法在 Parcels 要素类中建立两个子类型:Residential 和 Non-Residential。 (4) 创建拓扑 1) 在 ArcCatalog 树中, 右键单击 Topology 要素数据集,单击 New , 单击 Topology 。 如 图 3.134 所 示 。 打开 New Topology 对话 框,它是对创建拓扑 的简单介绍,如图 3.135 所示; 2) 单击下一步按钮,打 图 3.134 创建拓扑 图 3.133 添加了两个子类型 图 3.132 Feature Class Properties 对话框 99 开设置名称和聚类容限(Cluster Tolerance)对话框,如图 3.136 所示。输入所创 建拓扑的名称和聚类容限。聚类容限应该依据数据精度而尽量小,它决定着在多 大范围内要素能被捕捉到一起; 3) 单击下一步按钮,打开选择参与创建拓扑的要素类对话框,如图 3.137 所示。选 择参与创建拓扑的要素类(至少两个); 4) 单击下一步按钮,打开设置拓扑等级数目对话框,如图 3.138 所示。设置拓扑等 级的数目及拓扑中每个要素类的等级; 5) 单击下一步按钮,打开设置拓扑规则对话框,单击 Add Rule 按钮,打开 Add Rule 对话框,如图 3.139 所示。在 Features of feature class 下拉框中选择 Parcels 中的 Non-Residential,在 Rules 下拉框中选择 Must Not Overlap With,在 Feature class 下拉框中选择 Blocks 中的 Residential。这个拓扑规则表示 Parcels 中 的非居住区 必须与 Blocks 中的居住区不重叠。即细节规划不能与总体规划冲突; 图 3.135 New Topology 对话框 图 3.136 设置名称和聚类容限对话框 图 3.138 设置拓扑等级数目对话框 图 3.137 选择参与创建拓扑的要素类对话框 100 6) 单击 OK 按钮,返回设置拓扑规则对话框,单击下一步按钮,打开参数信息总结 框,检查无误后,单击完成按钮,出现进程条,当进程结束时,拓扑创建完成; 7) 出现一对话框,询问是否立即进行拓扑检验。如图 3.140 所示。单击否按钮,在 以后的工作流程中再进行拓扑检验,创建的拓扑出现在 Catalog 树中;单击是按 钮,出现进程条,进程结束时,拓扑检验完毕,这是一个没有拓扑错误的拓扑关 系,创建的拓扑出现在 Catalog 树中。 (5) 查找拓扑错误 1) 在 ArcMap 中加载数据 creatingTopology、Parcels 和 Blocks 三层,如图 3.141 所示。 2) 在 ArcMap 视图中出现四个深 色方块,即是产生拓扑错误的 地方。如图 3.142 所示; 3) 将 Parcels 图层设为可编辑状 态。调入 Topology 工具栏,如 图 3.143 所示。在 Topology 下 拉框中选择要编辑的拓扑图 层 creatingTopology; 图 3.140 询问是否进行拓扑检验 图 3.139 设置拓扑规则对话框 图 3.141 加载数据 101 4) 单击 Topology 工具栏中的 检测拓扑错误按钮,打开 Error Inspector 对话框, 并单击 Search Now 按钮,即可检查出拓扑错误,并在下方的表格中显示拓扑错 误的详细信息。如图 3.144 所示; (6) 修改拓扑错误 1) 当 Parcels 中的非居住区与 Blocks 中的居住区重叠时,产生拓扑错误。为了修改 拓扑错误,可以把产生拓扑错误的 Parcels 中的 Non-Residential 改为 Residential。 单击 按钮,选中产生拓扑错误的要素,再单击 按钮,打开属性表,如图 图 3.144 Error Inspector 对话框 图 3.143 Topology工具栏 图 3.142 在 ArcMap 中显示拓扑错误的地方 102 图 3.145 所 示 ,将 Res 字段 改为 Residential; 2) 拓扑修改后需要重新进行拓 扑 检 验 ,可以通过单击 Topology 工具栏中的 按 钮,在图面上的指定区域进 行拓扑检验、单击 按钮可 以在当前可见图面进行拓扑 检验、单击 按钮可以在整个区域进行拓扑检验。单击 Topology 工具栏中的 按钮,对当前可见图面的进行拓扑检验,这时可以看到图形窗口中的拓扑错误只 剩三个。按照第一步,修改其余三个拓扑错误。 也可以把 Blocks 层设为编辑状态,把产生拓扑错误的 Blocks 中的 Residential 改为 Non-Residential。再进行拓扑检验即可。 (7) 拓扑编辑 拓扑编辑包括共享结点的移动、共享边线的移动、共享边线变形、共享边线修改和共 享多边形生成。在这里介绍共享结点的移动和共享边的变形,其他的编辑参见 3.4.1。 1) 将 Parcels 设置为可编辑状态,将视图放大到一定比例,单击 Topology 工具栏中 的 按钮,选择要进行拓扑编辑的要素,进行移动、修改等操作。如图 3.146 所示,选中了一个点并移动这个点。 2) 在 Task 下拉窗口中选择 Topology Tasks 中的 Reshape Edges 任务,在 Target 选择 目标图层为 Parcels。单击 按钮,在视图中选中一条边要素,再单击 按钮, 画一条草图线与所选边两次相交,共享边就会发生变形,如图 3.147 所示。 图 3.146 共享结点的移动 图 3.145 打开属性表 103 练习 2: 某市区几何网络的建立 1. 背景:现实世界中,人员的流动、货物的流通、信息的传递、能量的传输等都是通过 可确定的网络系统来进行的。如何构建几何网络是网络系统的最基础的问题,也是最 核心的问题。 2. 目的:通过本练习,使读者掌握根据已有要素来建立几何网络的详细过程,进而对数 据库的创建有更全面的认识。 3. 数据:某 城市交通网络(net.shp)、商业中心(center.shp)、旅游景点(famousplace.shp), 存放于随书光盘中…/ChP3/Ex2 中,请将其拷贝到 E:/ChP3/Ex2。结果数据存放 于…/ChP3/Ex2/Result 中。 4. 操作步骤(流程如图 3.148 所示): 图 3.147 共享边的变形 104 (1) 数据准备 1) 在 ArcCatalog 树中,右键单击已经建好的 NewGeodatabase,单击 New,单击 Feature Dataset 命令,如图 3.149 所示; 2) 打开 New Feature Dataset 对话框,在 Name 文本框中为新建数据集输入名称:City, 如图 3.150 所示; 3) 单击 Edit 按钮,打开 Spatial Reference 属性对话框,单击 Import 按钮,打开 Browse 图 3.150 New Feature Dataset 对话框 图 3.151 为数据集匹配坐标系统 图 3.149 新建要素数据集 创建本地 Geodatabase 创建数据集 导入三个 Shapefile 建立几何网络 定义网络规则 添加新的几何网络要素类 图 3.148 建立几何网络的流程图 105 for Dataset 对话框,为新建要素集匹配坐标系统,选择 net.shp(或 center.shp、 famouspalce.shp)如图 3.151 所示; 4) 单击 Add 按钮,返回 Spatial Reference 属性对话框,如图 3.152 所示。单击确定 按钮,返回 New Feature Dataset 对话框; 5) 单击 OK 按钮,数据集建立 完毕; 6) 在 ArcCatalog 树中,右键单 击 City 数据集,单击 Import, 选择 Feature Class(multiple) 命令。如图 3.153 所示; 7) 打开 Feature Class to Geodatabase(multiple) 对 话 框,将 net.shp、center.shp 和 famouspalce.shp 三个 Shapefile 导入到数据集中。 如图 3.154 所示。单击 OK 按 钮。 (2) 建立几何网络 1) 在 ArcCatalog 目录树中,右键单击 City 要素数据集,单击 New,单击 Geometric Network 命令,如图 3.155 所示。打开 Build Geometric Network Wizard 对话框, 图 3.152 Spatial Reference 属性对话框 图 3.153 向数据集导入数据 图 3.154 Feature Class to Geodatabase(multiple)对话框 106 如图 3.156 所示; 2) 单击 Next 按钮,打开选择如何建立几何网络的对话框,如图 3.157 所示。选择 Build a geometric network from exiting features 单选按钮,用已有要素建立几何网 络; 3) 单击 Next 按钮,打开选择几何网络要素类对话框,如图 3.158 所示。选择需要在 几何网络中包含的要素类,并为新的几何网络输入名称; 4) 单击 Next 按钮,设置网络要素是否有效的对话框,如图 3.159 所示。选择 No 单 选按钮,所有的网络要素有效;选择 Yes 单选按钮,保留 Enabled 字段里现有的 属性值; 图 3.155 建立几何网络 图 3.156 建立几何网络向导 图 3.157 选择用已有要素建立几何网络 107 5) 单击 Next 按钮,打开选择变成复杂边的要素类对话框,如图 3.160 所示。选择 Yes 单选按钮,输入的线要素类变成复杂的边,并选择需要变成复杂边的线要素 类,没有选中的线要素是简单边; 6) 单击 Next 按钮,打开网络要素自动捕捉对话框,如图 3.161 所示。如果需要让输 入要素在网络建立过程中被自动调整并捕捉,选择 Yes 单选按钮,输入捕捉容限 值(Snap Tolerance)。选择需要被自动调整并捕捉的要素类; 7) 单击 Next 按钮,打开设置连接要素类型对话框,如图 3.162 所示。如果需要让连 接要素类中的一些要素作为源或汇,选择 Yes 单选按钮,并选择需要存储源 (Source)或汇(Sink)的连接要素; 8) 单击 Next 按钮,打开设置网络权重对话框,如图 3.163 所示。权重是通过边线或 连接的成本,它只能基于长整型或双精度型数据类型创建。如果需要在网络中添 加权重,选择 Yes 单选按钮,单击 按钮添加新权重,单击 按钮可以删除 图 3.158 选择几何网络要素类 图 3.159 设置网络要素是否有效 图 3.160 选择变成复杂边的要素类 图 3.161 网络要素自动捕捉对话框 108 已经添加的权重。为添加的权重确定名称(Weight Name)和类型(Type);如果 不想在网络中添加权重,选择 No 单选按钮。这里添加了三个权重:yuzhi、length 和 minutes,类型都是双浮点型; 9) 单击 Next 按钮,打开分配网络权重对话框,如图 3.164 所示。把这些权重分配给 每一个要素类的特定字段; 10) 在 Available network 的下拉框中选择网络权重,在 Associated field 列下选择分配 权重的要素类字段。如果选择 None,则要素类不分配权重; 在本例中,设置了三个权重,与 yuzhi 关联的字段是 center 要素类中的 YUZHI 字段; 与 length 关联的字段是 net 要素类中的 METERS 字段;与 minutes 关联的字段是 net 要素 类中的 MINUTES 字段。设置网络权重并分配给属性字段,是在建好几何网络后,进行网 络分析的最小成本计算时起作用。 11) 单击 Next 按钮,打开网络设置总结信息框,如图 3.165 所示。确认无误后, 单击 Finish 按钮,完成新的几何网络的建立; 图 3.163 设置网络权重对话框 图 3.162 选择需要存储源或汇的连接要素 图 3.165 网络设置总结信息框 图 3.164 分配网络权重对话框 109 图 3.166 在 Catalog 树中的结果显示 12) 在 Catalog 树中 City 要素集中产生两个新的类,一个是 City_Net(几何网络 类);另一个是 City_Net_Junctions(网络上连接要素类)。如图 3.166 所示。 建立几何网络之后,可以向网络中添加边要素类和连接要素类,方法与建立简单要素 类相似。还可以添加网络规则或连通规则。连通规则有 Edge-Edge 边-边规则和 Edge-Junction 边-连接规则两种。 添加边-边规则需要指定边与边之间的默认连接点,当在 ArcMap 中编辑这两条边时, 会自动在两条边的连通处添加一个默认的连接点;添加边-连接规则定义了边与连接点之间 连通的对应关系,可以设置某个连接点可以连接多少条边,以及某条边可以连接多少个连 接点。添加连通规则可以使数据编辑或更新时速度快,并可以在 ArcMap 中验证几何网络 中的要素是否为合法连接。 110 第四章 空间数据的转换与处理 空间数据是 GIS 的一个重要组成部分。整个 GIS 都是围绕空间数据的采集、加工、存 储、分析和表现展开的。原始数据往往由于在数据结构、数据组织、数据表达等方面与用 户自己的信息系统不一致而需要对原始数据进行转换与处理,如投影变换,不同数据格式 之间的相互转换,以及数据的裁切、拼接等处理。以上所述的各种数据转换与处理均可以 利用 ArcToolbox 中的工具实现。在 ArcGIS9 中,ArcToolbox 嵌入到了 ArcMap 中。本章就 投影变换、数据格式转换、数据裁切与拼接等内容分别介绍。 4.1 投影变换 由于数据源的多样性,当数据与研究、分析问题的空间参考系统(坐标系统、投影方 式)不一致时,就需要对数据进行投影变换。同 样 ,在完 成 本身有投影信息的数据采集时, 为了保证数据的完整性和易交换性,要定义数据投影信息。以下就地图投影及投影变换的 概念做简单介绍,之后分别讲述在 ArcGIS 中如何实现地图投影定义及变换。 空间数据与地球上的某个位置相对应。对空间数据进行定位,必须将其嵌入到空间参 照系中。因为 GIS 描述的是位于地球表面的信息,所以根据地球椭球体建立的地理坐标(经 纬网)可以作为空间数据的参照系统。而地球是一个不规则的球体,为了能够将其表面内 容显示在平面的显示器或纸面上,就必须将球面地理坐标系统变换到平面投影坐标系统 图 4.1 椭球体表面投影到平面的微分梯形 λ λ+dλ φ φ+dφ A B C D A’ B’ C’ D’ Y X O 投影 111 图 4.3 Define Projection 对话框 (图 4.1)。因此,运用地图投影方法,建立地球表面上和平面上点的函数关系,使地球表 面上由地理坐标确定的点,在平面上有一个与它相对应的点。地图投影的使用保证了空间 信息在地域上的联系和完整性。 当系统使用的数据取自不同地图投影的图幅时,需要将一种投影数据转换为所需投影 的坐标数据。投影转换的方法可以采用以下几种方法: 1. 正解变换: 通过建立一种投影变换为另一种投影的严密或近似的解析关系式,直接由 一种投影的数字化坐标 x、y 变换到另一种投影的直角坐标 X、Y。 2. 反解变换: 即由一种投影的坐标反解出地理坐标(x、y→B、L),然后再将地理坐标代 入另一种投影的坐标公式中(B、L→X、Y),从而实现由一种投影的坐标到另一种投 影坐标的变换(x、y→X、Y)。 3. 数值变换: 根据两种投影在变换区内的若干同名数字 化点,采用插值法、有限差分法、最小二乘法、有限元 法和待定系数法等,从而实现由一种投影的坐标到另一 种投影坐标的变换。 目前,大多数 GIS 软件是采用正解变换法完成不同投影 之间的转换,并提供常见投影之间的转换。 借助 ArcToolbox 中 Projections and Transformations 工具集中的工具(图 4.2),可以实现定义及变换数据的空间 参照系统,以及栅格数据的多种变换,例如翻转(Flip)、 旋转(Rotate)和移动(Shift)等操作。 4.1.1 定义投影 定义投影(Define Projection),指按照地图信息源原有的投影方式,为数据添加投影 信息。具体操作如下: 1. 展开 Data Management Tools 工具 箱 , 打 开 Projections and Transformations 工具集,双击 Define Projection 工具,打开 Define Projection 对话框(图 4.3); 2. 在 Input Dataset or Feature Class 文本 框中选择需要定义投影的数据; 3. Coordinate System 文本框显示为 Unknown,表 明 原始数据没有定义坐标系统。单击 Coordinate System 文本框旁边的 图标,打开 Spatial Reference 属性对话框(图 4.4),设置数据的投影参数; 图 4.2 投影变换工具 112 4. 定义投影的三种方法如下: (1) 单击图 4.4 中的 Select 按钮,打开 Browe for Coordinate System 对话框 (图 4.5),为数据选择坐标系统。其 中 坐标系统分为地理坐标系统 (Geographic Coordinate Systems)和 投影坐标系统(Projected Coordinate Systems)两种类型。地理坐标系统利 用地球表面的经纬度表示;投影坐标 系统利用数学换算将三维地球表面上 的经纬度坐标转换到二维平面上。在 定义坐标系统之前,要了解数据的来 源,以便选择合适的坐标系统; (2) 当已知原始数据与某一数据的投影相 同时,可 单 击 图 4.4 中的 Import 按钮, 浏览具有某坐标系统的数据,用该数 据的投影信息来定义原始数据; (3) 单击图 4.4 中的 New 按钮,新建坐标系统。同样可以新建地理坐标系统和投影坐标 系统。图 4.6 为 New Geographic Coordinate System 对话框,定义地理坐标系统包括 定义或选择参考椭球体、测量单位和起算经线。图 4.7 为 New Projected Coordinate System 对话框。定义投影坐标系统,需要选择投影类型、设置投影参数及测量单位, 其中投影参数包括投影带的中央经线和坐标纵轴西移的距离等。因为投影坐标系统 是以地理坐标系统为基础的,在定义投影坐标系统时,还需要选择或新建一个地理 坐标系统,单击 New 按钮则会打开图 4.6 的 New Geographic Coordinate System 对话 框,新建地理坐标系统。 5. 定义投影后,则回到图 4.3 Spatial Reference 属性对话框,在 Detail 下的窗口中可浏览 到投影的详细信息。单击 Modify 按钮可修改已定义的投影,单击 Clear 按钮则清除原 图 4.4 Spatial Reference 属性对话框 图 4.5 Browe for Coordinate System 对话框 113 有投影,以便重新定义投影; 6. 单击 OK 按钮,完成操作。 为 Coverage 数据定义投影的方法相似,可使用 Coverage Tools 工具箱,Data Management 中的 Projections 工具集,Define Projection 命令。 4.1.2 投影变换 投影变换(Project)是将一种 地图投影转换为另一种地图投影, 主要包括投影类型、投影参数或椭 球体等的改变。在 ArcToolbox 的 Data Management Tools- Projections and Transformations 工具集中分为 栅格和要素类两种类型的投影变 换,其中对栅格数据实施投影变换 时,要进行重采样处理。 1. 栅格(Raster)数据的投影变换 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 图 4.8 Project Raster 对话框 图 4.6 New Geographic Coordinate System 对话框 图 4.7 New Projected Coordinate System 对话框 114 工具集,双击 Project Raster,打开 Project Raster 对话框(图 4.8); (2) 在 Input raster 文本框中选择输入进行投影变换的栅格数据; (3) 在 Output raster 文本框键入输出的栅格数据的路径与名称; (4) 单击 Output coordinate system 文本框旁边的 图标,打开 Spatial Reference 属性对 话框(图 4.9),定义输出数据的投影。该对话框 Coordinate System 的界面与图 4.4 的界面一样,所进行的操作也相同;在对话框的 X/Y Domain 界面下,可以设置坐标 的范围及坐标值所需要的精度; (5) 变换栅格数据的投影类型,需要重采样数据。Resampling technique 是可选项,用以 选择栅格数据在新的投影类型下的重采样方式,默认状态是 NEAREST,最邻近采样 法; (6) Output cell size 定义输出数据的栅格 大小,默认状态下与原数据栅格大小 相同;支持直接设定栅格大小,或通 过选择某栅格数据来定义栅格大小, 则输出数据的栅格大小与该数据相 同; (7) 单击 OK 按钮,完成操作。 2. 要素类(Feature)数据的投影变换 (1) 展开 Data Management Tools 工具 箱 , 打 开 Projections and 图 4.9 Spatial Reference 属性对话框 图 4.10 Project 对话框 115 Transformations 中的 Feature 工具集,双击 Project,打开 Project 对话框(图 4.10); (2) 在 Input Dataset or Feature Class 文本框中选择进行投影变换的矢量数据; (3) 在 Output Dataset or Feature Class 文本框键入输出矢量数据的路径与名称; (4) 单击 Output coordinate system 文本框旁边的 图标,打开 Spatial Reference 属性对 话框,定义输出数据的投影。该对话框与图 4.4 相同,所进行的操作也相同; (5) 单击 OK 按钮,完成操作。 该命令同样适用于地理数据库中的要素类。为 Coverage 数据定义投影的方法相似,可 使 用 Coverage Tools 工具箱,Data Management 中的 Projections 工具集,Project 命令。 4.1.3 数据变换 数据变换是指对数据进行诸如放大、缩小、翻转、移动、扭曲等几何位置、形状和方 位的改变等操作。对矢量数据的相应操作在 ArcMap 中 Editor 工具条的若干工具实现(详 见第三章)。而 栅 格数据的相应操作则集中于 ArcToolbox 的 Projections and Transformations 工具集中,以下分别介绍栅格数据翻转(Flip)、镜像(Mirror)、重设比例尺(Rescale)、 旋转(Rotate)、移动(Shift)和扭曲(Warp)等变换。 1. 翻转(Flip):是指将栅格数据沿通过数据中心点的水平轴线,将数据进行上下翻转。 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Flip,打开 Flip 对话框(图 4.11); (2) 在 Input raster 文本框中选择翻转变换的数据; 翻转 图 4.12 翻转(Flip)的图解表达 图 4.11 Flip 对话框 116 (3) 在 Output raster 文本框中键入输出文件的路径和名称; (4) 单击 OK 按钮,完成操作(图 4.12)。 2. 镜像(Mirror):是指将栅格数据沿通过数据中心点的垂直轴线,将数据进行左右翻 转。 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Mirror,打开 Mirror 对话框(图 4.13); (2) 在 Input raster 文本框中选择镜像变换的数据; (3) 在 Output raster 文本框中键入输出文件的路径和名称; (4) 单击 OK 按钮,完成操作(图 4.14)。 3. 重设比例尺(Rescale):是指将栅格数据按照指定比例分别沿 X 轴和 Y 轴放大或缩小。 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Rescale,打开 Rescale 对话框(图 4.15); (2) 在 Input raster 文本框中选择重设 比例尺的数据; (3) 在Output raster 文本框中键入输出 文件的路径和名称; (4) 在 X scale factor 文本框设置数据 在 x 方向上的比例系数,值必须大 于 0; 图 4.14 镜像(Mirror)的图解表达 镜像 图 4.13 Mirror 对话框 图 4.15 Rescale 对话框 117 (5) 在 Y scale factor 文本框设置数据在 y 方向上的比例系数,值也必须大于 0; (6) 单击 OK 按钮,完成操作(图 4.16)。 4. 旋转(Rotate):是指将栅格数据沿 着指定的中心点旋转指定角度。 (1) 展开 Data Management Tools 工具 箱 , 打 开 Projections and Transformations 中的 Raster 工具 集,双击 Rotate,打开 Rotate 对 话框(图 4.17); (2) 在 Input raster 文本框中选择旋转 的数据; (3) 在 Output raster 文本框中键入输 出文件的路径和名称; (4) 在 Angle 文本框中设置旋转的角 度; (5) Pivot point 为可选项,设置旋转中心点的 X、Y 坐标,默认状态的旋转中心点是所输 图 4.16 重设比例尺(Rescale)的图解表达 重设比例尺 图 4.18 旋转(Rotate)的图解表达 旋转 图 4.17 Rotate 对话框 118 入栅格数据的左下角点; (6) 旋转栅格数据,需要进行重采样。Resampling technique 是可选项,默认状态是 NEAREST,最邻近采样法; (7) 单击 OK 按钮,完成操作(图 4.18)。 5. 移动(Shift):是指将栅格数据分别沿 X 轴和 Y 轴移动指定的距离。 (1) 展开 Data Management Tools 工具 箱 , 打 开 Projections and Transformations 中的 Raster 工具 集,双击 Shift,打开 Shift 对话框 (图 4.19); (2) 在Input raster 文本框中选择需移动 的数据; (3) 在 Output raster 文本框中键入输出 文件的路径和名称; (4) 在 Shift x coordinates by 文本框设 置在 x 方向上移动的距离; (5) 在 Shift y coordinates by 文本框设 置在 y 方向上移动的距离; (6) Input snap raster 为可选项,可以浏览确定某一栅格数据,与结果数据合并; (7) 单击 OK 按钮,完成操作(图 4.20)。 6. 扭曲(Warp):是指将栅格数据通过输入的控制点进行多项式变换。 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Warp,打开 Warp 对话框(图 4.21); (2) 在 Input raste 文本框中选择输入进行 Warp 的数据; (3) 在 Source control points 的 X Coordinate 和 Y Coordinate 文本框中分别键入原数据控 制点的 x、y 坐标。单击加号按钮,可将输入的值添加到下面的窗口列表中,以便进 行多次输入;单击叉号,删除在选择状态下的那组 x、y 坐标;单击上下箭头,对在 图 4.20 移动(Shift)的图解表达 移动 图 4.19 Shift 对话框 119 选择状态下的那组 x、y 坐标进行上下调整; 120 (4) 同 样 ,在 Input target control points 的 X Coordinate 和 Y Coordinate 文本框中分 别键入目标数据控制点 的 x、y 坐标,操作同上 一步; (5) 在 Output raster 文本框中 键入输出文件的路径和名 称; (6) 在Transformation type可选 窗口选择数据转换的类 型,即拟合多项式的次数 (默认状态是 1 次多项 图4.21 Warp 对话框 原数据 一次多项式 二次多项式 三次多项式 图 4.22 扭曲(Warp)的图解表达 121 式); (7) 对栅格数据进行扭曲处理,要求重采样数据。Resampling technique 是可选项,默认 状态是 NEAREST,即最邻近采样法; (8) 单击 OK 按钮,完成操作(图 4.22)。 4.2 数据格式转换 ArcGIS 中的空间数据主要有两种类型,一是基于文件的空间数据;二 是 基 于数据库的 空间数据。其中基于文件的空间数据类型包括对多种 GIS 数据格式的支持,如 Coverage, Shapefile,Grid,Image 和 TIN。Geodatabase 数据模型也可以在数据库中管理同样的空间 数据类型。 表 1 ArcGIS 中的数据类型 基于文件的空间数据 基于数据库的空间数据 Coverages Oracle Shapefiles Oracle with Spatial Grids DB2 with its Spatial Type TINs Informix with its Spatial Type Images(各种格式的) SQL Server Vector Product Format (VPF) files Personal Geodatabases(微软的 Access) CAD 文件 表(各种格式的) 表 1 是一些 ArcGIS 中可以直接使用的数据类型。通过数据转换工具和扩展可以实现 对更多的数据类型的支持。GIS 数据也可以在 Web 上通过 XML 和 Web 数据格式进行传输, 如 Geodatabase XML,ArcXML,SOAP,WMS,WFS 等。 在 ArcGIS(包括 ArcView,ArcEditor 和 ArcInfo)中支持的数据类型: Shapefiles、Geodatabases、ArcInfo coverages、ArcIMS feature services、ArcIMS map services、Geography Network connections、PC ARC/INFO coverages、SDE layers、TIN、DXF、 DWG (through v2004)、DGN (through v8)、VPF、文本文件(*.txt)、OLE DB 表、SDC; 其中栅格数据类型支持下列格式: l ADRG 系列的文件:Image(.IMG)、Overview(.OVR)、Legend(.LGG); l ESRI 系列的文件:GRID、SDE Raster、Raster Catalogs(Image Catalogs)、Band Interleaved by Line(.BIL)、Band Interleaved by Pixel(.BIP)、Band Sequential(.BSQ)、 Band Sequential(.BSQ)、GRID Stack ()、GRID Stack File (.STK); l ERDAS 系列的文件:Imagine(.IMG)、7.5 Lan(.LAN)、7.5 GIS(.GIS)、Raw(.RAW); 其它文件格式:Windows 位图(.BMP)、Controlled Image Base(CIB)、压缩的 ARC 数 122 字栅格图形(CADRG)、数字地理信息交换标准(DIGEST)、DTED Level 0, 1, and 2 (.DT*)、 ER Mapper(.ERS)、图形交换格式(.GIF)、Intergraph raster file (.CIT or .COT)、JPEG 文件交 换格式 JIFF (.JPG) 及 JPEG 2000 (.JP2)、美国图象转换格式 NITF 2.0 and 2.1 (.NTF)、 Portable Network Graphics (.PNG)、LizardTech MrSID and MrSID Gen 3 (.SID)Tagged Image File Format, TIFF (.TIF)。 空间数据的来源很多,如地图、工程图、规划图、照片、 航空与遥感影像等,因此空间数据也有多种格式。根据应用需 要,转换数据的格式。转换是数据结构之间的转换,而数据结 构之间的转化又包括同一数据结构不同组织形式间的转换和 不同数据结构间的转换。其中,不同数据结构间的转换主要包 括矢量到栅格数据的转换和栅格到矢量数据的转换。如图 4.23 所示,利用数据格式转换工具,可以转换 Raster、CAD、 Coverage、Shapefile 和 GeoDatabase 等多种 GIS 数据格式。 4.2.1 数据结构转换 地理信息系统的空间数据结构主要有栅格结构和矢量结 构,它们是表示地理信息的两种不同方式。栅格结构是最简单最直观的空间数据结构,又 称为网格结构(raster 或 grid cell)或象元结构(pixel),是指将地球表面划分为大小均匀 紧密相邻的网格阵列,每个网格作为一个象元或象素,由行、列号定义,并包含一个代码, 表示该象素的属性类型或量值,或仅仅包含指向其属性记录的指针。因此,栅格结构是以 规则的阵列来表示空间地物或现象分 布的数据组织,组织中的每个数据表 示地物或现象的非几何属性特征。矢 量结构是通过记录坐标的方式尽可能 精确地表示点、线、多边形等地理实 体。在地理信息系统中栅格数据与矢 量数据各具特点与适用性,为了在一 个系统中可以兼容这两种数据,以便 于进一步的分析处理,常需要实现两 种结构的转换。 1. 栅格数据向矢量数据的转换 栅格向矢量转换的目的,是为了将栅格数据分析的结果,通过矢量绘图装置输出,或 者为了数据压缩的需要,将大量的面状栅格数据转换为由少量数据表示的多边形边界。 根据具体描述对象的不同,栅格数据可以转换为点状、线状和面状的矢量数据 。下 面以栅格数据转换为面状矢量数据为例进行说明,其他两种转换操作大同小异,这里不再 具体说明。 (1) 展开 Conversion Tools 工具箱,打开 From Raster 工具集,双击 Raster to Polygon,打 图 4.23 数据格式转换工具 图 4.24 Raster to Polygon 对话框 123 开 Raster to Polygon 对话框(图 4.24); (2) 在 Input raster 文本框中选择需要转换的栅格数据; (3) 在Output Polygon Features文本框键入 输出的面状矢量数据的路径与名称; (4) 选择 Simplify Polygons 按钮(默认状 态是选择),可以简化面状矢量数据的 边界形状; (5) 单击 OK 按钮,完成操作(图 4.25)。 2. 矢量数据向栅格数据的转换 许多数据如行政边界、交通干线、土地利用类型、土壤类型等都是用矢量数字化的方 法输人计算机或以矢量的方式存在计算机中,表现为点、线、多边形数据。然而,矢量数 据直接用于多种数据的复合分析等处理比较复杂,特别是不同数据要在位置上一一配准, 寻找交点并进行分析。相比之下利用栅格数据模式进行处理则容易得多。加之土地覆盖和 土地利用等数据常常从遥感图像中获得,这些数据都是栅格数据,因此矢量数据与它们的 叠置复合分析更需要把矢量数据的形式转变为栅格数据的形式。矢量数据的基本坐标是直 角坐标 X、Y,其坐标原点一般取图的左下角。网格数据的基本坐标是行和列(i,j),其坐标 原点一般取图的左上角。两种数据变换时,令直角坐标 X 和 Y 分别与行与列平行。由于 矢量数据的基本要素是点、线、面,因而只要实现点、线、面的转换,各种线划图形的变 换问题基本上都可以解决。 (1) 展开 Conversion Tools 工具箱,打开 To Raster 工具集,双击 Feature to Raster 打开 Feature to Raster 对话框 (图 4.26); (2) 在 Input features 文本框中选择需要 转换的矢量数据; (3) 在 Field窗口选择数据转换时所依据 的属性值; (4) 在 Output raster 文本框键入输出的 栅格数据的路径与名称; (5) 在 Output raster 文本框键入输出栅格的大小,或者通过浏览选择某一栅格数据,来定 图 4.25 Raster to Polygon 的图解表达 图 4.27 Feature to Raster 图解表达 图 4.26 Feature to Raster 对话框 124 义栅格的大小,输出的栅格大小与之相同; (6) 单击 OK 按钮,完成操作(图 4.27)。 该命令同样适用于地理数据库中的要素类。 4.2.2 数据格式转换 分别以矢量和栅格两种数据类型为 例,简要介绍数据格式的转换操作。 1. CAD 数据的转换 CAD 数据是一种常用的数据类型, 例如大多数的工程图、规划图都是 CAD 格式。ArcGIS 中的要素类、Shapefile 数 据可以转换成 CAD 数据,CAD 数据也 可以转换成要素类和地理数据库。 (1) 数据输出为 CAD 格式:将要素类 或者要素层转换成 CAD 数据。 1) 展开 Conversion Tools 工具箱, 打开 To CAD 工具集,双击 Export to CAD,打开 Export to CAD 对话框(图 4.28); 2) 在 Input Features 文本框中选择 需要转换的要素,可以选择多 个数据层,在 Input Features 文 本框下面的窗口中列出所选择 的要素,通过窗口旁边的上下 箭头,可以对选择的多个要素 的顺序进行排列; 3) 在 Output Type 窗口中选择输 出 CAD 文件的版本,如 DWG_R2004; 4) 在 Output file 文本框键入输出 的 CAD 图形的路径与名称; 5) Ignore Paths in Tables 为可选按 钮(默认状态是不选择),在 选 择 状态下,将输出单一格式的 CAD 文件; 6) Append to Existing Files为可选 按钮(默认状态是不选择),在 图 4.28 Export to CAD 对话框 图 4.29 Import to CAD 对话框 125 选择状态下,可将输出的数据添加到已有的 CAD 文件中; 7) 如果上一步为选择状态,则在 Seed File 对话框中浏览确定所需的已有 CAD 文件; 8) 单击 OK 按钮,完成操作。 (2) CAD 的输入转换:将 CAD 数据转换成要素类和数据表。 1) 展开 Conversion Tools 工具箱,打开 To Geodatabase 工具集,双击 Import to CAD, 打开 Import to CAD 对话框(图 4.29); 2) 在 Input Files 文本框中选择需要转换的 CAD 文件,可以选择多个数据层,在 下 面 的 窗口中列出所选择的数据,通过窗口旁边的上下箭头,可以对选择的多个矢量 数据的顺序进行排列; 3) 在 Output Staging Geodatabase 文本框键入输出的地理数据库的路径与名称; 4) Spatial Reference 是可选项,用于设置输出地理数据库的空间属性,其对话框界面 与图 4.5 相同,操作见 4.1.1 节; 5) 单击 OK 按钮,完成转换操作。 2. 栅格数据与 ASCII 文件之间的转换 (1) 栅格数据向 ASCII 文件的转换 1) 展开 Conversion Tools 工具箱,打开 From Raster 工具集,双击 Raster to ASCII, 打开 Raster to ASCII对话框(图 4.30); 2) 在 Input raster 文本框中选择需 要转换的栅格数据; 3) 在 Output ASCII raster file 文本 框键入输出的 ASCII 文件的路 径与名称; 4) 单击 OK 按钮,完成操作。 (2) ASCII 文件向栅格数据的转换 如 Raster 数据向 ASCII 文件的转换方法相似,但可以选择输出数据的类型,如选择 INTEGER,即整型。 4.3 数据处理 在实际应用研究中,根据研究区域的特点,首先需要对空间数据进行处理,如裁切、 拼接等操作,以 便 获 取 需要的数据。借助于 ArcToolbox 中的工具可以进行多种空间数据处 理操作。 4.3.1 数据裁切 数据裁切是从整个空间数据中裁切出部分区域,以便获取真正需要的数据作为研究区 图 4.30 Raster to ASCII 对话框 126 域,减少不必要参与运算的数据。 1. 矢量数据的裁切 (1) 展开 Analysis Tools 工具箱, 打 开 Extract 工具集,双击 Clip,打开 Clip 对话框(图 4.31); (2) 在 Input Features 文本框中选择 需要裁切的矢量数据; (3) 在 Clip Features 文本框浏览确 定用来进行裁切的矢量数据; (4) 在Output Feature Class文本框键 入输出数据的路径与名称; (5) Cluster Tolerance 是可选项,用于确定容差的大小; (6) 单击 OK 按钮,完成操作(图 4.32)。 该命令同样适用于地理数据库中的要素类。Coverage 数据的裁切方法与之相类似,可 使用 Coverage Tools 工具箱,Analysis 中的 Extract 工具集,Clip 命令。 2. 栅格数据的裁切 栅格数据的裁切有多种方法,例如用圆形、点、多边形、矩形, 以及利用现有数据 裁切。下面以用矩形和现有数据裁切栅格数据为例进行说明,其他几种裁切操作大同小异。 其中最常用的方法是利用现有栅格或矢量数据裁切栅格数据。 (1) 矩形裁切操作 图 4.32 Clip 的图解表达 + 图 4.31 Clip 对话框 127 1) 展开 Spatial Analyst Tools 工具箱,打开 Extraction 工具集,双击 Extract by Rectangle,打开 Extract by Rectangle 对话框(图 4.33); 2) 在 Input raster 文本框中选择需要裁切的栅格数据; 3) 在 Rectangle 文本框定义裁切面积,用左下角点和右上角点的坐标来定义矩形的 大小; 4) 在 Output raster 文本框键入输出数据的路径与名称; 5) Extraction area 是可选项,定义裁切矩形内部还是外部的数据(默认状态是内部); 6) 单击 OK 按钮,完成操作(图 4.34)。 (2) 利用已有数据的裁切操作 图 4.34 Extract by Rectangle 的图解表达 图 4.33 Extract by Rectangle 对话框 128 1) 展开 Spatial Analyst Tools 工具 箱,打开 Extraction 工具集, 双击 Extract by Mask,打开 Extract by Mask 对话框(图 4.35); 2) 在 Input raster 文本框中选择需 要裁切的栅格数据; 3) 在 Input raster or feature mask data 文本框定义用以裁切的栅 格或矢量数据; 4) 在 Output raster 文本框键入输出的数据的路径与名称; 5) 单击 OK 按钮,完成操作(图 4.36)。 4.3.2 数据拼接 数据拼接是指将空间相邻的数据 拼接为一个完整的目标数据。因为研究 区域可能是一个非常大的范围,跨越若 干相邻数据,而空间数据是分幅存储 的,因此要对这些相邻的数据进行拼 接。拼接的前提是矢量数据经过了严格 的接边,利用 Spatial Adjustment 工具可 完成数据接边处理。空间数据拼接是空 间数据处理的重要环节,也是地理信息 系统空间数据分析中经常需要进行的 操作。 1. 矢量数据的拼接 图 4.35 Extract by Mask 对话框 图 4.37 Append 对话框 图 4.36 Extract by Mask 的图解表达 129 (1) 展开 Data Management Tools 工具箱,打开 General 工具集,双击 Append,打开 Append 对话框(图 4.37); (2) 在 Input Features 文本框中选择输入的数据,可选择多个数据。Input Features 文本框 下面的窗口中列的数据将添加到目标数据中; (3) 在 Output Features 文本框浏览确定某一存在的目标数据,执行操作后,该数据将包 含添加的数据; (4) 单击 OK 按钮,完成操作(图 4.38) 该命令同样适用于地理数据库中的要素类数据。Coverage 数据的拼接方法与之相类 似,Coverage Tools 工具箱,Data Management 中的 Aggregate 工具集,Append 命令。 2. 栅格数据的拼接 (1) 展开 Data Management Tools 工 具箱,打开 Raster 工具集,双击 Mosaic To New Raster ,打开 Mosaic To New Raster 对话框 (图 4.39); (2) 在 Input Rasters 文本框中选择 进行拼接的数据,在 下 面的窗口 中列已添加的数据; (3) 在 Output Location 文本框键入 输出数据的存储位置; (4) 在 Raster dataset name with extension 文本框设置输出数据 的名称; (5) 在 Cellsize 可选窗口,设置输出 数据的栅格大小; (6) 在 Pixel type 可选窗口,设置输 出 数据栅格的类型,例如 8_bit_SIGNED 、 16_bit_UNSIGNED 等; (7) 在 Coordinate system for the 图 4.38 Append 的图解表达 图 4.39 Mosaic To New Raster 对话框 130 raster 可选窗口,可按照 4.1.1 节中定义投影的方法,为输出的数据定义投影; (8) 在 Number of bands 可选文本框,设置输出数据的波段数; (9) 在 Mosaic Mothod 可选窗口,确定镶嵌重叠部分的方法,例如默认状态 FIRST,表 示重叠部分的栅格值取 Input Rasters 窗口中列的第一个数据的栅格值; (10) 在 Mosaic Colormap Mode 可选窗口,确定输出数据的色彩模式。在 默认状态下进 行输入各数据的色彩将保持不变; (11) 单击 OK 按钮,完成操作(图 4.40) 4.3.3 数据提取 数据提取是从已有数据中,根据 属性表内容选择符合条件的数据,构 成新的数据层。可以通过设置 SQL 表 达式进行条件选择。 1. 矢量数据的提取 (1) 展开 Analysis Tools 工具箱, 打 开 Extract 工具集,双击 Select,打开 Select 对话框(图 4.41); (2) 在 Input Features 文本框中选择 用于进行选择的矢量数据; (3) 在 Output Feature Class 文本框键入输出的数据的路径与名称; (4) 单击 Expression 可选文本框旁边的 按钮,打开 Query Builder 对话框(图 4.42), 设置 SQL 表达式; 图 4.40 Mosaic To New Raster 的图解表达 图 4.41 Select 对话框 131 (5) 单击 OK 按钮,完成操作(图 4.43)。 该命令同样适用于地理数据库中的要素类。Coverage 数据的提取方法相类似,可使用 Coverage Tools 工具箱,Analysis 中的 Extract 工具集,Select 命令。 2. 栅格数据的提取 (1) 展开 Spatial Analyst Tools 工具箱,打开 Extraction 工具集,双击 Extract by Attributes, 打开 Extract by Attributes 对话框(图 4.44)。因为该功能是依据数据的属性进行提取, 所以适用于具有属性表的栅格数据; 图 4.43 Select 的图解表达 图 4.42 Query Builder 对话框 132 (2) 在 Input raster 文本框中选择用于进行选择的矢量数据; (3) 单击 Where clause 文本框旁边的 按钮,打开 Query Builder 对话框(图 4.45),设 置 SQL 表达式; (4) 在 Output raster 文本框键入输出的数据的路径与名称; 图 4.45 Query Builder 对话框 图 4.44 Extract by Attributes 对话框 133 (5) 单击 OK 按钮,完成操作(图 4.46)。 4.4 练习:数据更新变换 1. 背景 由于空间数据(包括地形图与 DEM)都是分幅存储的,使得某一特定研究区域 跨越不同图幅。当要获取有特定边界的研究区域时,就要对数据进行裁切、拼接、提 取等操作,有时还要进行相应的投影变换。 2. 目的 通过练习,掌握数据提取、裁切、拼接及投影变换的方法。 3. 要求 白水县跨两个 DEM 图幅,提取出白水县的 DEM 数据,并将数据转换成高斯克 吕格投影系统。获取具有投影坐标系统的特定边界 DEM 数据。 4. 数据 1 幅 1:25 万矢量数据(Vector),为白水县的行政范围。地理坐标系统,其中大 地基准是 D_North_American_1927,参考椭球体是 Clarke 1866,这是 ArcGIS 为 Shapefile 类型的数据假设的地理坐标系统(实验数据在…Chapter4/Exercise1 中)。 2 幅 1:25 万 DEM 数据(DEM1 和 DEM2),为地理坐标系统,其中大地基准是 D_Krasovsky_1940,参考椭球体是 Krasovsky_1940。 图 4.46 Extract by Attributes 的图解表示 134 5. 操作步骤 (1) 白水县行政范围的提取 1) 打开 1:25 万矢量数据(图 4.48)。 2) 利用 Analysis Tools 工具箱,Extract 工具集中的 Select 工具,依据“name”字段, 即 SQL 表达式设置为“"NAME" = '白水县'”,提取出白水县地图数据(图 4.49)。 A 展开 Analysis Tools 工具箱,打开 Extract 工具集,双击 Select,打开 Select 1:25 万矢量数据 白水县县界 提取 裁切 2 幅 1:25 万 DEM 数据 合并 1 幅 1:25 万 DEM 数据 白水县 DEM 数据 定义投影 结果数据 图 4.47 工作流程 图4.48 原始矢量数据 135 对话框。 B 在 Input Features 文本框中选择输入“E:/ChP4/Ex1/Vector”矢量数据。 C 在 Output Feature Class 文本框键入输出的数据的路径与名称“E: /ChP4/Ex1/vector_Select”。 D 单击 Expression 可选文本框旁边的 按钮,打开 Query Builder 对话框,设 置 SQL 表达式“"NAME" = '白水县'”。 E 单击 OK 按钮,完成操作。 (2) DEM 数据拼接 图 4.49 白水县矢量数据 136 1) 打开白水县横跨的两幅 DEM 数据,DEM1 和 DEM2(图 4.50)。 2) 展开 Data Management Tools 工具箱,利用 Raster 工具集中的 Mosaic To New Raster 工具进行数据拼接,得到拼接后的 DEM(图 4.51)。其中,Cellsize 是默认状态, 则 结 果 数据与原始数据的栅格大小一致。因为原始数据类型为 16_BIT_UNSIGNED,所以在 Pixel type 窗口选择该类型。 A 展开 Data Management Tools 工具箱,打开 Raster 工具集,双击 Mosaic To New Raster,打开 Mosaic To New Raster 对话框。 B 在 Input Rasters 文本框中选择 DEM1 和 DEM2。 C 在 Output Location 文本框键入输出数据存储的位置“E:/ChP4/Ex1”。 D 在 Raster dataset name with extension 文本框设置输出数据的名称“DEM”。 E 在 Pixel type 可选窗口,设置输出数据栅格的类型为 16_bit_UNSIGNED。 F 在 Mosaic Mothod 可选窗口,确定镶嵌重叠部分的方法,本次拼接方法选择 MEAN,表示重叠部分的结果数据取重叠栅格的平均值。 G 单击 OK 按钮,完成操作。 图 4.50 原始 DEM 数据 137 (3) 白水县 DEM 的裁切 利用 Spatial Analyst Tools 工具箱,Extraction 工具集中的 Extract by Mask 工具,以白 水县矢量数据裁切拼接的 DEM 数据,获取白水县 DEM(图 4.52)。从图 4.52 下面状态栏 的坐标可以看出,白水县 DEM 是以地理坐标系统显示的,为了便于量算以及与其它数据 叠合分析,应该把地理坐标系统转换为投影坐标系统。 1) 展开 Spatial Analyst Tools 工具箱,打开 Extraction 工具集,双击 Extract by Mask, 打开 Extract by Mask 对话框。 2) 在 Input raster 文本框中选择需要裁切的栅格数据“E:/ChP4/Ex1/DEM”。 3) 在 Input raster or feature mask data 文本框定义进行裁切数据“E:/ChP4/Ex1/ vector_Select”。 4) 在 Output raster 文本框键入输出数据的路径与名称“E:/ChP4/Ex1/extract_dem”。 5) 单击 OK 按钮,完成操作。 图 4.51 DEM 拼接结果 138 (4) 白水县 DEM 的投影变换 利用 Data Management Tools 工具箱,Projections and Transformations 中的 Raster 工具 集,选择其中的 Project Raster 工具,进行白水县 DEM 的投影变换。我国大中比例尺地形 图规定采用以克拉索夫斯基椭球体元素计算的高斯—克吕格投影。因此,投影方式选择 Xian 1980 GK Zone 19.prj(图 4.53),即为高斯—克吕格投影,西安 1980 大地基准,中央 经线为 111°。转换结果如图 4.54 所示,从下面状态栏显示的坐标可以看出,白水县的 DEM 已转换为平面直角坐标。 1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Project Raster,打开 Project Raster 对话框。 2) 在 Input raster 文 本框中选择进行投影变换的栅格数据“E: 图4.53 投影坐标系统的选择 图 4.52 白水县DEM 数据 139 /ChP4/Ex1/extract_dem”。 3) 在 Output raster 文 本框键入输出的栅格数据的路径与名称 E: /ChP4/Ex1/Result/project_dem”。 4) 单击 Output coordinate system 文本框旁边的 图标,打开 Spatial Reference 属性 对话框,单击 Select 按钮,打开 Browe for Coordinate System对话框,选择 Xian 1980 GK Zone 19.prj 投影。 5) Resampling technique 是选择栅格数据在新投影类型下的重采样方式,选择 NEAREST。 6) 单击 OK 按钮,完成操作。 图 4.54 投影结果图 138 第五章 空间数据的可视化表达 可视化,也称作科学计算可视化,其定义为:“可视化是一种计算方法,它将符号或数 据转换为直观的几何图形,便于研究人员观察其模拟和计算过程。可视化包括了图像综合, 这就是说,可视化是用来解释输入到计算机中的图像数据,并从复杂的多维数据中生成图 像的一种工具。” 地理空间信息要被计算机所接受处理就必须转换为数字信息存入计算机中。这些数字 信息对于计算机来说是可识别的,但对于人的肉眼来说是不可识别的,必须将这些数字信 息转换为人可识别的地图图形才具有实用的价值。这一转换过程即为地理信息的可视化过 程,其内容表现在如下几个方面: (1) 地图数据的可视化表示:是地图数据的屏幕显示。可以根据数字地图数据分类、分 级特点,选择相应的视觉变量(如形状、尺寸、颜色等),制作全要素或分要素表示的 可阅读的地图,如屏幕地图、纸质地图或印刷胶片等等。 (2) 地理信息的可视化表示:是利用各种数学模型,把各类统计数据、实验数据、观察 数据、地理调查资料等进行分级处理,然后选择适当的视觉变量以专题地图的形式 表示出来,如分级统计图、分区统计图、直方图等。这种类型的可视化正体现了科 学计算可视化的初始含义。 (3) 空间分析结果的可视化表示:地理信息系统的一个很重要的功能就是空间分析,包 括网络分析、缓冲区分析、叠加分析等,分析的结果往往以专题地图的形式来描述。 本章介绍的空间数据可视化表达主要包括了地图数据和地理信息的可视化表示。 5.1 数据符号化 符号化有两个含义:在地图设计工作中,地图数据的符号化是指利用符号将连续的数 据进行分类分级、概括化、抽象化的过程。而在数字地图转换为模拟地图过程中,地图数 据的符号化指的是将已处理好的矢量地图数据恢复成连续图形,并附之以不同符号表示的 过程。这里所讲的符号化是指后者。 符号化的原则是按实际形状确定地图符号的基本形状,以符号的颜色或者形状区分事 物的性质。例如用点、线、面符号表示呈点、线、面分布特征的交通要素,点表示建筑或 者特定地点,线表示公路和铁路,面用来表示地区。 一般来说符号化方法可分为以下几类:单一符号、分类符号、分级符号、分级色彩、 比率符号、组合符号、统计符号、彩色阴影等。 单一符号:采用大小、形状、颜色都统一的点状,线状或者面状符号来表达制图要素。 这种符号设置方法忽略了要素在数量、大小等方面的差异,只能反映制图要素的地理位置 139 而不能反映要素的定量差异,然而正是由于这种特点,在表达制图要素的地理位置具有一 定的优势。 分类符号:根据数据层要素属性值来设置地图符号的方式是分类符号表示方法。将具 有相同属性值和不同属性值的要素分开,属性值相同的采用相同的符号,属性值不同的采 用不同的符号。利用不同形状、大小、颜色、图案的符号来表达不同的要素。这种分类的 表示方法能够反映出地图要素的数量或者质量的差异,对地理信息的决策作用提供了支 持。 分级色彩:将要素属性数值按照一定的分级方法分成若干级别之后,用不同的颜色来 表示不同级别。每个级别用来表示数值的一个范围,从而可以明确反映制图要素的定量差 异。色彩选择和分级方案是分级色彩表示方法的重要环节,因为颜色的选择和分级的设置 要取决于制图要素的特征,只有合理的配色方案和科学的分级方法才能将地图中要素的宏 观分布规律体现得清晰明确。 分级符号:与分级色彩设置有所不同,是采用不同的符号来表示不同级别的要素属性 数值。符号形状取决于制图要素的特征,而符号的大小取决于分级数值的大小或者级别高 低。这种表示方法一般用于表示点状或者线状要素。多用于表达人口分级图、道路分级图 等。它的优点是可以直观地表达制图要素的数值差异。其中,制图要素分级和分级符号表 示是关键的环节。 比率符号:在分级符号表示方法中,属性数据被分为若干级别,在数值处于某一级别 范围内的时候,符号表示都是一样的,无法体现同一级别不同要素之间的数量差异。而比 率符号表示方法是按照一定的比率关系,来确定与制图要素属性数值对应的符号大小,一 个属性数值就对应了一个符号大小,这种一一对应的关系使得符号设置表现得更细致,不 仅反应不同级别的差异,也能反映同级别之间微小的差异。但是如果属性数值过大,则不 适合采用此种方法,因为比率符号过大会严重影响地图的整体视觉效果。 点值符号:使用一定大小的点状符号来表示一定数量的制图要素,表现出一个区域范 围内的密度数值,数值较大的区域点较多,数值小的地区点较小。是一种用点的密度来表 现要素空间分布的方法。 统计符号:这是专题地图中经常应用的一类符号,用于表示制图要素的多项属性。常 用的统计图有饼状图、柱状图、累计柱状图等。饼图主要用于表示制图要素的整体属性与 组成部分之间的比例关系、柱状图常用于表示制图要素的两项可比较的属性或者是变化趋 势,累计柱状图既可以表示相互关系与比例,也可以表示相互比较与趋势。 以上方法均为矢量数据的符号化方法,此外,还有栅格图形符号化方法。专题栅格数 据是栅格数据中的一种重要类型,其符号化方法主要有分类栅格符号设置、分类栅格符号 设置和栅格影像设置,其中栅格影像设置又分单波段影像设置和多波段影响设置。如何显 示栅格文件依赖于它所包含的数据类型,以及用户的需要,ArcMap 可以自动选择合适的 方法,用户也可以根据需求来调整它。 140 5.1.2 矢量数据符号化 无论点状、线状、还是面状要素,都可以根据要素的属性特征采取单一符号、分类符 号、分级符号、分组色彩、比率符号、组合符号和统计图形等多种表示方法实现数据的符 号化,编制符合需要的各种地图。由于单一符号设置是 ArcMap 系统中加载新数据层所默 认的表示方式,设置非常简单,下面介绍几种其它常用的符号设置方法。 1. 分类符号设置 打开一个道路图层。 (1) 在道路图层上点右键打开 Layer Properties 对话框; (2) 在 Categories 上下拉出现三个选项,分别是 Unique Value;Unique Value,Many fields; Match to symbols in a style。其中 Unique Value 指的是按照一个属性值来进行分类, Unique Value,Many fields 是按照多个属性值的组合分类来确定符号类型,如果选择 Match to symbols in a style,将会按照事先确定的符号类型通过自动匹配来表示属性 分类; (3) 选择 Unique Value 选项,在 Value Field 中选择 CLASS,即街道的分级; (4) 单击 Add Value 按钮,出现 Add Value 对话框,其中出现了三条等级字段:Highway, limited to access;Interchange;Street,improved or unpaved。(图 5.1)单击 Complete List,又出现了三条字段,这样,道路共被分为六个等级,如图 5.2 所示; (5) 选中所需要的字段,单击确定之后,在 Symbols 的列表框中会出现刚才所选择的字 段,字段前附有它们相应的符号样式。如果想选择所有字段,只需直接单击 Add All Value 按钮即可将所有字段添加进来。其 效 果 与 把 Complete List 中的所有街道级别添 加进来一样。所 给 的字段列表若仍不能完全满足需要,可 在 Add Value 对话框中使用 New Value 文本框,添加所需要的字段名称,选择 Add to List 即可; 图 5.1 Add Value 对话框 图 5.2 Add Value 对话框 141 (6) 至此已对不同级别的道路分类,若对系统默认的符号样式不满,可 以 单 击 Value 名称 前面的 Symbol 符号,打开 Symbol Selector 窗口。通过 Option 中的 Color,Width 设 置改换它的颜色和宽度。也可以单击 Properties 按钮改变该符号的一些其他属性,或 者通过单击 More Symbols 选择更多的符号; (7) 完成设置后返回 Layer Properties 对话框(图 5.3),结果如图 5.4 所示。 注:如果用户自己定义了一组符号表示方法,可以将该图层保存为 lyr 文件,在其它 图5.3 Layer Properties 对话框 图 5.4 符号化后的交通网络图 142 类似数据的图层符号化时可使用导入功能“import”导入该图层的符号化设置信息,完成 符号化。 2. 分级符号设置 (1) 分级色彩设置 1) 加载一个州图层和城市图层; 2) 打开城市图层的 Layer Properties 对话框(图 5.5); 3) 单击 Quantities,选中 Graduated Colors,在 Fields 复选框的 Value 下拉菜单中选 择 POP1990,表示 1990 年的人口总数,在 Normalization 下拉菜单中选择 Area, 表示某一地区的总面积。其目的是将 POP1990(人口数)除于 AREA(面积),得到 人口密度的计算结果。人口密度可以使用分级符号方法体现在的地图中。 注:Layer Properties 对话框 中默认要素的分级方案为 Natural Breaks,是在分级数确定的情况 下,通过聚类分析将相似性最大 的数据分在同一级,差异性最大 的数据分在不同级,这种方法可 以较好保持数据的统计特性,但 分级界限往往是任意数,不符合 常规制图需要。 1) 将 Classification 复选框 中的 Classes 定为 7,单 击 Classify 按钮,打开 Classification 对话框(图 5.6):选择分级方式为 Manua(手动分级),将 原来的分级界限依次修 改为:50,100,200,400, 700,1500,15000。单击 Show Std.Dev 和 Show Mean 前的复选框,直方 图中出现新的分级界限, 标准差和平均值。 2) 确认新的方案后返回 Layer Properties 对话框, 可以看到新旧分级方案 之间的差异。单击 Label 中的数字,改为简洁直观 方式,应用更改。 图 5.6 Classification 对话框 图 5.5 Layer Properties 对话框 143 图 5.8 Number Format 对话框 现在通过对制图要素的具体设置,得到了一张利用分级色彩方法表示的墨西哥地区 1 990 年的人口密度图(如图 5.7 所示)。依据色彩差异,人 口密度的宏观分布特征显而易见, 颜色越深,则密度越高。上述分级色彩方案直接应用了系统中的一种色彩序列,若认为色 彩差异还不够明显,可以手工设置颜色方案。 注:手工定制一个分级色彩方案: 1) 打开 Layer Properties 对话框,双击 Symbol 中的第三个色块,改变其颜色; 2) 在第三个色块上右键,单击菜单中的 Ramp Color 命令,分级色彩方案将根据所 修改的颜色发生变化。在 Color Ramp 窗口中出现了新的分级色彩方案。 3) 如果这样的分级方案令人满意,那 么可以在分级色彩方案上右键单 击 Save to Style 命令,保存为 Multi-part Color Ramp,形成新的分 级色彩方案。 上述分级色彩方案的设置过程中,完全 采用了手动的方式修改分级方案的数字标 注(Labels)。实际上,系统提供了标注格式的 统一编辑方法:在 Layer Properties 对话框 中,在分级色块上右键打开 Format Labels 命令,打开 Number Format 对话框(如图 5. 8),改变标注的格式。 (2) 分级符号设置 图 5.7 人口密度分布图 144 1) 打开一个州图层; 2) 在州图层上点右键打开 Layer Properties 对话框(如图 5.9),进入 Symbology 选项 卡,选中 show 列表框中 Quantities 里的 Graduated Symbols; 3) 通过改变 Fields 里面的字段名称,可以改变符号所代表的字段,这里选择 Value: POP1990, Normalization:Area。设置 Classification 中的 Classes 为 7 级。在 Symbol Size 中设置符号的由小到大的尺寸; 4) 设置分级符号:在 Layer Properties 对话框中,单击 Template 按钮,打开 Symbols Selector 对话框,见图 5.10,改变符号的尺寸、颜色,或者选择 More Symbols 丰 富符号选择范围,在这里就不作赘述了,重点介绍其中 Properties 的设置方法。 图 5.9 Layer Properties 对话框 图 5.10 Symbol Property Editor 对话框 145 5) 在 Symbols Selector 对话框中单击 Properties 按钮,打开 Symbol Property Editor 对 话框; 6) Symbol Property Editor 对话框中,通过 Preview 里的放大缩小按钮,或者显示比 例的下拉菜单可以改变符号的显示大小;在 Layers 选项组内单击符号轮廓线,再 单击 Color 修改颜色;在符号轮廓模板内,选择所需要的符号轮廓,可以根据需 要改变符号的 Font 和 Subset。单击 OK 应用符号; 7) 完成符号设置后,如果想将此符号样式保存下来以便日后使用,可以在 Symbols Selector 对话框中单击 Save 按钮,填入符号名称和所在的组类名称,此符号就被 保存下来了。 注:在默认状态下,分级符号的大小是一定的,不随地图在屏幕上的缩放而变化,如 果想在屏幕缩放的时候分级符号大小发生相应变化,可以单击快捷菜单的 Set Reference Scale;若想恢复原来的状态,只要单击 Clear Reference Scale 即可。 另外还有比率符号、点值符号的设置过程同分级符号化相似,在此不作叙述。 3. 统计符号设置 (1) 打开一个州图层和与州图层相关的城市图层; (2) 在城市图层上单击右键进入 Layer Properties 对话框(如图 5.11); (3) 在 Field Selection 一系列字段中,挑选人种作为要进行符号设置的字段;单击 Symbol 下的色块改变符号的颜色和轮廓线; (4) 单击 Properties 按钮进入 Chart Symbol Editor 对话框(图 5.12); (5) 在 Outline 选项组中选中 show 复选框,显示符号轮廓线,单击 Color 色块确定符号 轮廓线的颜色,在 Width 窗口输入符号轮廓线的粗细;在 Orientation 选项组中选择 Arithmetic 确定按照几何坐标绘制统计图,选择 Geographic 则按照地理坐标绘制统计 图 5.11 Layer Properties 对话框 146 图;在 3-D 选项组中选择 Display in 3D,确定绘制三维立体统计图,调节 Til 和 Thickness 滑动条可以调整符号显示的倾斜角度以及饼的厚度; (6) 单击 Properties 按钮打开 Line Callout 对话框(如图 5.13) (7) 在 Line Callout 对话框中设置符号拖出线的长度,在 Style 选项组中改变符号拖出线 的样式,Margin 中设置符号拖出线的边界位置,单击确定按钮,返回 Chart Symbol Editor 对话框;在 Layer Properties 对话框中单击 Size 按钮,打开 Pie Chart Size 对话 框(如图 5.14);在 Variation Type 选项组中选择 Fixed Size 单选按钮,绘制固定大小 图 5.12 Chart Symbol Editor 对话框 图 5.13 Line Callout 对话框 图 5.14 Pie Chart Size 对话框 147 的统计符号;Symbol 选项组中可以调节统计符号的大小。 (8) 单击确定按钮返回 Layer Properties 对话框,单击应用关闭 Layer Properties 对话框, 完成设置。 (9) 图 5.15 为美国各个城市人种数量比例的分布图,使用饼图来表示多个要素之间的数 量比例一目了然。 4. 组合符号设置 上面介绍的所有符号设置方法都只是针对单个要素的一项属性数据或者一项属性的 几个组成部分来进行表达。然而在实际应用中,仅仅针对单个要素进行符号设置是不够的, 比如道路数据层中既包含了道路的等级,又包含了道路的运输量等;城镇数据层中,既有 城镇的人口数量人口密度,又包含了城镇的行政等级、绿化面积等。此情况下,可以使用 组合符号表示方法。例如用符号大小表示人口密度,同时用符号颜色表示行政等级。 (1) 打开一个州图层和与州图层相关的城市图层; (2) 在城市图层上单击右键进入 Layer Properties 对话框(如图 5.16); 图 5.15 人种数量比例的分布图 148 (3) 选择 Multiple Attributes 下面的 Quantity by category,在 Value Field 中选择 Type 字段, 单击 Add Values,把数量大于 10 的 city 类型都加进列表。此例中一共有五种类型, 分别设置各种类型的符号颜色。这是组合符号设置中的分类设置; (4) 单击 Variation by 选项组中的 Symbol Size 按钮(如图 5.17); (5) Value字段中选择POP1990,即1990年美国城市人口。将这些数值分为三级,在 Classes 中选 3,随后单击 Classify 按钮,将 Break Value 中的值按制图要求改成规范的值。 单击 OK 按钮,返回 Layer Properties 对话框,单击“应用”按钮。 图 5.16 Layer Properties 对话框 图 5.17 Draw quantities using symbol size to show relative value 对话框 149 通过对要素多种属性的符号设置,最终得到一张集城市分类和人口数量符号化为一体 的地图(图 5.18)。它比单一属性符号化表达图表现的内容更丰富。 5.1.3 栅格数据符号化 1. 分类栅格符号设置 分类栅格符号表示法是表达专题栅格数据的一种常用方法,类似于分类色彩符号法, 是利用不同的颜色来表示不同的专题类别。 (1) 打开地表覆盖栅格图像; (2) 在栅格图像上单击右键打开 Layer Properties 对话框(如图 5.19); (3) 在 Symbol 选项卡的 Show 列表框中选择 Unique Value,在 Value Field 下拉列表框中 图 5.18 组合符号化后的地图 图 5.19 Layer Properties 对话框 150 选择属性字段 Class_names,也就是类别的名称,在 Symbol 栏中第一个符号左边的 小方框中打勾,确定了现有图例中未包含的所有其它值均用此符号来表达。在没有 值的那一条选项上单击右键,单击 remove values,将该符号从图例中删除。 用户可以根据需要改变各个图例的颜色,如果想恢复原来的彩色效果,单击 Layer Pr operties 对话框中的 Default color 按钮。 单击“确定”按钮,完成分类栅格符号设置,返回 ArcMap 窗口(如图 5.20)。 2. 分级栅格符号设置 分级栅格符号表示法不同于分类栅格符号表示法,它是表示栅格数据类型的分级图, 多用于制作地势图,植被指数图,地下水位图等。 (1) 打开某一 DEM 栅格图像; (2) 在内容表中栅格图像上单击右键打开 Layer Properties 对话框(如图 5.21); 图 5.20 分类栅格符号设置后的图像 151 (3) 在 Symbol 选项卡的 Show 列表框中选择 Classified,在 Classes 中选择级别数为 9 级, 若想进一步调整分级,单击 Classification 按钮,在 Classification 对话框中调整分级 方法和分级界限; (4) 在 Color Ramp 下拉列表框中选择一种色彩方案; (5) 选中 Show class breaks using cell values 复选框,可以栅格单元的值作为分级标注数 字,否则默认状态下是以分级方法计算的结果标注数字。 (6) 单击“确定”按钮完成分级栅格符号的设置(如图 5.22)。 3. 栅格影像地图设置 图 5.21 Layer Properties 对话框 图 5.22 分级栅格符号设置后的图像 152 栅格影像是栅格数据中的主要类型,组成影像的像元属性值一般是在 0~255 之间连 续变化,对于单波段图像,影像的灰度反映像元的属性值,对于多波段图像,影像的色彩 同时取决于红,绿,蓝三个波段的综合作用。所以栅格影像地图的设置工作主要是像元属 性值的灰度或者彩色表达。 多波段影像色彩设置可以通过随时调整波段的组合来达到理想的效果。 (1) 打开一个多波段栅格图像; (2) 进入 Layer Properties 对话框(如图 5.23); (3) 在 Show 列表框选择 RGB Composite,在 Red Band 中选择 Layer_1,Green Band 中 选择 Layer_2,Blue Band 中选择 Layer_3。Stretch 下拉列表中选择 Standard Deviations; 图 5.23 Layer Properties 对话框 图 5.24 多波段影像色彩设置后的图像 153 (4) 单击 Histograms 按钮打开直方图对话框; (5) 在直方图对话框中分别调节红,绿,蓝三个波段的直方图改变影像的彩色效果; (6) 单击确定返回 ArcMap 窗口,结果如图 5.24 所示。 5.2 专题地图编制 地图编制是一个非常复杂的过程。地图数据的符号化与注记标注,都是为地图的编制 准备基础的地理数据。然而,要将准备好的地图数据,通过一幅完整的地图表达出来,还 有很多工作,包括版面纸张的设置、制图范围的定义、制图比例尺的确定、图名、图例、 坐标网、指北针等等。 5.2.1 版面设计 1. 地图模板操作 ArcMap 系统不仅为用户编制地图提供丰富的功能和途径,还可以将常用的地图输出 样式制作成现成的地图模板,方便用户直接调用,减少了很多复杂的程序。 (1) 在 ArcMap 窗口主菜单栏中,单击 File 下的 New ,打开 New 对话框; (2) 选中 Template 复选按钮,确定建立地图模板; (3) 单击 OK 按钮创建空地图模板,返回 ArcMap 窗口; (4) 根据需要进行各种地图版面设置; (5) 单击 File 下的 Save As 命令,保存经过设置的模板为 User.mxt。 如果用户希望自己制作的地图模板能够像系统给定的模板文件一样出现在 New 对话框 中,只需要在系统默认的模板文件夹路径,例如在 D:\ESRI\arcgis\Bin\Templates 目录下新 建一个文件夹 User,将设置的模板文件保存在新建文件夹即可。(如图 5.25): 图 5.25 自定义的地图模板 154 2. 图面尺寸设置 ArcMap 窗口包括数据视图和版面视图,正式输出地图之前,应该首先进入版面视图, 按照地图的用途、比例尺、打印机的型号等来设置版面的尺寸。这是地图编制过程中一个 重要环节,若没有设置,系统会采用它默认的纸张尺寸和打印机。 (1) 单击 View 下的 Layout View 命令,进入版面视图; (2) 将鼠标移至 Layout 窗口默认纸张边沿以外,右键打开图面设置快捷菜单,单击 Page Setup 命令,打开 Page Setup 对话框,如图 5.26 所示。 (3) 选择打印机,设置纸张的类型。如果在 Map Page Size 选项组中选择了 Use Printer Paper Setting 选项,则 Page 选项组中默认尺寸为该类型 的标准尺寸。若不想使用系 统给定的尺寸,可以在 Size 下拉列表中选择用户自定义 纸张尺寸,去掉 Use Printer Paper Setting选项前面的勾, 在 Width 和 Height 中输入需 要的尺寸以及单位。 Orientation 可选 Landscape (横向)或者 Portrait(纵向); (4) 选中 Show Printer Margins on Layout 选项,则在地图输 出窗口上显示打印边界,选 中 Scale Map Elements proportionally to change in Page size 选项,则纸张尺寸 自动调整比例尺,注意若选择此种方式的话,无论如何调整纸张的尺寸和纵横方向, 系统都将根据调整后的纸张参数重新自动调整地图比例尺,如果想完全按照自己的 需要来设置地图比例尺就不要选择该选项; (5) 单击 OK 按钮,完成设置。 图 5.26 Page Setup 对话框 155 注:关于尺寸设置中需要注意的问题是两种图面尺寸设置的差异: 若按照打印机纸张来设置图面尺寸的话,地图文档就与所选择的打印机建立了联系, 当地图文档需要被共享,而接受共享的一方没有同型号的打印机时,地图文档就会自动调 整其图面尺寸,变为接受共享一方默认的打印机纸张尺寸,破坏了其原有设置,因此推荐 按照标准纸张尺寸或者用户自定义尺寸进行图面设置,这样地图文档与打印机是相互独立 的关系,不会因为型号问题而改变原有设置。 3. 图框与底色设置 ArcMap 的输出地图可以由一个或者多个数据组构成,各个数据组可以设置自己的图 框和底色。 (1) 在需要设置图框的数据组上右键打开快捷菜单,单击 Properties 选项,打开 Data Frame Properties 对话框(如图 5.27); (2) 单击 Frame 标签进入 Frame 选项卡; 图 5.27 Data Frame Properties 对话框 图 5.28 Border Selector 对话框 156 (3) 图框样式选择,在 Border 选项组单击 Style 按钮(如图 5.28),选择所需要的图框类 型,如果在现有的图框样式中没有找到合适的,可以单击 Properties 按钮改变图框的 颜色和双线间距,也可以单击 More Symbols 获得更多的样式以供选择; (4) 完成设置,单击 OK 返回 Data Frame Properties 对话框,继续底色的设置。在 Background 下拉列表中选择需要的底色,若没合适的底色,单击 Background 选项组 中的 Style 按钮进一步设置(如图 5.29)。若仍无合适的颜色,可以单击 More Styles 按钮获取更多样式,或者单击 Properties 按钮(如图 5.30)在已有底色的基础上调整 其颜色、外框颜色、外框宽度; (5) 在 Drop Shadow 选项组中调整数组阴影,在下拉框中选择所需要的阴影颜色,与调 整底色方法类似,可以通过单击 More Styles 按钮,或者单击 Properties 按钮对阴影 进行进一步的设置; (6) 调整各个组合框中的 X,Y 可以改变图框的大小,调整 Rounding 百分比可以调节图框 边角的圆滑程度; 图 5.29 Background Selector 对话框 图 5.30 Background 对话框 157 (7) 完成设置(如图 5.31)。 5.2.2 制图数据操作 一幅 ArcMap 地图通常包括若干个数据组,如果用户需要复制数据组或者调整数据组 的尺寸,生成数据组定位图,就需要在版面视图直接操作制图数据。 1. 复制地图数据组 (1) 在 ArcMap 窗口版面视图单击需要复制的原有制图数据组; (2) 在原有制图数据组上右键打开制图要素操作快捷菜单; (3) 单击 Copy 命令或者直接使用快捷键 Ctrl+C 将制图数据组复制到剪贴板; (4) 鼠标移至选择制图数据组以外的图面上,右键打开图面设置快捷菜单,单击 Paste 命令或者直接快捷键 Ctrl+V 将制图数据粘贴到地图中; (5) 地图输出窗口增加一个复制数据组,同时内容表中也增加一个 New Data Frame。 2. 设置总图数据组 根据输出地图中现有的两个数据组,将一个数据组作为说明另一个数据组空间位置关 系的总图数据组(Overview Data Frame),在实际应用中是非常有意义的。当一幅地图包含 若干数据组时,一个总图可以对应若干样图。一个总图与样图的关系建立起来,调整样图 范围时,总图中的定位框图的位置与大小将同时发生相应的调整。 (1) 在 ArcMap 窗口版面视图中,在将要作为总图的数据组上右键打开制图要素操作快 图 5.31 复制数据组后的版面视图 158 捷菜单,单击 Properties 命令,打开 Data Frame Properties 对话框(如图 5.32); (2) 单击 Extent Rectangles 标签,进入 Extent Rectangles 选项卡; (3) 在 Other data frames 选项组的窗口中选择样图数据组:Data Frame2。单击右向箭头 按钮将样图数据组添加到右边的窗口。 (4) 单击 Frame 按钮,打开 Frame Properties 对话框,选择合适的边框,底色和阴影。 (5) 单击确定返回。 完成了设置后,如果调整样图,可以在总图中浏览其整体效果。 3. 旋转制图数据组 在实际应用中,由于制图区域的形状或其他原因,可能需要对输出的制图数据组进行 一定角度的旋转,以满足某种制图效果。具体操作如下: (1) 在 ArcMap 窗口主菜单条中单击 View 下的 Toolbar 命令,打开 Data Frame Tools 工具条; (2) 在 Frame Tools 工具条上单击 Rotate Data Frame 按钮; (3) 鼠标移至版面视图需要旋转的数据 组上,左键拖放旋转。如果要取消 刚才的旋转操作,只需要单击 Clear Rotation 按钮。 4. 绘制坐标格网 地图中的坐标格网属于地图的三大要 素之一,是重要的要素组成,反映地图的 坐标系统或地图投影信息。 不同制图区域的大小,有着不同类型 的坐标格网:小比例尺大区域的地图通常 使用经纬线格网;中比例尺中区域地图通 常使用投影坐标格网,又叫公里格网;大比例尺小区域地图,通常使用公里格网或索引参 考格网。下面分别说明不同类型坐标格网的设置。 (1) 地理坐标格网设置 1) 在需要放置地理坐标格网的数据组上右键打开 Data Frame Properties 对话框,单 击 Grids 标签进入 Grids 选项卡; 图 5.32 Data Frame Properties 对话框 159 2) 单击 New Grid 按钮,打开 Grids and Graticules Wizard 对话框(如图 5.33); 3) 选择 Graticule:divides map by meridians and parallels(绘制经纬线格网)单选按钮, 在 Grid 文本框中输入坐标格网名称;Reference Graticule; 4) 单击下一步按钮,打开 Create a Graticule 对话框。在 Appearance 选项组选择 Graticule and labels(绘制经纬线格网并标注)单选按钮。在 Intervals 选项组输入经 纬线格网的间隔,如纬线间隔(Place parallels):10 度 0 分 0 秒;经线间隔(P1ace meridians):10 度 0 分 0 秒; 5) 单击下一步,打开 Axes and labels 对话框,如图 5.34 所示。在 Axes 选项组选中 Major division tiks(绘制主要格网标注线)和 Minor division tiks(绘制次要格网标注 图 5.33 Grids and Graticules Wizard 对话框 图 5.34 Axes and labels 对话框 160 线)复选框。单击 Major division tiks 和 Minor division tiks 后面的 Line Style 按钮, 设置标注线符号。在 Number of ticks per major 微调框中输入主要格网细分数:5。 单击 Labeling 选项组中 Text 按纽,设置坐标标注字体参数; 6) 单击下一步按钮,打开 Create a graticule对话框,如图 5.35 所示。在 Graticule Border 选项组选择 Place a simple border at edge of graticule 单选按钮。在 Neatline 选项组 选中 Place a border outside the grid(在格网线外绘制轮廓线)复选框。在 Graticules Properties 选项组选择 Store as a fixed grid that updates with changes to the data frame(经纬格网将随着数据组的变化而更新)单选按钮。 7) 单击“完成”按钮,完成经纬网的设置,返回 Data Frame Properties 对话框,所 建立的格网文件显示在列表。单击确定按钮,经纬线坐标格网出现在版面视图中。 (2) 地图公里格网设置 1) 在需要放置地理坐标格网的数据组上右键打开 Data Frame Properties 对话框,单 击 Grids 标签进入 Grids 选项卡; 2) 单击 New Grid 按钮,打开 Grids and Graticules Wizard 对话框(如图 5.36)。选择 Measure Grid:Divides map into a grid of map unit(绘制公里格网单元)单选按钮。 在 Grid Name 文本框输入坐标格网名称:Measure Grid; 图 5.35 Create a graticule 对话框 161 3) 单击下一步按钮,打开 Create a Measure Grid 对话框(如图 5.37); 4) 在 appearance 选项组选择 Grid and labels(绘制公里格网并标注)单选按钮。(若选择 第一项 Labels only,则只放置坐标标注,而不绘制坐标格网;若选择第二项 Tick marks and labels,则绘制格网线交叉十字及标注)。在 Intervals 文本框输入公里格 网的间隔:在 X Axes 和 Y Axes 的文本框中分别输入水平和垂直格网间隔:5000; 5) 单击下一步按钮,打开 Axes and Labels 对话框(如图 5.38); 6) 在 Axes 选项组选中 Major division tiks(绘制主要格网标注线)和 Minor division tiks(绘制次要格网标注线)复选框。单击 Major division tiks 和 Minor division tiks 后面的 Line Style 按钮,设置标注线符号。在 Number of ticks per major 微调框中 图 5.36 Grids and Graticules Wizard 对话框 图 5.37 Create a Measure Grid 对话框 162 输入主要格网细分数:5。单击 Labeling 选项组中 Text 按纽,设置坐标标注字体 参数; 7) 单击下一步按钮,打开 Create a measured grid 对话框(如图 5.39); 8) 在 Measure Grid Border 选项组选中 Place a border between grid and axis labels 复选 框。在 Neatline 选项组选中 P1ace a borderoutside the grid(在格网线外绘制轮廓线) 复选框。在 Grid Properties 选项组选择 Store as a fixed grid that updates with changes to the data frame(公里格网将随着数据组的变化而更新)单选按钮; 9) 单击完成按钮,完成公里坐标格网的设置,返回 Data Frame Properties 对话框。 所建立的格网文件显示在列表,单击确定按钮,公里坐标格网出现在版面中。 图 5.38 Axes and Labels 对话框 图 5.39 Create a measured grid 对话框 163 (3) 索引参考格网设置 1) 在需要放置地理坐标格网的数据组上右键打开 Data Frame Properties 对话框,单 击 Grids 标签进入 Grids 选项卡; 2) 单击 New Grid 按钮,打开 Grids and Graticules Wizard 对话框(如图 5.40); 3) 选择 Reference Grid:Divides map into a grid for indexing(绘制参考格网)单选按钮。 在 Grid Name 文本框输入坐标格网名称:Index Grid; 4) 单击下一步按钮,打开 Create a Reference Grid 对话框(如图 5.41); 5) 在 Appearance 选项组选择 Grid and Index tabs(绘制参考格网及标识)单选按钮。在 Intervals 选项组中输入参考格网的间隔(Divide grid into):5 columns,5 rows; 图 5.40 Grids and Graticules Wizard 对话框 图 5.41 Create a Reference Grid 对话框 164 6) 单击下一步按钮,打开 Create a reference grid 对话框(如图 5.42); 7) 在 Tab Style 选项组选择 Tab 下拉选项:Continuous Tabs(连续参考标识)。单击 color 按钮,定义参考格网标识框底色。单击 Font 按钮,定义参考格网标识字体及其大 小。在 Tab Configuration 选项组选择 A,B,C,…in columns 单选按钮; 8) 单击下一步按钮,打开 Create a reference grid 对话框(如图 5.43); 9) 在 Reference Grid Border 选项组中,选中 P1ace a border between grid and axis labels 复选框,单击线划按钮,定义轮廓线符号参数。在 Neatline 选项组选中 P1ace a 图 5.42 Create a reference grid 对话框 图 5.43 Create a reference grid 对话框 165 border outside the grid(在格网线外绘制轮廓线)复选框。在 Grid Properties 选项组选 择 Store as a fixed grid that updates with changes to the data frame。 10)单击完成按钮返回 Data Frame Properties 对话框,所建立的格网文件显示在列表。 5.2.3 地图标注 地图上说明图面要素的名称、质量与数量特征的文字或数字,统称为地图注记 (Cartographic annotation)。在地图上只有将表示要素和现象的图形符号与说明这些要 素的名称、质量、数量特征的文字和数字符号结合起来,形成一个有机整体,即地图的符 号系统,这样才能使地图更加有效的进行信息传输。否则,只有图形符号而没有注记符号 的地图,只能是一种令人费解的“盲图”。地图上的注记分为名称注记、说明注记和数字 注记三种。名称注记用于说明各种事物的专有名称,如山脉名称,江、河、湖、海名称, 居民地名称,地区、国家、大洲、大陆、岛屿名称等。说明注记用于说明各种事物种类、 性质或特征,用以补充图形符号的不足,常用简注形式表示。数字注记用于说明事物的数 量特征,如地形高程、比高、路宽、水深、流速、承载压力等。同时,借助不同字体、字 号、颜色的注记也能够进一步标明事物的性质、种类及数量差异。因此,地图注记在地图 图面上与图形符号构成一种相辅相成的整体。 地图注记的形成过程就是地图的标注(Label)。根据标注对象的类型以及标注内容的来 源,可以分为三种:交互式标注,自动标注,链接式标注。 使用交互式标注的前提是需要标注的图形较少,或需要标注的内容没有包含在数据层 的属性表中,或需要对部分图形要素进行特别说明。在这种情况下,可以应用交互式标注 方式来放置地图注记。 大多数情况下,使用的是自动式标注方法,它的前提是标注的内容包含在属性表中, 且需要标注的内容布满整个图层,甚至分布在若干数据层,在这样的情况下,可以应用自 动标注方式来放置地图注记。可以根据属性表中的一项属性内容标注于图,也可以按照条 件选择其中一个子集进行标注。 整个自动式标注过程可分为三个部分: 1. 注记参数设置 自动标注方式的参数设置与交互式一样,同样是借助 ArcMap 绘图工具栏中的注记设 置工具来实现对注记字体,大小与颜色的设置等。 2. 注记内容放置 自动标注实现方式多种多样,下面说明其中几个主要方式的实现步骤: (1) 逐个要素标注 1) 在需要放置注记的数据层上单击右键打开 Layer Properties 对话框,进入 Label 选项 卡(如图 5.44); 166 2) 选择 Method:Label features in this layer; 3) 在需要标注的字段 Text String 中选择 NAME; 4) 如果想对注记字体做进一步的设置,可以单击 Symbol 按钮进行进一步设置; 5) 单击 Scale Range 按钮确定注记显示比例; 6) 单击确定完成设置,返回 ArcMap 窗口。 (2) 全部要素标注 1) 在需要放置注记的数据层上右键打开 Properties 对话框,进入 Label 选项卡; 2) 选中 Label Features in this layer 复选框,确定在本数据层上进行标注; 3) 确定标注方法 Method:Label all the features in the same way; 4) 在需要标注的字段 Text String 中选择 NAME; 5) 单击确定按钮完成全部要素的标注。 注:如果不需要全部要素标注,而只要标注一部分要素,可以在 Layer Properties 对话框 的标注方法 Method 下选择 Define classes of features and label each class differently,单 击 SQL Query 按钮输入条件表达式即可。 (3) 多种属性标注 1) 在需要放置注记的数据层上右键打开 Layer Properties 对话框,进入 Label 选项卡; 2) 选中 Label Features in this layer 复选框,确定在本数据层上进行标注; 3) 确定标注方法 Method:Label all the features in the same way; 4) 单击 Express 按钮打开 Label Expression 对话框(如图 5.45):双击第一个需要标 注的属性字段 NAME,该字段自动出现在 Expression 文本框内;双击第二个需要 图 5.44 Layer Properties 对话框 167 标注的属性字段,在两个字段之间用合法的表达式连接起来。用户可以按照此规 律添加更多需要的属性字段。在 Parser 中可以选择不同的脚本来运行,包括 VB 和 Java 两种; 5) 单击确定返回。 3. 注记要素编辑 (1) 自动标注的显示比例 默认状态下,注记大小是不随地图的缩放而变化的,若需要在屏幕缩放时注记要素发 生相应变化,就必须设置数据组的参考比例尺。在数据组上右键打开快捷菜单,单击 Set Reference Scale 命令。这样,数据组中所有注记都将以当前屏幕比例为参考缩放。若想 恢复原来的状态,只需要单击数据组快捷菜单中的 Clear Reference Scale 命令。 (2) 重复注记的自动取舍 进行自动标注的时候,有时需要将重复的数值舍弃,而有时又需要保留重复的数值, 这就需要应用系统提供的重复标注自动取舍功能。 1) 打开 Layer Properties 对话框,进入 Label 选项卡; 2) 单击 Label Placement Option 按钮; 3) 进入 Placement 选项卡(如图 5.46),设置 Duplicate Labels 中的选项 Remove Duplicate Labels,若选择该选项,系统就会自动舍弃重复注记; 4) 单击确定完成设置。 图 5.46 Placement Properties 对话框 图 5.45 Label Expression 对话框 168 5.2.4 地图整饰 所谓地图整饰,就是地图表现形式、表示方法和地图图型的总称,是地图生产过程的 一个重要坏节,包括地图色彩与地图符号设计,线划和注记的刻绘,地形的立体表示,图 面配置与图外装饰设计,地图集的图幅编排和装帧。整饰目的为:根据地图性质和用途, 正确选择表示方法和表现形式,恰当处理图上各种表示方法的相互关系,以充分表现地图 主题及制图对象的特点,达到地图形式同内容的统一;以地图感受论为基础,充分应用艺 术法则,保证地图清晰易读,层次分明,富有美感,实现地图科学性与艺术性的结合;符 合地图制版印刷的要求和技术条件,有利于降低地图生产成本。 数据组是地图的主要内容,—幅完整的地图不仅包含反映地理数据的线划及色彩要 素,还包含与地理数据相关的一系列辅助要素,如图名、图例、比例尺、指北针、统计图 表等,所有这些辅助要素的放置,都作为地图整饰操作来说明。 1. 图名的放置与修改 (1) 在 ArcMap 窗口菜单条上单击 Insert 命令; (2) 在 Insert 下拉菜单中单击 Title 命令,出现 Enter Map Title 矩形框; (3) 在 Enter Map Title 矩形框中输入所需要的图名字符串; (4) 将图名矩形框拖放到图面合适的位置; (5) 可以直接拖拉图名矩形柜调整图名字符的大小,或者在单击了图名矩形框之后,通 过绘图工具条上的相关工具,如 change Font、Change Size,调整图名的字体、大小 等参数。 2. 图例的放置与修改 图例符号对于地图的阅读和使用具有重要的作用,主要用于简单明了地说明地图内容 的确切含义。通常包括两个部分:一部分用于表示地图符号的点线面按钮,另一部分是对 地图符号含义的标注和说明。 1) 创建 ArcMap 文档,将 Mexico 中的所有图层添加进来; 2) 在 ArcMap 窗口菜单条上单击 View 下的 Layout 打开版面视图; 3) 在 ArcMap 窗口菜单条上单击 Insert 下的 Legend 打开 Legend Wizard 对话框(图 图 5.47 Legend Wizard 对话框 169 5.47); 4) 选择 Map Layers 列表中的数据层,使用右向箭头将其添加到 Legend Items 中; 5) 选择 Legend Items 列表中的数据层,通过向上、向下方向箭头调整图层顺序,也 就是调整数据层符号在图例中排列的上下顺序; 6) 在 Set the number of columns in your legend 对话框中输入 1,确定图例按照一行排 列,单击下一步(图 5.48); 7) 在 Legend Title 中填入图例标题,在 font properties 选项组中可以更改标题的颜色、 字体、大小以及对齐方式等,单击下一步(图 5.49); 8) 在 Legend Frame 选项组中更改图例的边框样式、背景颜色、阴影等。完成设置后 单击 Preview 预览按钮可以在版面视图上预览到图例的效果; 9) 单击下一步,选择 Legend Item 列表中的数据层(图 5.50),在 Patch 选项卡设置其 属性:width(图例方框宽度):26.00;Height (图例方框高度):14.00;Line(轮廓线 图 5.48 Legend Wizard 对话框 图 5.49 Legend Wizard 对话框 图 5.50 Legend Wizard 对话框 170 属性)和 Area(图例方框色彩属性)。单击 Preview 按钮,预览图例符号显示设置效 果,单击下一步(图 5.51); 10)Title and Legend items(图例标题与图例符号之间的距离):8.00; 11)Leg items(分组图例符号之间的距离):5.00; 12)columns(两列图例符号之间的距离):5.00; 13)Heading and(分组图例标题与分级符号之间的距离):5.00; 14)Labels and Descriptions(图例标注与说明之间的距离):5.00; 15)Patches Vertically(图例符号之间的垂直距离):5.00; 16)Patches and labels(图例符号与标注之间的距离)5.00; 17)单击 Preview 按钮,预览图例符号显示设置效果。单击完成按钮,关闭对话框, 图例符号及其相应的标注与说明等内容放置在地图版面中; 18)单击刚刚放置的图例,并按住左键移动,将其拖放到更合适的位置。 如果对图例的图面效果不太满意,可以通过下面的操作进一步调整参数。 单击图例,双击左键,打开 Legend Properties 对话框。 (1) 图例标题与表现形式调整 1) 单击 Legend 标签,进入 Legend 选项卡(图 5.52); 2) 在 Title 文本框中可以输出或修改图例标题; 3) 在 Patch 选项组中的 Width 文本框中可以输入图例按钮的宽度; 4) 在 Patch 选项组中的 Height 文本框中可以输入图例按钮的高度; 5) 单击 Patch 选项组中的 Line 按钮可以改变线划图例类型; 6) 单击 Patch 选项组中的 Area 按钮可以改变面状图例类型; 图 5.51 Legend Wizard 对话框 171 7) 在 spacing between 选项组中可以输入图例行、列间隔尺寸; 8) 单击确定按钮,完成图例标题与表现形式设置,关闭对话框。 (2) 图例内容设置调整 1) 单击 Items 标签,进入 Items 选项卡; 2) 在 Legend items 窗口选择图层,可以通过上下前头按钮调整显示顺序; 3) 单击 Style 按钮,可以打开 Legend Item Selector 对话框,调整图例的符号类型, 可以使不同数据层具有不同的图例符号,单击 OK 按钮,关闭 Legend Item Selector 对话框,返回 Legend Properties 对 话框(图 5.53); 4) 单击选择在新的一列中排列该数 据层图例:Place in new column, 在 column微调框中输入图例列数: 2; 5) 设置图例与数据层的相关关系: Map connection,包括 4 个方面: a. 图例仅仅表示地图中显示的数据 层:only display layers ……。 b. 增加数据层以后图例内容自动调 整:Add a new item to the legend ……。 图 5.52 Legend Properties 对话框 图 5.53 Legend Properties 对话框 172 c. 地图数据层调整顺序之后图例相应调整:Reorder the legend items …...。 d. 根据地图的参考比例尺调整图例符号:Scale symbols when ……。 6) 如果要删除图例中的数据层,单击左箭头按钮使其在 Legend Items 中消失。 7) 单击确定拉钮,完成图例内容的选择设置。 (3) 图例背景与定位调整 1) 单击 Frame 标签,进入 Frame 选项卡(图 5.54); 2) 单击 border 的下拉箭头,选择图例背景边框符号; 3) 单击 Background 的下拉箭头,设置图例背景色形; 4) 单击 Group shadow 的下拉箭头,设置图例阴影的色彩; 5) 单击 Size and Position 标签,进入 Size and Position 选项卡(图 5.55); 6) 在 Position 选项组中输入横纵坐标(x,y),确定定位点(9 种定位点); 7) 单击 Position 确定按钮,关闭 Legend Item Selector 对话框.完成图例背景与定位 设置。 3. 比例尺的放置与修改 地图上标注的比例尺有数字比例尺和图形比例尺两种。数字比例尺非常精确地表达地 图要素与所代表的地物之间的定量关系,但不够直观,而且随着地图的变形与缩放,数字 比例尺标注的数字是无法相应变化的,无法直接用于地图的量测;而图形比例尺虽然不能 精确地表达制图比例,但可以用于地图量测,而且随地图本身的变形与缩放—起变化。由 于两种比例尺标注各有优缺,所以在地图上往往同时放置两种比例尺。 (1) 图形比例尺放置 1) 在 ArcMap 窗口主菜单条上单击 Insert 命令; 2) 在 Insert 下拉菜单上单击 Scale Bar 命令,打开 Scale Bar Selector 对话框(图 5.56); 图 5.54 Legend Properties 对话框 图 5.55 Legend Properties 对话框 173 3) 选择比例尺符号:A1ternating Scale Bar1; 4) 单击 Properties 按钮,打开 A1ternating Scale Bar 对话框(图 5.57); 5) 单击 Scale and Units 标签,进入 Scale and Units 选项卡; 6) 在 Division and value 文本框,输入 比例尺分划数值; 7) 在 Number of divisions(比例尺分划 数量)微调框中输入:2; 8) 在 Number of subdivisions(比例尺 细分数量)微调框中输入:4; 9) 在when resizing下拉框设置比例尺 调整时调整宽度:Adjust division value; 10)在 Division units 下拉框选择比例 尺数值分划单位:Decimal Degrees; 11)在 Label position 下拉框选择数值 单位标注位置:after labels; 12)在 Gap 微调框设置标注与比例尺图形之间距离:2.5pt; 13)单击确定按钮,关闭 A1ternating Scale Bar 对话框,完成比例尺设置; 14)单击 0K 按钮,关闭 Scale Bar Selector 对话框,初步完成比例尺放置; 15)任意移动比例尺图形到合适的位置。 注:上面在放置比例尺符号的过程中,只对比例尺符号类型、单位,分化等进行了设置下 图 5.57 Scale Bar 对话框 图 5.56 Scale Bar Selector 对话框 174 面还需要对比例尺的数字标注与符号分别做进一步编辑。 1) 在 ArcMap 窗口版面视图中,单击比例尺符号,右键选择 Properties 命令; 2) 打开 A1ternating Scale Bar Properties 对话框(图 5.58); 3) 单击 Numbers and Marks 标签,进入 Numbers and Marks 选项卡; 4) 在 Numbers 选项组中 Frequency 下拉 框设置标注:divisions and first mid point; 5) 在 Numbers 选项组中 Position 下拉框 设置标计数字的位置:Above Bar; 6) 在 Gap 下拉框设置标注数字与符号 之间的距离:2.5pt; 7) 单击 Number Format 按钮,进一步设 置标注数字格式; 8) 在 Marks 迭项组中 Frequency 下拉框 设置分割符号数量; 9) 在 Marks 选项组中 Position 下拉框设 置分割符号的位置方向; 10)在 Divisions Height 下拉框设置分割 符号的长度; 11)在 Subdivision Height 下拉框设置二级分割符号的长度; 图 5.58 A1ternating Scale Bar Properties 对话框 图 5.59 Scale Text 对话框 图 5.60 Scale Text 对话框 175 12)单击 symbo1 按钮,进一步设置分割符号特征。 (2) 放置数字比例尺 1) 在 ArcMap 窗口主菜单条上单击 Insert 下的 Scale Text 命令,打开 Scale Text 对话 框(图 5.59); 2) 在系统所提供的数字比例尺类型中选择一种; 3) 如果需要进一步设置参数,单击 Properties…按钮; 4) 打开 Scale Text 对话框(图 5.60); 5) 首先确定比例尺类型(Sty1e):Abso1ute 或者 Relative。如果是 Relative 类型,还 需要确定 Page Unit 和 Map Unit; 6) 单击确定按钮,关闭 scale Text 对话框,完成比例尺参数设置; 7) 单击 0K 按钮,关闭 Scale Text selector 对话框,完成数字比例尺设置; 8) 移动数字比例尺到合适的位置。 4. 指北针的设置与放置 ArcMap 窗口主菜单条: 1) 单击 Insert 下的 North Arrow 命令,打开 North Arrow Selector 对话框(图 5.61); 2) 在系统所提供的指北针类型中选一种,这里选择默认类型; 3) 如果需要进一步设置参数,单击 Properties 按钮,打开 North Arrow 对话框(图 5.62); 4) 确定指北针的大小(Size)、颜色(Color)、旋转角度(Calibration Angle); 5) 单击确定按钮,关闭 North Arrow 对话框。 6) 单击 OK 按钮,关闭 North Arrow selector 对话框,完成指北针放置。 7) 移动指北针到合适的位置。 5. 图形要素的设置 地理数据,以及图名、图例、比例尺、指北针等是地图的主要内容,是一幅完整地图 图 5.61 North Arrow Selector 对话框 图 5.62 North Arrow 对话框 176 不可或缺的组成部分。不仅如此,地图中还经常需要放置一些与数据组有关的图形要素, 如统计图表和统计报告等,这些要素丰富了地图的内容,扩展了地图的用途。 (1) 图形要素的放置 在 ArcMap 输出地图中放置的图形要素中,最常用的是矩形,因为矩形常常作为地图 的外图廓和背景色彩。下面就矩形图形要素的放置与色彩调整进行简要说明。 1) 在 ArcMap 窗口版面视图中的 绘图工具条中单击绘制矩形要 素按钮; 2) 在版面视图按住鼠标左键并拖 动,给定两点绘制矩形; 3) 双击所绘制的矩形要素,打开 Properties 对话框(图 5.63); 4) 单击 symbol 标签,进入 symbol 选项卡; 5) 单击 Fill Color 按钮,设置矩形 填充颜色;单击 Outline Color 按钮.设置矩形边框颜色;在 Outline width 窗口输入边框线 划宽度; 6) 单击确定按钮,完成图形属性设置。返回地 Map 窗口。 注:以上对图形要素本身进行了编辑,由于图形要素是最后放置的,位于其他地图要素的 上方,而图形要素又是作为地图的背景而存在的,所以调整图形要素与其他要素的上下关 系是非常必要的。 1) 在图形要素上单击右键,打开图面要素操作快捷菜单; 2) 在快捷菜单中指向 Order,单击 Send to Back 命令。将矩形图形要素放在其他地 图要素的底层。 (2) 统计报告的放置 统计报告是根据空间数据的属性特征值统计而成,在 ArcMap 中,统计报告输出到地 图中的步骤如下: 1) 在 ArcMap 窗口标准工具条中单击 Too1s 下拉条中的 Report 下的 Create a Report 命令,打开 Report Properties 对话框(图 5.64); 2) 根据需要设置统计报告的属性字段、统计指标与报告格式; 3) 单击 Generate Report 按纽,在 Report Viewer 窗口中生成统计报告(图 5.65); 4) 在 Report 菜单条中单击 Add 命令。打开 Add to Map 对话框(图 5.66); 5) 单击 A11 单选按钮,将 统计 报告所有的页面放置在输出地图中;如果只想放置当 前页面,选择 Current Page 单选按钮;如果想放置指定的页面,选择 Pages 单选 按钮,并输入页码; 图 5.63 Properties 对话框 177 6) 单击 OK 按钮,关闭 Add to Map 对话框,统计报告放置在输出地图 中; 7) 移动统计报告到合适的位置。 (3) 统计图形放置 根据空间数据的属性特征值绘制各种 统计图形(Graph)是 ArcMap 系统的基本功 能,统计图形可以直观地表达制图要素的数 量特征,所以是地图中经常出现的要素类 型。这里说明如何将统计图形放置到输出地 图中。 1) 打开一个州图层文件; 2) 在ArcMap窗口主菜单 中单击 Tools 下的 Graph 下的 Create a Graph 命令,打开 Graph Wizard Step 1of3 对话框(图 5.68); 3) 在 Graph type 列表中 选择统计图形类型: Column; 图 5.64 Report Properties 对话框 图 5.65 Report Viewer 对话框 图 5.66 Add to Map 对话框 图 5.67 Graph Wizard Step 1of3 对话框 178 4) 在 Graph subtype 列表中选择统计图形子类的第一种; 5) 单击下一步按钮,打开 Graph Wizard Step 2of3 对话框; 6) 在States中属性列表框中在POP1990和POP1999两个字段前的方框里打勾,Graph data series 中单击 Records 单选按钮; 7) 单击下一步按钮,打开 Graph Wizard Step 3of3 对话框(图 5.69); 8) 在 Title 文本框中输入统计图名称:Graph of pop,Subtitle 中写 pop of 1990&1999。 选中 Label X Axis With 复选框,并 选择属性字段:STATE_ NAME。选中 Label Data With Value(标注属性数据值)复选框。选中 Show Legend 复选框,设置图例的位置。 选中 Show Graph on Layout 复选框,将统计图放在版面视图中; 9) 单击完成按钮,完成统计图制作,并放置在输出地图中; 10)移动统计图形到合适的位置并调整其大小。 图 5.68 Graph Wizard Step 2of3 对话框 图 5.69 Graph Wizard Step 3of3 对话框 179 5.2.5 地图输出 编制好的地图通常按两种方式输出:其一,借助打印机或绘图机硬拷贝输出,其二, 转换成通用格式的栅格图形,以便于在多种系统中应用。对于硬拷贝打印输出,关键是要 选择设置与编制地图相对应的打印机或绘图机;而对于格式转换输出数字地图,关键是设 置好满足需要的栅格采样分辨率。 1. 地图打印输出 打印输出首先需要设置打印机或者绘图机及其纸张尺寸,然后进行打印预览,最后打 印输出硬拷贝地图。有时则需采用分幅打印或者强制订印两种方式打印。 (1) 地图分幅打印 1) 在 ArcMap 窗口标准工具条中单击 File 下的 Print Preview 命令,打开地图打印预 览窗口; 2) 单击 Print 按钮,打开 Print 对话框; 3) 确认打印机或绘图机型号,如果不正确,单击 Setup 进行设置; 4) 单击分幅打印:Tile Map to Printer paper; 5) 在 pages 对应的微调框设置分幅打印页码; 6) 在 Copies 微调框输入打印份数; 7) 单击 OK 按钮,提交打印机打印。 (2) 地图强制打印 1) 在 ArcMap 窗口标准工具条中单击 File 下的 Print 命令,打开 Print 对话框; 2) 选择强制按照打印机纸张大小打印:Scale map to fit printer; 3) 单击生成打印文件:Print to File; 4) 单击 OK 按纽执行上述打印设置,打开打印到文件对话框; 5) 确定打印文件目录与文件名; 6) 单击保存按钮,生成打印文件。 2. 地图转换输出 ArcMap 地图文档是 ArcGIS 系统的文件格式,不能脱离 ArcMap 环境来运行,但是 Arc Map 提供了多种输出文件格式,诸如 EMF、BMP、EPs、PDF、1PG、TIF 以及 ArcPress 格式, 转换以后的栅格或者矢量地图文件就可以在很多其他环境中应用了。 (1) 在 ArcMap 窗口标准工具条,单击 File 下的 Export Map 命令,打开 Export 对话框; (2) 确定输出文件目录、文件类型(JPEG),文件名称(Export Map); (3) 单击 Options 按钮,打开 JPEG Options 对话框; (4) 在 Resolution 微调框设置输出图形分辨率:300; (5) 单击 BackGround Color 按钮,确定输出图形背景颜色; (6) 按下左键拖动 Quality 滑动条,调整输出图形质量; (7) 单击确定按钮,关闭四 JPEG Options 对话框,返回 Export 地图转换对话框; (8) 单击 Export 按钮,关闭 Export 地图转换对话框,输出栅格图形文件。 180 5.3 实例与练习——上海市行政区划图制作 1. 背景: 专题地图是突出地表示一种或几种自然现象和社会经济现象的地图。行政区划图表示 各级行政区域的划分,反映政府对国界,省界等的标准画法以及行政区域命名及各类地名 的正确表示,是最常用的地图之一。 当确定了一幅地图所包含的数据之后,下一步就是确定地图要素的表示方法,即符号 化方法。它是根据数据的属性特征,地图用途和制图比例尺来确定地图要素的表示方法的。 符号化决定了地图将传递怎样的内容。矢量数据中,无论是点状,线状还是面状要素,都 可以依据要素的属性特征采取不同的符号化方法来实现数据的符号化。 地图注记是一幅完整地图的有机组成部分,用来说明图形符号无法表达的定量或定性 特征,如道路名称、城镇名称等。 坐标格网是地图重要的要素组成,它反映了地图的坐标系统或者地图投影信息。 一幅完整的地图除了上述要素以外,还需要包含与地理数据相关的一系列辅助要素, 如图名,图例,比例尺,指北针等。 2. 目的 让读者了解符号化、注记标注、格网绘制以及地图整饰的意义,掌握基本的符号化方 法、自动标注操作以及相关地图的整饰和输出的操作。对数字地图制图有初步的认识。 3. 要求 (1) 数据的符号化显示: 1) 地图中共有 6 个区,将这 6 个区按照 ID 字段来用分类色彩表示; 2) 将道路按 Class 字段分类:分为一级道路,二级道路,三级道路和四级道路,分 别使用不同的颜色来表示; 3) 地铁线符号 Color:深蓝色,Width:1.0; 4) 区县界线 Color:橘黄色,Width:1,样式:Dashed:6:1; 5) 区县政府 Color:红色,Size:10.00,样式:Star 3; 6) 市政府符号在区县政府基础上大小改为 18。 (2) 注记标注 1) 对地图中 6 个区的 Name 字段使用自动标注,标注统一使用 Country 2 样式,大 小 16; 2) 手动标注黄浦江(双线河),使用宋体、斜体、16 号字,字体方向为纵向,使用 曲线注记放置; 3) 地铁线使用自动标注。使用 Country 3 样式; 4) 道路中,对道路的 Class 字段为 GL03 的道路进行标注,字体为宋体,大小 10; 5) 区县政府使用自动标注,字体使用宋体,大小 10; 6) 市政府使用自动标注,字体为楷体,大小 14,并将注记放置在符号的上部。 181 (3) 绘制格网 使用索引参考格网,使用默认设置。 (4) 添加图幅整饰要素 1) 添加图例,包括所有字段; 2) 添加指北针,选择 ESRI North 3 样式; 3) 添加比例尺,选择 Alternating Scale Bar 1 样式。 4. 数据(上海矢量地图,来自于互联网): 上海市部分地区图层,其中包含: (1) 点图层:区县政府 (QXZF.shp),市政府 (SZF.shp) (2) 线图层:地铁线 (DTX.shp),区县界线 (QXJX.shp),道路 (DL.shp) (3) 面图层:区县界面 (QXJM.shp),双线河(SXH.shp) 5. 实验步骤 (1) 数据符号化: 1) 创建一个空白地图,打开“原 始地图.mxd”; 2) 根据排序规则将图层排序; 3) 在区县界面图层上右键打开 Layer Properties 对话框(图 5.70); a. 在 Value Field 中选择字 段:NAME; b. 单击Add All Values按钮, 将 6 个区的名称都添加进 来; c. 选择一个合适的配色方 案; d. 单击确定按钮完成符号 化设置。 4) 在地铁线图层的符号上单击左键,打开 Symbol Selector 对话框(图 5.71):将地铁 线符号改为与要求一致的形式:Color:深蓝色,Width:1.5。其他如区县界线, 区县政府,市政府,地铁站的符号修改也是一样; 5) 道路的符号化方法与区县界面方法类似,只需要选择 CLASS 字段,并对各个级 别使用不同大小和颜色的符号。 (2) 地图标注 1) 区县界面图层上右键打开菜单,打开 Layer Properties 对话框(图 5.72); a. 选中 Label feature in this layer 复选框; 图 5.70 Layer Properties 对话框 182 b. 在 Label 下拉列表框中选择 NAME 字段; c. 单击 Label Styles 按钮,打开 Label Styles Selector 对话框; d. 选择 Country 2 式样,单击 OK 返回; e. 单击确定按钮应用该设置。 2) 手动标注双线河 a. 单击主菜单 View 下的 Toolbars,选中 Draw,窗口出现 Draw 工具条; b. 单击注记工具中的曲线注记设置按钮 ,沿着黄浦江画一条弧线,双击结束 操作。 c. 在文本框中输入“黄浦江”,可以在字与字之间使用一定的空格作为间隔。 d. 设置字体、字号、斜体等属性。 e. 单击 Change Symbols 按钮,打开 Symbol Selector 对话框,在 CJK character orientation 选项前面打勾; f. 单击确定完成标注设置。 图 5.71 Symbol Selector 对话框 183 3) 由于只需要标注 CLASS 为“GL03”的道路名称,在 Layer Properties 对话框的标 注方法 Method 下选择 Define classes of features and label each class differently,单 击 SQL Query 按钮输入条件表达式"CLASS" ='GL03'即可; 4) 其余标注设置比较简单,可以参考本书 5.2.5 地图标注部分完成。 (3) 设置格网 1) 打开版面视图,如果版面不符合需要可以通过页面设置来改变图面尺寸和方向, 或者通过单击 Layout 工具栏上的 Change Layout 按钮对版面进行变换 ,应用 已有的模板进行设置; 2) 在数据组上右键单击 Properties 命令,打开 Data Frame Properties 对话框,进入 Grids 选项卡; 3) 单击 New Grid 按钮,打开 Grid and Graticules Wizard 对话框,选择 Reference Grid 选项,建立索引参考格网。下面的操作步骤详见 5.2 版面设计中的绘制坐标格网。 (4) 添加图幅整饰要素 1) 单击 Insert 下的 Legend 命令,打开 Legend Wizard 对话框,选择需要放在图例中 的字段,由于要素较多,可以使用两列排列图例。单击下一步选择图例的标题名 称,标题字体等。单击下一步设置图例框的属性。单击下一步改变图例样式。单 击完成,完成添加,将图例框拖放到合适的大小和位置; 2) 单击 Insert 下的 North Arrow 命令,打开 North Arrow Selector 对话框,选择符合 要求的指北针; 3) 单击 Insert 下的 Scale Bar 命令, 打开 Scale Bar Selector 对话框,选择符合要求的 比例尺; 4) 完成整饰要素的添加后,对其位置和大小进行整体调整,以便图面美观简洁(图 图 5.72 Layer Properties 对话框 184 5. 73)。 5) 将设置好的地图文档保存为“结果地图.mxd”。 图 5.73 上海市行政区划图 185 第六章 GIS 空间分析导论 空间分析是 GIS 的主要特征,有无空间分析功能是 GIS 与其他制图系统相区别的主要 标志。空间分析是从空间物体的空间位置、联系等方面去研究空间事物,以对空间事物做 出定量的描述。从信息提取的角度来讲,这类分析还不是严格意义上的分析,而是一种描 述和说明,是特征的提取、参数的计算。一般地讲,它只回答了“是什么?”“在哪里?”、 “有多少?”和“怎么样?”等问题,但并不回答“为什么?”。空间分析需要复杂的数学工 具,其中最主要的是空间统计学、图论、拓扑学、计算几何等,其主要任务是对空间构成 的描述和分析。 一般的对空间分析的理解是:空间分析是基于地理对象的位置和形态特征的空间数据 分析技术,其目的在于提取和传输空间信息;是地理信息系统的主要特征,同时也是评价 一个地理信息系统功能的主要指标之一;是各类综合性地学分析模型的基础,为人们建立 复杂的空间应用模型提供了基本工具。 6.1 空间分析的数据模型 地理信息系统要对自然对象进行描述、表达和分析,首先要建立合理的数据模型以存 储地理对象的位置、属性以及动态变化等信息,合理的数据模型是进行空间分析的基础。 这里介绍常见的数据模型。 现实世界错综复杂,从系统的角度来看,空间事物或实体的运动状态和运动方式不断 发生变化,系统的诸多组成要素之间存在着相互制约、相 互作用的依存关系,表现为人口、 质、能量、信息、价值的流动和作用,反映不同的空间现象和问题。为了控制和调节空间 系统的物质流、能量流和人口流等,使之转移到期望的状态和方式,实现动态平衡和持续 发展,人们开始考虑在建立数据模型表达现实世界的基础上,对其诸多组成要素的空间状 态、相互依存关系、变化过程、相互作用规律、反馈规律、调制机理等进行数字模拟和动 态分析,客观上为地理信息系统提供了良好的应用环境和重要发展动力。 空间分析是基于地理对象的位置和形态特征的空间数据分析技术。空间分析方法必然 要受到空间数据表示形式的制约和影响,因此,在研究空间分析时,就不能不考虑空间数 据表示方法与数据模型。 空间数据表示的基本任务是将以图形模拟的空间物体表示成计算机能够接受的数字 形式,因此空间数据的表示必然涉及空间数据模式和数据结构问题。 空间数据通常分为栅格模型和矢量模型两种基本的表示模型。此外矢量栅格一体化、 三维数据模型、时空数据模型等由于自身的特点,在某些方面代表数据模型发展的方向。 1. 栅格数据模型 在栅格模型中,地理空间被划分为规则单元(像元),空间位置由像元的行列号表示。 像元的大小反映数据的分辨率,空间物体由若干像元隐含描述。例如一条道路由其值为道 186 路编码值的一系列相邻的像元表示,要从数据库中删除这条道路,则必须将所有有关像元 的值改变成该条道路的背景值。栅格数据模型的设计思想是将地理空间看成一个连续的整 体,在这个空间中处处有定义。 栅格结构以规则阵列表示空间地物或现象分布的数据组织,组织中的每个数据表示地 物或现象的非几何属性特征。如图 6.1 所示,在栅格结构中,点用一个栅格单元表示;线 状地物则用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元在线 上;面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的 相邻单元同属一个区域。任何以面状分布的对象(土地利用、土壤类型、地势起伏、环境 污染等),都可以用栅格数据逼近。遥感影像就属于典型的栅格结构,每个象元的数字表 示影像的灰度等级。 栅格结构的显著特点是:属性明显,定位隐含,即数据直接记录属性的指针或属性本 身,而所在位置则根据行列号转换为相应的坐标给出,即定位是根据数据在数据集中的位 置得到的。由于栅格结构是按一定的规则排列的,所表示实体的位置很容易隐含在网格文 件的存贮结构中,在后面讲述栅格结构编码时可以看到,每个存贮单元的行列位置可以方 便地根据其在文件中的记录位置得到,且行列坐标可以很容易地转为其他坐标系 下的坐 标。 在栅格文件中每个代码本身明确地代表了实体的属性或属性的编码,如果为属性的编 码,则该编码可作为指向实体属性表的指针。图 6.1 中表示了一个代码为 6 的点实体,一 条代码为 9 的线实体,一个代码为 7 的面实体。由于栅格行列阵列容易为计算机存储、操 作和显示,因此这种结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易 于同遥感影像结合处理,给地理空间数据处理带来了极大的方便,受到普遍欢迎,许多系 统都部分和全部采用栅格结构,栅格结构的另一个优点是,特别适合于 FORTRAN、BASIC 等高级语言作文件或矩阵处理,这也是栅格结构易于为多数地理信息系统设计者接受的原 因之一。 栅格结构表示的地表是不连续的,是量化和近似离散的数据。在栅格结构中,地表被 分成相互邻接、规则排列的矩形方块(特殊的情况下也可以是三角形或菱形、六边形等), 每个方块与一个栅格单元相对应。栅格数据的比例尺就是栅格大小与地表相应单元大小之 比。在许多栅格数据处理时,常假设栅格所表示的量化表面是连续的,以便使用某些连续 函数。由于栅格结构对地表的量化,在计算面积、长度、距离、形状等空间指标时,若栅 格尺寸较大,则会造成较大的误差,同时由于在一个栅格的地表范围内,可能存在多于一 种的地物,而表示在相应的栅格结构中常只能是一个代码。这类似于遥感影像的混合象元 问题,如 landsat MSS 卫星影像单个象元对应地表 79×79m2 的矩形区域,影像上记录的光 谱数据是每个象元所对应的地表区域内所有地物类型的光谱辐射的总和效果。因而,这种 误差不仅有形态上的畸变,还可能包括属性方面的偏差。虽然栅格数据模型在表示空间要 素的精确位置时有缺点,但在诸多算法中,栅格可以看成行与列的矩阵,其单元值储存为 二维数组。常用的编程语言易于处理数组变量,栅格数据模型对于数据的操作、集合和分 析比矢量数据模型容易。 2. 矢量数据模型 187 矢量模型将地理空间看成一个空间区域,地理要素存在于其间。在矢量模型中,各类 地理要素根据其空间形态特征分为点、线、面三类,对实体实施位置显式、属性隐式的描 述的。 点实体包括由单独一对(x,y)坐标定位的一切地理或制图实体。在矢量数据结构中, 除点实体的(x,y)坐标外还应存储其它一些与点实体有关的数据来描述点实体的类型、制 图符号和显示要求等。点是空间上不可再分的地理实体,可以是具体的也可以是抽象的, 如地物点、文本位置点或线段网络的结点等,如果点是一个与其它信息无关的符号,则记 录时应包括符号类型、大小、方向等有关信息;如果点是文本实体,记录的数据应包括字 符大小、字体、排列方式、比例、方向以及与其它非图形属性的联系方式等信息。对其它 类型的点实体也应做相应的处理。 线实体用其中心轴线(或侧边线)上的抽样点坐标串表示其位置和形状;线实体可以 定义为直线元素组成的各种线性要素,直线元素由两对以上的(x,y)坐标定义。最简单的 线实体只存储它的起止点坐标、属性、显示符等有关数据。 面实体用范围轮廓线上的抽样点坐标串表示位置和范围,多边形面(有时称为区域) 数据是描述地理空间信息的最重要的一类数据。在区域实体中,具有名称属性和分类属性 的,多用多边形表示,如行政区、土地类型、植被分布等;具有标量属性的有时也用等值 线描述(如地形、降雨量等)。 3. 矢量—栅格数据模型的区别与联系 图 6.1 为地理数据模型示意图,其中(a)为图形模拟表示的地理对象;(b)为该空间 对象对应的栅格数据模型表示;(c)为对应的矢量模型表示。 栅格数据模型和矢量数据模型是描述地理现象最常见、最通用的数据模型。 栅格数据与矢量数据的最大区别是前者用元子空间充填集合表示,后者用点串序列表 达边界形状及分布。因此栅格数据面向空间的数据结构在布尔运算、整体操作特征计算及 空间检索方面有着明显的优势,而矢量数据面向目标的数据结构则很容易实现模型生成、 目标显示及几何变换。鉴于栅格与矢量两种数据结构的优劣互补性,研究栅格矢量一体化 数据结构已成为新一代 GIS 软件开发的基础。 4. 其他数据模型 随着二维制图和 GIS 的迅猛发展及广泛应用,使得不同领域的人们都在潜无意识的接 x 00 00 09 00 00 90 00 00 00 90 70 07 00 90 70 07 60 09 77 77 90 00 77 07 90 00 77 07 09 00 00 00 (a) (b) (c) 图6.1 地理数据模型示意图 188 受将三维空间简化为二维投影的概念模型。应用的深入和实践的需要渐渐暴露了二维 GIS 的缺陷,目前 GIS 工作者不得不思考地理空间的三维本质特征及在三维空间概念模型下的 一系列处理方法,首先对于空间实体的描述在几何坐标上增加了第三维的信息,即垂向坐 标信息。垂向坐标信息的增加导致空间拓扑关系复杂化,出现许多不同于二维数据模型, 有待于解决的新问题。合理高效的三维数据模型建立以及在此基础上进行三维分析是 GIS 发展的趋势。 传统的地理信息系统应用只涉及地理信息空间维度和属性维度两个方面的内容,对空 间对象进行静态的描述和表达。然而,世界是发展变化的,对象的表述应该加入时间维参 数。这样就要求建立能够对空间对象进行时间和空间全面动态描述的数据模型——时空数 据模型。 各种数据模型都有自己的优点和不足,从栅格数据模型、矢量数据模型、矢栅一体化 数据模型、三维数据模型到时空数据模型,可以看出,数 据模型发展的趋势是趋于更完整、 更全面、多维的、动态的对空间对象进行表达,同时数据结构也趋于复杂。在实际的应用 中,根据不同的应用目的和应用层面,选用适当的数据模型对对象进行表达和分析。以下 主要针对栅格数据和矢量数据分析的基本模式予以介绍。 6.2 GIS 空间分析的基本原理与方法 根据空间对象的不同特征可以运用不同的空间分析方法,其 核 心 是 根 据 描述空间对象 的空间数据分析其位置、属性、运动变化规律以及对周围其他对象的相关制约、相互影响 关系。不同的空间数据模型有其自身的特点和优点,基于不同的数据模型使用不同的分析 方法,这里主要介绍基于栅格数据模型和矢量数据模型的分析方法。 6.2.1 栅格数据分析的模式 栅格数据由于其自身数据结构的特点,在数据处理与分析中通常使用线性代数的二维 数字矩阵分析法作为数据分析的数学基础,因此具有自动分析处理较为简单。分析处理模 式化很强的特征。一般来说,栅格数据的分析处理方法可以概括为聚类聚合分析、多层面 复合分析、追踪分析、窗口分析、统计分析、量算等几种基本的分析模式。以下对这几种 模式分别进行简要的描述与讨论。 1. 栅格数据的聚类、聚合分析 栅格数据的聚类、聚合分析均是指将一个单一层面的栅格数据系统经某种变换而得到 一个具有新含义的栅格数据系统的数据处理过程。也有人将这种分析方法称之为栅格数据 的单层面派生处理法。 栅格数据的聚类是根据设定的聚类条件对原有数据系统进行有选择的信息提取而建 立新的栅格数据系统的方法。栅格数据的聚合分析是指根据空间分辨力和分类表,进行数 据类型的合并或转换以实现空间地域的兼并。栅格数据的聚类聚合分析处理法在数字地形 模型及遥感图象处理中的应用十分普遍。例如,由数字高程模型转换为数字高程分级模型 便是空间数据的聚合,而从遥感数字图象信息中提取其一地物的方法则是栅格数据的聚 189 类。 2. 栅格数据的复合分析 能够极为便利地进行同地区多层面空间信息的 自动复合叠置分析,是栅格数据一个突出的优点。 正因为如此,栅格数据常被用来进行区域适应性评 价、资源开发利用、规划等多因素分析研究工作。 在数字遥感图象处理工作中,利用该方法可以实现 不同波段遥感信息的自动合成处理;还可以利用不 同时间的数据信息进行某类现象动态变化的分析和 预测。因此该方法在计算机地学制图与分析中具有 重要的意义。 例如,利用土壤侵蚀通用方程式计算土壤侵蚀 量时,就可利用多层面栅格数据的函数运算复合分 析法进行自动处理。一个地区土壤侵蚀量的大小是 降雨(R)、植被覆度(C)、坡度(S)、坡长(L)、土壤 抗蚀性(SR)等因素的函数,逐栅格的复合分析运算,如图 6.2 所示。 类似这种分析方法在地学综合分析中具有十分广泛的应用前景。只要得到对于某项事 物关系及发展变化的函数关系式,便可运用以上方法完成各种人工难以完成的极其复杂的 分析运算,这也是目前信息自动复合叠置分析法受到广泛应用的原因。值得注意是,信息 的复合法只是处理地学信息的一种手段,而其中各层面信息关系模式的建立对分析工作的 完成及分析质量的优劣具有决定性作用。这往往需要经过大量的试验和总结研究,而计算 机自动复合分析法的出现也为获得这种关系模式创造了有利的条件。 3. 栅格数据的追踪分析 所谓栅格数据的追踪分析指对于特定的栅格数据 系统,由某一个或多个起点,按照一定的追踪线索追 踪目标或者追踪轨迹信息提取的空间分析方法。如图 6.3 所示例,栅格所记录的是地面点的海拔高程值,根 据地面水流必然向最大坡度方向流动的基本追踪线 索,可以得出在以上两个点位地面水流的基本轨迹。 此外,追踪分析法在扫描图件的矢量化、利用数字高 程模型自动提取等高线、污染源的追踪分析等方面都 发挥着十分重要的作用。 4. 栅格数据的窗口分析 地学信息除了在不同层面的因素之间存在着一定 的制约关系之外还表现在空间上存在着一定的关联 性。对于栅格数据所描述的某项地学要素,其中的(I, J )栅格往往会影响其周围栅格的属性特征。准确而有 效地反映这种事物空间上联系的特点,也必然是计算机地学分析的重要任务。窗口分析是 指对于栅格数据系统中的一个、多个栅格点或全部数据,开辟一个有固定分析半径的分析 窗口,并在该窗口内进行诸如极值、均值等一系列统计计算,或与其它层面的信息进行必 要的复合分析,从而实现栅格数据有效的水平方向扩展分析。 3 2 3 8 12 17 18 17 4 9 9 12 18 23 23 20 4 13 16 20 25 28 26 20 3 12 21 23 33 32 29 20 7 14 25 32 39 31 25 14 12 21 27 30 32 24 17 11 15 22 34 25 21 15 12 8 16 19 20 25 10 7 4 6 R C S L SR E E=F(R,C,S,L,SL,…) 图 6.2 复合分析示意图 图 6.3 由追踪法提取地面水流路径 190 按照分析窗口的形状,可以将分析窗口划分为以下类型,如图 6.4 所示: (1) 矩形窗口:以目标栅格为中心,分别向周围八个方向扩展一层或多层栅格。 (2) 圆型窗口:以目标栅格为中心,向周围作等距离搜索区,构成圆型分析窗口。 (3) 环型窗口:以目标栅格为中心,按指定的内外半径构成环型分析窗口。 (4) 扇型窗口:是以目标栅格为起点,按指定的起始与终止角度构成扇型分析窗口。 对于具体问题的分析过程中,不限于以上几种类型的窗口,分析者可以根据自己的需 要设计分析窗口。 5. 栅格数据统计与量算 需要了解一组栅格数据的整体特征和态势时,通常对其进行统计分析。例如,对于一 副 DEM,统计分析其最大高程、最低高程、平均高程以及某给定高程出现的频率,即可 对数据有整体的了解。统计分析的目的是为了解数据分布的趋势或者通过趋势的了解回归 拟合出某些空间属性之间的关系,以把握空间属性之间的关系和规律。栅格数据常规的统 计分析主要指对数据集合的最大值、最小值、均值、中值、总和、方差、频数、众数、范 围等参数进行分析。空间信息的自动化量算是地理信息系统的重要功能,也是进行空间分 析的定量化基础。栅格数据模型由于自身的特点很容易进行类似面积和体积等属性的量 算。例如基于在 DEM 计算某种属性地形所占的面积,只需统计出这种属性地形所占的栅 格数乘以其栅格分辨率就可以得到面积;要求某一区域的体积,只需把对应栅格的高程累 加即可,计算快捷方便。在工程土方计算、水库库容估计这种方法经常使用。 6.2.2 矢量数据分析方法 与栅格数据分析处理方法相比,矢量数据一般不存在模式化的分析处理方法,而表现 为处理方法的多样性与复杂性。以下选择几种最为常见的分析类型,说明矢量数据分析处 理的基本原理与方法。 1. 矢量数据包含分析 确定要素之间是否存在直接的联系,即矢量点、线、面之间是否存 在空间位置上的联系,这是地理信息分析处理中常要提出的问题,也是在地理信息系 统中实现图形、属性对位检索的前提条件与基本的分析方法。例如,若在计算机屏幕上利 用鼠标点击对应的点状、线状或面状图形,查询其对应的属性信息;或需要确定点状居民 地与线状河流或面状地类之间的空间关系(如是否相邻或包含),都需要利用矢量数据的 包含分析与数据处理方法。例如,要确定某座山脉属于哪个行政区;要测定某条断裂线经 过哪些城市建筑,都需要通过 GIS 信息分析方法中对已有矢量数据的包含分析来实现以上 目标。 图 6.4 分析窗口示意图 191 在包含分析的具体算法中,点与点、点与线的包含分析一般均可以分别通过先计算点 到点,点到线之间的距离,然后,利用最小距离阈值判断包含的结果。点与面之间的包含 分析,可以通过铅垂线算法来解决。 利用包含分析方法,还可以解决地图的自动分色,地图内容从面向点的制图综合,面 状数据从矢量向栅格格式的转换,以及区域内容的自动计数(例如某个设定的森林砍伐区 内,某一树种的颗数)等等。例如,确定某区域内矿井的个数,这是点与面之间的包含分 析,确定某一县境内公路的类型以及不同级别道路的里程,是线与面之间的包含分析。 2. 矢量数据的缓冲区分析 缓冲区分析是根据数据库的点、线、面实体,自动建立其周围一定宽度范围内的缓冲 多边形实体,从而实现空间数据在水平方向得以扩展的信息分析方法,如图 6.5 所示。点、 线、面矢量实体的缓冲区表示该矢量实体某种属性的影响范围,它是地理信息系统重要的 和基本的空间操作功能之一。例如,城市的噪音污染源所影响的一定空间范围、交通线两 侧所划定的绿化带,即可分别描述为点的缓冲区与线的缓冲带。而多边形面域的缓冲带有 正缓冲区与负缓冲区之分,多边形外部为多边形正缓冲区,内部为负。 3. 多边形叠置分析 多边形叠置分析是指同一地区、同一比例尺的两组或两组以上的多边形要素的数据文 件进行叠置。参加叠置分析的两个图层应都是矢量数据结构。若需进行多层叠置, 也是 两两叠置后再与第三层叠置,依次类推。其中被叠 置的多边形为本底多边形,用来叠置的多边形为上 覆多边形,叠置后产生具有多重属性的新多边形。 其基本的处理方法是,根据两组多边形边界的 交点来建立具有多重属性的多边形或进行多边形范 围内的属性特性的统计分析。 叠置的目的是通过区域多重属性的模拟,寻找 和确定同时具有几种地理属性的分布区域,按照确 定的地理指标,对叠置后产生的具有不同属性的多 边形进行重新分类或分级;或 者 是计算一种要素(如 土地利用)在另一种要素(如行政区域)的某个区 域多边形范围内的分布状况和数量特征,提取某个 区域范围内某种专题内容的数据,如图 6.6 所示。 多边形叠置分析应用广泛,诸多地理信息系统中都具备多边形叠置分析的功能。 4. 矢量数据的网络分析 网络分析的主要用途是:选择最佳路径、设施以及进行网络流分析。所谓最佳路径是 指从始点到终点的最短距离或花费最少的路线,如图 6.7 所示;最佳布局中心位置是指各 a. 点的缓冲 b. 线的缓冲 c. 面的缓冲 图 6.5 缓冲区示意图 图 6.6 叠置分析示意图 192 图 6.7 城市两点间最佳路径 中心所覆盖范围内任一点到中心的距离最近或成本花费 最小;网流量是指网络上从起点到终点的某个函数,如 运输价格,运输时间等。 网络分析首先要建立网络路径的拓扑关系和路径信 息属性数据库。既是需知道路径在网络中如何分布和经 过每一段路径需要的成本值,才能进行后续分析。 网络分析其基本思想则在于人类活动总是趋向于按 一定目标选择达到最佳效果的空间位置。这类问题在生 产、社会、经济活动中不胜枚举,研究此类问题具有重 大意义。 5. 泰森多边形分析 荷兰气候学家 A.H.Thiessen 提出了一种根据离散分 布的气象站的降雨量来计算平均降雨量的方法。该方法 是将所有相邻气象点连接成三角形,做这些三角形各边的垂直平分线,于是每个气象站周 围的若干垂直平分线围成一个多边形,如图 6.8 所示。 用这个多边形内所包含的一个唯一的气象站的降雨强度 来代表这个多边形区域的降雨强度,并称这个多边形为 泰森多边形。泰森多边形每个顶点是每个三角形的外接 圆圆心。泰森多边形也称为 Voronoi 图或者 Dirichlet 图。 泰森多边形的特性是:每个泰森多边形内仅含有一个离 散点数据;泰森多边形内的点到相应离散点的距离最近; 位于泰森多边形边上的点到其两边的离散点的距离相 等。泰森多边形可用于定性分析、统计分析、临近分析 等,是某些空间分析一个有用的工具。 6. 矢量数据的量算 矢量数据的量算主要是关于几何形态量算,对 于 点 、 线 、面、体 4 类实体而言,其含义是不同的。点状对象 的量算主要指对其位置信息的量算,例如坐标;线状对 象的量算包括其长度、方向、曲率、中点等方面的内容;面状对象的量算包括其面积、周 长、重心等;体状对象的量算包括表面积、体积的量算等。 6.2.3 空间统计分析与内插 空间统计分析的目的是为了找出某种属性分布的整体特征和趋势,了解其中的规律, 以便对其进行科学的分析和预测。空间统计方法是建立在概率论与数理统计基础上的地理 数学方法,适用于对各种随机现象、随机过程和随机事件的处理。几乎所有的地学现象、 地学过程和地学事件都具有一定随机性,这是由于地学对象的复杂性决定的。地学现象的 随机性是空间统计方法应用的基础。 空间统计分析主要用于空间数据的分类与综合评价。为了将空间实体的某些属性进行 图 6.8 泰森多边形示意图 193 横向或纵向比较,往往将实体的属性进行统计以便进行直观的综合评价。常用的地学统计 分析方法多种多样,包括相关性分析、回归分析、时间序列分析、系统聚类分析、主成分 分析、趋势面分析、马尔可夫预测以及克里格估计法等等。空间统计表现方式也多种多样, 有列表、直方图、云图、回归曲线等等形式,如图 6.9 所示。 空间统计分析除了能分析数据的整体态势外,还可以分析空间数据采样的合理性。通 过对样区内数据位置分布和取值分布的分析,统计该采样数据是否具有对样区某属性的代 表性以及基于此数据的分析是否具有较高的可信度。 空间数据往往是根据用户要求所获取的采样点观测值,诸如地面高程、土地肥力等。 这些点的分布一般是不规则、不连续的,在用户感兴趣或模型复杂区域可能采样点多,反 之则少。采样获得的数据一般是研究因素在某点的具体数值,是空间的矢量点数据。研究 区域某空间因子采样的个数是有限的,不可能布满整个研究区域。当用户对未采样点的数 值需要准确的了解时,希望能根据已知采样点的信息对附近未知点的属性进行预测或估计 呢,这就导致了空间内插技术的诞生。在已存在观测点的区域范围之内估计未观测点的特 征值的过程称内插;在已存在观测点的区域范围之外估计未观测点的特征值的过程称外插 或推估。插值方法大都是基于矢量点数据的,目前也有学者提出线插值和面插值的概念和 方法,但还不成熟和完善,有待于进一步的研究和讨论。 图 6.9 统计结果的表示形式 194 内插目的是根据已知点的属性合理推断和预测附近未知点的属性值,如图 6.10 所示, 由点数据内插形成表面,得到面上任意点的值(以样条插值为例)。内插的方法有若干种, 各自有自己特点和不足,常用的有反距离权插值、样条插值和克力格插值。根据具体问题 的特征,选择适当的插值方法进行插值,才可能对未知点的属性得到较为准确的预测和反 映,图 6.10 是根据数据的高程值以样条插值方法为例进行插值得到的高程表面。 6.2.4 三维空间分析 栅格和矢量数据模型都可以进行三维分析,矢量数据模型三维分析方法主要是基于数 学分析和图论的思想,栅格数据以矩阵计算为理论基础进行分析。 当前,GIS 的研究成果和应用系统主要集中于描述二维空间信息,各项技术已较为成 熟。但由于二维地理信息系统将实际的三维实体采用二维方式表示,具有很大的局限性, 图 5.11 地形的三维显示与分析 图 6.10 内插生成表面 195 大量的多维空间信息无法得到利用。随着地理信息系统技术的进一步发展,人们越来越关 心三维空间分析。 二维和三维的本质区别在于数据分布的范围,空间实体的描述在几何坐标上增加第三 维的信息——垂向坐标信息。三维空间分析除了对空间对象的位置坐标进行分析外,更重 要的是对第三维坐标的分析。利用基础地形数据生成三维地形透视图,模拟仿真实地环境, 并在此基础上进行三维空间分析,是当代地理信息系统研究的一个重要内容。三维空间分 析不仅包括对空间实体的三维显示(如图 6.11 所示)、查询,坡度、坡向、地表粗糙度、 复杂度、地表曲率等地形属性的计算和提取,还可以应用到其他领域,如降水分析、土壤 酸碱度分析、气温分析、可视域分析、水文分析等。 6.3 ArcGIS 9 空间分析模块和功能 ArcGIS9 具有功能强大、应用领域非常广泛,在社会公共安全与应急服务、国土资源 管理、遥感、智能交通系统建设、水利、电力、石油、国防、公共医疗卫生、电信等方面 和领域都有深入的应用。强大的空间分析功能是 ArcGIS9 的特点与核心之一。无论是栅格 数据还是矢量数据、低维的点、线、面对象还是三维动态对象,都可以通过其空间分析功 能得到较为理想的结果。ArcGIS9 的空间分析模块(ArcGIS Spatial Analyst)功能的实现主 要是基于栅格数据进行的,其 可以 完 成常用的数据转换、分析、统计、分类和显示等功能。 空间分析模块是 ArcGIS9 进行空间分析的主要模块,但并不囊括 ArcGIS9 的所有空间分析 功能,其他的一些模块可以帮助用户进行专题性较强、较有特色的空间分析,如统计分析 模块、三维分析模块等。 ArcGIS9 的空间分析功能主要包括空间分析模块、3D 分析模块、地统计分析模块、 网络分析模块、跟踪分析模块等,如图 6.12 所示。空间分析功能的实现,各模块具有各自 的特点和优势,以下几章将进行详细介绍,这里就其能够实现的功能和特点作一简要的说 明。 ArcGIS Spatial Analyst 模块是 ArcGIS Desktop 中一组全面的高级空间建模和空间分析 工具,应用 ArcGIS Spatial Analyst,用户可从原始数据中得到新的数据,分析空间关系和 空间特征,应用空间分析模块可以进行:(1)距离分析,(2)密度分析,(3)寻找适宜位 置,(4)寻找位置间的最佳路径,(5)距离和路径成本分析,(6)基于本地环境、邻域或 含有空间分析功能 的模块 空间分析 模块 3D 分析 模块 地统计 模块 网络分析 模块 跟踪分析 模块 …… 图 6.12 包含空间分析功能的主要模块 196 待定区域的统计分析,(7)应用简单的影像处理工具生成新数据,(8)对研究区进行基于 采样点的插值,(9)进行数据整理以方便进一步的数据分析和显示,(10)栅格矢量数据 的转换,(11)栅格计算、统计、重分类等功能。 ArcGIS Spatial Analyst 被紧密的集成在 ArcGIS Desktop 地理数据处理环境中,因此一 些复杂的分析问题的解决比以往更加容易。地理数据处理模型不仅易于创建和执行,并且 是独立存档的,使用户能够迅速理解所进行的空间分析处理。 ArcGIS 3D Analyst 模块,能 够 对 表 面数据进行高效率的可视化和分析。使用 ArcGIS 3D Analyst,用户可以从不同的视点观察表面,查询表面,确定从表面上某一点观察时其他地 物的可见性,还 可 以 将栅格和矢量数据贴在表面以创建一副真实的透视图,如图 6.13 所示。 ArcGIS 3D 分析扩展模块的核心是 ArcGlobe 应用程序。ArcGlobe 提供浏览多层 GIS 数据、 创建和分析表面的界面。同时,ArcGIS 3D Analyst 提供了三维建模的高级 GIS 工具,比如 挖填分析、可见分析以及地表建模等。 ArcGIS Geostatistical Analyst 模块是 ArcGIS Desktop 的一个扩展模块,它为空间数据 探测、确定数据异常、优化预测、评价预测的不确定性和生成数据面等工作提供各种各样 的工具。其主要能够完成探究数据可变性、查找不合理数据、检查数据的整体变化趋势、 分析空间自相关和多数据集之间的相互关系以及利用各种地统计模型和工具来做预报、预 报标准误差、计算大于某一阈值的概率和分位图绘制等工作。ArcGIS Geostatistical Analyst 是一个完整的工具包,它可以实现空间数据预处理、地统计分析、等高线分析和后期处理 等功能,同样包含交互式的图形工具,这些工具带有为缺省模型设计的稳定性参数,这样 帮助初学者快速掌握地统计分析。地理统计分析模块使得 ArcGIS 的数据管理、可视化、 和图形工具之间更加协调,是 GIS 应用者一个强有力的地理统计分析工具。 ArcGIS 网络分析模块可以帮助用户创建和管理复杂的网络数据集合,并生成路径解 决方案。ArcGIS Network Analyst 是进行路径分析的扩展模块,为基于网络的空间分析(比 如位置分析,行车时间分析和空间交互式建模等)提供了一个全新的解决框架。这一扩展 模块将帮助 ArcGIS Desktop 用户模拟现实世界中的网络条件与情景。ArcGIS Network Analyst 模块能够进行行车时间分析、点到点的路径分析、路径方向、服务区域定义、最短 路径、最佳路径、邻近设施、起始点目标点矩阵等分析,使用户能够使用地理网络来解决 多种多样的问题,使诸如寻找最高效的旅行路线、生成旅行向导,或者发现最邻近设施等 图 6.13 三维表面漫游和查询 197 任务变得方便快捷。 ArcGIS Tracking Analyst 模块提供时间序列的回放和分析功能,可以帮助显示复杂的 时间序列和空间模型,并且有助于在 ArcGIS 系统中与其他类型的 GIS 数据集成时相互作 用。其可完成一下功能:回放历史数据、基于一定原理的制图、数据中的时间模型、在 GIS 系统中积分时间数据、平衡现有的 GIS 数据来创建时间序列可视化和创建分析历史数 据和实时数据变化的图表等。ArcGIS Tracking Analyst 扩展了 ArcGIS 桌面功能,增加了时 间序列及其变化的实时可视化。 ArcGIS9 中还有若干包含有某种空间分析功能的模块,如立体分析模块等,在此不一 一列举。本书在以下的几章中着重对 ArcGIS9 中空间分析模块、三维分析模块、空间统计 模块和 ArcToolbox 的主要功能、使用方法以及其空间分析的原理进行详细的说明和介绍。 198 第七章 矢量数据的空间分析 矢量数据不同于栅格数据,一般不存在模式化的分析处理方法。在 ArcGIS 中,矢量 数据的空间分析主要集中于缓冲区分析、叠置分析和网络分析等方面。 7.1 缓冲区分析 缓冲区(Buffer)是对一组或一类地图要素(点、线或面)按设定的距离条件,围绕这组 要素而形成具有一定范围多边形实体,从而实现数据在二维空间扩展的信息分析方法。 7.1.1 基本概念 从数学的角度来看,缓冲区是给定空间对象或集合后获得的它们的邻域。邻域的大小 由邻域的半径或缓冲区建立条件来决定。因此对于一个给定的对象 A,它的缓冲区可以定 义为: (d 一般是指欧式距离,也可以是其它的距离,其中 r 为邻域半 径或缓冲区建立的条件) 缓冲区建立的形态多种多样,主要依据缓冲区建立的条件来确定。常用的点缓冲区有 圆形、三角形、矩形和环形等;线缓冲区有双侧对称、双侧不对称或单侧缓冲区等形状; 面缓冲区有内侧和外侧缓冲区。不同形态额缓冲区可满足不同的应用要求。点状要素,线 状要素和面状要素的缓冲区示意图如图 7.1。 7.1.2 缓冲区的建立 缓冲区的建立相对简单。对点状要素直接以该点为圆心,以要求的缓冲区距离大小为 {(,)}PxdxAr=£ 点状要素的缓冲 线状要素的缓冲区 面状要素的缓冲区 图 7.1 点、线和面状要素的缓冲区 199 半径绘圆,所包容的区域即为所要求区域,因为是在一维区域里,所以对于点状要素较为 简单;线状要素和面状要素则相对复杂,它们此时缓冲区的建立是以线状要素或面状要素 的边线为参考线作其平行线,并考虑端点处的建立原则,最终即可建立缓冲区,但在实际 中处理起来要复杂的多。主要有: 1.角平分线法 首先对边线作平行线,然后在线状要素的首尾 点处,作其垂线并按缓冲区半径 r 截出左右边线的 起止点。在其它的折点处,用与该点相关联的两段 相邻线段平行线的交点来确定(如图 7.2)。 该 方法的缺点是在折点处,无法保证双线的等 宽性,而且当折点处的夹角越大,d 的距离就越大, 误差也就越大,所以要有相应的补充判别方案来进 行校正处理。 2.凸角圆弧法 首先对边线作平行线,然后在线状要素的首尾点 处,作其垂线并按缓冲区半径 r 截出左右边线的起止 点,然后以 r 为半径分别以首尾点为圆心,以垂线截 出的起止点为圆的起点和终点作半圆弧。在其它的折 点处,首先判断该点的凹凸性,在凸侧用圆弧弥合, 在凹侧用与该点相关联的两段相邻线段平行线的交点 来确定(如图 7.3)。 该 方法在理论上保证了等宽性,减少了异常情况 的发生概率,在计算机中该算法利用自动建立缓冲区 时,对凹凸点的判断是非常重要的一点,要利用矢量空间直角坐标系的方法来进行判断处 理。 在 ArcGIS 中建立缓冲区的方法是基于生成多边形(buffer wizard)来实现的。它根据 给定的缓冲区距离,对点状、线状和面状要素的周围形成缓冲区多边形图层,是基于矢量 结构。以下介绍在 ArcGIS 中建立缓冲区的方法: 对区域内的邮箱的影响覆盖范围(以 1000 米为例)做分析: (1) 对点文件 postbox.shp 进行分析操作,首先打开菜单 Tools 下的 Customize 命令, 在打开的对话框中选择 Command 标签; (2) 在弹出的 Command 对话框中(如图 7.4)从左边的 Categorie 框中选择 Tools, 然后在右边的 Command 框中选择 Buffer wizard,将其拖动到工具栏上的空处,出现图标 ; d r 图7.2 角平分线法 图7.3 凸角圆弧法 d r 200 (3) 利用选择工具 选择要进行 分析的代表邮箱的点状要素,然后点击 图标,出现 Buffer wizard 对话框(如图 7.5)。 选择要进行缓冲区分析的 postbox 文件,其 中有选择要素和未选择要素时在 Use only the selected feature 复选框前打勾(仅对已 选择主题中的元素进行分析), 单 击下一 步; (4) 此时弹出缓冲区分析形式对话框(图 7.6), 其 中 可 选 三种不同方式选择建立不 同种类的缓冲区: 图 7.6 缓冲区分析建立类型选择对话框 图 7.4 buffer wizard 添加对话框 图 7.5 缓冲区分析对象选择对话框 201 1) At a specified distance 是以一个给定的距离建立缓冲区(普通缓冲区); 2) Based on a distance from an attribute 是以分析对象的属性值作为权值建立缓冲区( 属 性 权值缓冲区); 3) An multiple buffer rings 是建立一个给定环个数和间距的分级缓冲区(分级缓冲区)。 ( 5 ) 选择普通缓冲区,给定 1000 米作为缓冲范围,在下面的选择合适的单位, (6) 单击“下一步”进入图 7.7 界面。 1) 在 Dissolve barriers between 中选择是否将相交的缓冲区融合在一起; 2) 在 Create buffers so they are 选项中对多边形进行的内缓冲和外缓冲的选择; 3) 在 When you want the buffers to be saved 选项卡中的是生成文件的选择,第一个是生 图 7.8 生成的点状要素的缓冲区 图 7.7 缓冲区存放选择对话框 202 成一个图形文件,第二个是选择是否在已经生成的文件上添加,第三个是重新生成一个新 的文件。选择最后一项给定其存放路径和文件名; (7) 单击完成,建立如图 7.8 所示的缓冲区。 不同的缓冲区建立方法得到的缓冲区也有一定的区别,在实际应用中要根据不同的需 要来选择合适的建立方法。图 7.9 和图 7.10 分别是对象属性值和环状分级两种不同类型的 缓冲区;有时也有同一区域的不同性质的要素建立的缓冲区的情况,此时要求它们彼此间 图 7.9 以对象属性值获得的缓冲区结果 图 7.10 分成四级的缓冲区的建立结果 203 互不干扰(见图 7.11)。 以 上 是点状要素缓冲区建立。而线状要素的缓冲区,由于要素的空间形态的不同,使得缓 冲区的形状不同,但是缓冲区的类型是一样的。它们同样可进行普通,分级,属性权值和 图 7.11 互不干扰的缓冲区的建立结果 图 7.12 线状要素的缓冲区 204 独立缓冲区的建立,且建立的操作步骤和点状要素的一样。图 7.12 是其中一种线缓冲区建 立的结果: 面状要素也可以进行建立缓冲区的操作,其中面状要素的内缓冲区和外缓冲区之分。 在 ArcGIS 中,面状要素缓冲区的建立有四种选择,主要区 别如下: (1) inside and outside(内外缓冲区之和) (2) only outside(仅仅只有外缓冲区) (3) only inside(仅仅只有内缓冲区) (4) outside and include inside(外缓冲区和原有图形之 和)(具体见图 7.13 和 7.14 所示) 除了利用 buffer wizard 建立缓冲区方法之外,还可以利用距离制图( mapping distance), 的栅格分析方法。缓冲区多边形建立后,下一步将进行缓冲区分析,即将缓冲区多边形与 需要进行缓冲区分析的图层叠置分析,得到需要结果。 7.2 叠置分析 叠置分析是地理信息系统中用来提取空间隐含信息的方法之一。叠置分析是将代表不 同主题的各个数据层面进行叠置产生一个新的数据层面,叠置结果综合了原来两个或多个 层面要素所具有的属性。叠置分析不仅生成了新的空间关系,而且还将输入的多个数据层 的属性联系起来产生了新的属性关系。叠置分析要求被叠加的要素层面必须是基于相同坐 标系统的,相同区域,同时还必须查验叠加层面之间的基准面是否相同。 从原理上说,叠置分析是对新要素的属性按一定的数学模型进行计算分析,其中往往 涉及到逻辑交、逻辑并、逻辑差等的运算。根据操作要素的不同,叠置分析可以分成点与 多边形叠加、线与多边形叠加、多边形与多边形叠加;根据操作形式的不同,叠置分析可 以分为图层擦除、识别叠加、交集操作、对称区别分析、图层合并和修正更新,以下就这 六种形式分别介绍叠置分析的操作,同时对属性进行一定的操作。 在 ArcGIS 中可以进行叠置分析的数据格式有 coverage,shapefile,GeoDatabase 中的 数据要素等,这里主要以 shapefile 为例子来介绍。 图 7.13 原始的面状要素 inside and outside only outside only inside outside and include inside 图 7.14 面状要素缓冲区 205 7.2.1 图层擦除(Erase) 图层擦除指根据擦除参照图层的范围大小,擦除参照图层所覆盖的输入图层内的要 素。从数学的空间逻辑运算的角度来说,即 AAB- I (即 xAÎ 且 xBÏ ,A 为输入图层, B 为擦除层)具体表现如下所示: 在 ArcGS 中实现以上的操作,具体的步骤如下: 1. 首先打开 ArcMap 主界面,点击 (即 ArcToolbox 按钮)打开 ArcToolbox 工具 箱, 在 ArcToolbox 中选择 Analyst Tools,打开后选择 Overlay 中的 Erase 选项,双击打开 Erase 对话框;(如图 7.16) 2. 在 Erase 操作对话框中选择输入图层(Input Features), 擦除参照(Erase Feature), 输 出 图 层( Output Feature Class)和分类容许量及单位,在 右 下 角的环境设置( Environments) 中,对输入输出数据的参数进行设置。 3. 单击 OK,完成操作。 多边形与多边形 线与多边形 点与多边形 图 7.15 图层擦除的三种形式 从 arctoolbox 中选择 erase 操作 erase 操作对话框 图 7.16 图层擦除操作 206 线状输入图层和点状输入图层在擦除操作后也能得到类似于图 7.17 的结果,具体请参 照上述的步骤。 输出图层 输入图层 擦除参照 图 7.17 图层擦除 207 7.2.2 识别叠加(Identity) 输入图层进行识别叠加,是在图形交迭的区域,识别图层的属性将赋给输入图层在该 区域内的地图要素,同时也有部分的图形的变化在其中,如图 7.18 所示。 在ArcGIS 中的具体操作: 1. 从 ArcToolbox 中选择 Analyst Tools,打 开后选择 Overlay 中的 Identity 选项,打开其 对话框(图 7.19); 2. 然后填入输入图层(Input features), 识 别 参 照 图 层 ( Erase feature), 输 出 图 层 ( Output Feature Class)和选择需要连接的属性字段, 在右下角的环境设置(Environments)中,可 以对输入输出数据的参数进行设置; 3. 单击 OK,完成操作。 图 7.19 Identity 操作对话框 多边形和多边形 线和多边形 点和多边形 图 7.18 识别叠加的三种形式 208 同样对线状输入图层和点状输入图层在识别叠置操作后也能得到类似于图 7.20 的结 果。需注意在 ArcGIS 中识别图层必须是多边形图层。 7.2.3 交集操作(Intersect) 交集操作是通过叠置处理得到两个图层的交集部分,并且原图层的所有属性将同时在 得到的新的图层上显示出来。即 xABÎ I (A,B 分别是进行交集的两个图层)。 由 于点, 线,面三种要素都有可能获得交集,所以它们的交集的情形有七种。举例如下(图 7.21): 输入图 识别参照图层 输 出 图 图 7.20 识别叠加 209 交集操作在 ArcGIS 中的实现如下(以多边形为例): 1. 从 ArcToolbox 中选择 Analyst Tools,打开后选择 Overlay 中的 Intersect 选项,打开 对话框(图 7.22); 多边形与多边形 线与多边形 点与多边形 点、线与多边形三者相交 线与线 点与线 点与点 图 7.21 点,线,面相交的几种类型 210 2. 然后逐个输入要进行相交的图层(Input features),按 右 边的“加号”将图层添加进来, 图 7.22 Intersect 对话框 输入多边形图层一 输入多边形图层二 图 7.23 交集操作实现 输出图层 211 在中间“Features”组合框内的就是要进行相交操作的图层列表,输入要输出文件的路径和名 称(Output Feature Class),同时在下方的属性字段中选择要进行连接的属性字段(Join Attributes)或全部,输出文件的类型,也可以对环境参数进行相关的设置; 3. 单击 OK 完成操作,结果如图 7.23。 要注意的是,当同时输入的几个图层是不同维数时(例如线和多边形,点和多边形, 点和线), 输 出 结 果 的 几何类型是输入图层中最低维数的几何形态。 7.2.4 对称区别(Symmetrical difference) 在矢量的叠置分析中有时只需获得两个图层 叠加后去掉其公共的区域。新生成的图层的属性 也是综合两者的属性而产生的。用逻辑代数运算 的方式表示就是: ()xABABÎ-UI(A,B 为输入 的两个图层)。图解表示如图 7.24: 需要注意的是,在 ArcGIS 中,均匀差值操作 时,无论是输入图层或差值图层都必须是多边形 图层。虽然在理论上,点和线依然可进行此类叠 置分析,但从层面的角度来考虑,不同维数的几 何形态进行均匀差值的叠置分析,最后得到的一层面内会存在不同的几何形态,即一种层 面出现两种形态。所以在 ArcGIS 规定了只能对多边形进行此类操作。下面是在 ArcGIS 中的实现过程: 1. 从 Arctoolbox 中选择 Analyst Tools,打 开后选择 Overlay 中的 Symmetrical Difference 选项,打开对话框(图 7.25); 2. 在打开的对话框中,选择要进行操作的 输入图层(Input Features),同 时 在 下 面 选择参 照图层(Update Features), 输入要输出的文件 路径和名称(Output Feature Class),同时在下 方的属性字段中选择要进行连接的属性字段 (Join Attributes)或全部,和容错量。也可以 对环境参数进行相关的设置; 3. 单击 OK 完成操作,输出结果如图 7.26。 图 7.24 对称区别图解 图 7.25 symmetrical difference 对话框 212 在操作输出图层的同时对原有图层的属性值字段也进行了操作,将差值图层的属性添加在 了输入图层的后面,进行赋零操作。原有的差值图层添加到输入图层的那部分图形只保留 了原有的差值图层的属性,而其他的属性为零。 7.2.5 图层合并(Union) 图层合并是指,通过把两个图层的区域范围 联合起来而保持来自输入地图和叠加地图的所有 地图要素。在布尔运算上用的是“or”关键字,即 输入图层 or 叠加图层。因此输出的图层应该对应 于输入图层或叠加图层或两者的叠加范围。同 时 在 图 层 合 并时要求两个图层的几何特性必须全部是 多边形。图 层 合 并 将 原 来的多边形要素分割成新要 素,新要素综合了原来两层或多层的属性。多边形 图 7.27 图层合并图解 输入图层 参照图层 输出的图层 图 7.26 对称区别实现 213 图层合并的结果通常就是按照一个多边形的空间格局分布,对另一个多边形进行几何求交 而划分成多个多边形,同时进行属性分配过程将输入图层对象的属性拷贝到新对象的属性 表中,或把输入图层对象的标识作为外键,直接关联到输入图层的属性表中。图层合并从 数学角度来表示就是:{}xxABÎ U (A,B 为 输入的两个图层), 如 图 7.27。在 ArcGIS 中如 下操作: 1. 从 ArcToolbox 中选择 Analyst Tools,打 开后选择 Overlay 中的 Union 选项,打开其对 话框(图 7.28); 2. 在打开的对话框中,逐个选择要进行合 并的图层(Input Features),按右边的“加号” 来将图层添加进来。在中间“Features”组合框 内的就是要进行合并操作的图层列表,输入要 输出的文件的路径和名称(Output Features), 同 时 在 下 方的属性字段中选择要进行连接的 属性字段(Join Attributes)或全部,输出文件 的类型,也可以对环境参数进行相关的设置; 3. 单击 OK 完成操作,输出结果如图 7.29。 理论上讲,矢量的图层合并操作可以对各 种形式矢量图形进行合并,而不局限于多边形与多边形。线与线,点与点之间都可以进行 合并操作,而不同维数的对象例如点与线、点与面、线与面,由于目前的文件格式,操作 形式的限制,理论上还没不能将它们作为同一大类的要素形态而在一起进行研究,所以只 能对同维形态进行图层合并。在实际中最常用的是多边形与多边形的合并分析。 图 7.28 Union 对话框 214 7.2.6 修正更新(Update) 修正更新指,首先对输入的图层和修正图层进行几何相交的计算,然后输入的图层中 被修正图层覆盖的那一部分的属性将被修正图层的属性代替。而且如果两个图层均是多边 形要素的话,那么两者将进行合并,并且重叠部分将被修正图层所代替,而输入图层的那 一部分将被擦去。这主要是利用空间格局分布关系来对空间实体的属性进行重新赋值,可 以将一定区域内事物的属性进行集体赋值操作。从地学意义上来说,修正更新是建立了空 间框架格局关系和属性值之间的一个间接的联系。图解表示如下: 输出的结果图层 输入要合并的图层一 输入要合并的图层二 图 7.29 图层合并实现 215 在 ArcGIS 中实现修正更新的操作是: 1. 从 ArcToolbox 中选择 Analyst Tools,而后选择 Overlay 中的 Update 选项,打开对话 框(图 7.31); 2. 在对话框中,输入要进行操作的输入图层(Input Features),同时在下面输入修正更 新图层(Update Feature), 输入要输出的文件路径和名称(Output Feature Class),在下面 的边界(Borders)上选择在两个图形相交的地方是否有边界的存在,也可以对容错量和环 境参数进行相关的设置; 3. 单击 OK 完成操作,操作过程和输出结 果如图 7.32。 在叠置分析中最常见的误差是破碎多边 形,也就是在两个输入地图的相关或共同边 界,相交的地方会出现非常细小的多边形区 域。这 时 就 需 要设置一定的容错量来消除这种 细小多边形,即上述各个对话框中的容错量 (Cluster Tolerance)。 另 外 ,在 ArcGIS 中除了 shapefile 之外, 也可以对 GeoDatabse 里面的要素或 coverage 进行叠置分析,操作基本上一致。需要 ArcGIS WorkStation 软件的支持才能对 coverage 格式 的进行叠置分析。 矢量空间叠置分析的内容远远要多于以上 6 种方式,但是将它们逐个细化下来都离不 开这 6 种基本方式。实际中空间分析是复杂且灵活的,在本章后面将逐步介绍如何综合应 用矢量空间叠置分析解决实际中的问题。 多边形与多边形 线与多边形 点与多边形 图 7.30 修正更新示意图 图 7.31 update 对话框 216 7.3 网络分析 空间数据的网络分析是对地理网络,城市基础设施网络(如各种网线,电缆线,电力 线,电话线,供水线,排水管道等)进行地理化和模型化,基于它们本身在空间上的拓扑 关系、内在联系、跨度等属性和性质来进行空间分析,通过满足必要的条件得到合理的分 析结果。网络分析的理论基础是图论和运筹学,它是从运筹学的角度来研究,统筹,策划 一类具有网络拓扑性质的工程如何安排各个要素的运行使其能充分发挥其作用或达到所 预想的目标,如资源的最佳分配,最短路径的寻找,地址的查询匹配等。而在此之中所采 用的是基于数学图论理论的方法,即利用统筹学建立模型,再利用其网络本身的空间关系, 采用数学的方法来实现这个模型,最终得到结果,从而指导现实和应用。故而对网络分析 的研究在空间分析中占有着极其重要的意义。以下将从网络的组成和建立、网络分析的预 输入的图层 修正更新的图层 有边界的输出结果 无边界的输出结果 图 7.32 修正更新过程和两种输出结果 217 处理、网络分析的基本功能和操作三个方面来介绍。 7.3.1 网络的组成和建立 网络是现实世界中,由链和结点组成的、带有环路,并伴随着一系列支配网络中流动 的约束条件的线网图形。网络中的基本组成部分和属性如下: 1. 线状要素——链 网络中流动的管线,包括有形物体如街道,河流,水管,电缆线等。无形物体如无线 电通讯网络等,其状态属性包括阻力和需求; 2. 点状要素 (1) 障碍,禁止网络中链上流动的点; (2) 拐角点,出现在网络链中所有的分割结点上状态属性的阻力,如拐弯的时间和 限制(如不允许左拐); (3) 中心,是接受或分配资源的位置,如水库,商业中心、电站等。其状态属性包 括资源容量(如总的资源量), 阻 力限额(如中心与链之间的最大距离或时间限制); (4) 站点,在路径选择中资源增减的站点,如库房、汽车站等其状态属性有要被运 输的资源需求,如产品数。 网络中的状态属性有阻力和需求两项,可通过空间属性和状态属性的转换,根据实际 情况赋到网络属性表中。一般情况下,网络是将内在的线,点等要素在相应的位置绘出后, 然后根据他们的空间位置以及各种属性特征建立拓扑关系,正确的拓扑关系是网络分析的 基础。 而在 ArcGIS 网络分析,又称设施网络分析(Utility Network Analyst), 它 涉及的网络 是由一系列要素类别组成的。可以度量并能图形表达的网络,又被称为几何网络。图形的 特征可以在网络上表现出来,在同一个网络中也可同时表示出如运输线、闸门、保险丝与 变压器等不同性质的数据。一个几何网络包含了线段与交点的连结信息且定义出部分规 则,如:哪一个类别的线段可以连至某一特定类别的交点,或某两个类别的线段必须连至 哪一个类别的交点。 一个完整的几何网络必须首先建立一个空的空间图形网络然后再加入各个属性特征 值。一旦网络数据被建立起来,全部数据就被存放在地理数据库中,由数据库的生命循环 周期来维持其运作。当使用者使用或编辑部分或全部的图形属性特征数据时,都将以从原 先的地理数据库中调出的已定义好的连接规则和相互关系为基础。在 ArcGIS 中建立的几 何网络的格式是GeoDataBase,全部的数据和组成部分被封装在一个文件中。如何在ArcGIS 中建立几何网络并定义连结规则,以及定义图层特征类别间相关关联信息,请见第 3 章 GeoDataBase 的建立。 218 7.3.2 网络分析的预处理 1. 网络数据的加载:网络分析是基于几何网络进行的,进行网络分析的前提是几何 网络的调用。一般来说,根据分析工作的需要,选择调用的网络数据。基本的网络分析, 必须加载至少一种包含网络属性的要素类型。对于全部网络数据的制图输出,就必须加载 包含网络属性的整个要素数据库。 (1) 在 ArcGIS 中加载单个几 何网络数据要素的步骤如下: 1) 利用增加数据按钮 ,打 开添加数据的对话框。 2) 选择在地理数据库(mdb 文 件)中包含网络属性要素的数据库; 3) 双击要素数据库后,显示出 来该数据库所包含的要素类型和几 何网络数据(图 7.33),在其中选择 要素 network,并将其加载到ArcMap 窗口中(图 7.34)。 ( 2 ) 在 ArcGIS 中加载要素的数据集步骤如下: 1) 利用增加数据按钮 ,打开添加数据的对话框。 图 7.34 在ArcMap 窗口中网络的显示 图 7.33 数据库中包含的要素类型和几何网络数据 219 2) 选择在地理数据库中包含网络属性要素的数据库; 3) 单击左键,然后点添加(Add), 将 city 要素数据集加载到 ArcMap 中( 如 图 7.35)。 数据集中不但包括了线状要素,点状要素而且还将拓扑关系、空间属性和状态属性等 包容其中,在一定程度上能够实现各种完整的网络分析功能。 2. 网络数据的符号化:网络的线状要素的属性存在着可运行和不可运行情形,称之 为可运行性。在 ArcGIS 中,可以在 ArcMap中使用符号化功能来简单的定义可运行(Enable) 与不可运行(Disable)。 可 运 行 的要素允许资源流动通过,不可运行的要素则不允许。这 项信息被储存在该要素类别属性表格中的 Enable 字段,字段内的值是 0 或 1,值为 1 代表 可运行的,值为 0 代表不可运行的。使用属性来符号化要素可以很快的定义出哪些图征是 可运行的,哪些是不可运行的。下面是在 ArcGIS 中的操作过程: (1) 在需要进行符号化的几何网络线状图层上点击右键,打开数据层操作快捷菜单, 图 7.35 几何网络要素数据集在 ArcMap 中显示 图 7.36 Symbology 选项卡 220 单击 Properties 命令,打开 Layer Properties 对话框。 (2) 在上述对话框上,单击 Symbology 标签进入 Symbology 选项卡。(图 7.36) (3) 在左侧 Show 窗口内单击 Categories,打开对话框,在出现的下拉菜单中选择选 择 Unique Values,打开 Unique Values 对话框。 (4) 在 Value Field 属性选择下拉框中选择属性字段:Enabled(图 7.37) (5) 单击 Add All Values 按钮,将 Enabled 字段的两个值列出,同时可以对两个值显 示的默认符号双击调整,单击确定可以显示出网络上要素的可运行性。(图 7.38,图中深 图 7.37 Enabled 属性字段选择 图 7.38 网络线状要素的可运行性符号显示 221 色为不可运行要素) 除了可运行性之外,符号化也可以在上述属性字段选择中,选择将其他的属性以不同 的符号来显示。同样对于点状要素通过符号化也可以告诉使用者哪些地图要素在网络中是 起点(source)或终点(sink),或都不是。建立一个几何网络时,可以指定哪些要素包含 起点或终点特征。这 些 要素有一项属性称为 AncillaryRole 包含这项信息,字段值为1代表 起点特,值为2代表终点,0代表都不是。使用这项属性来符号化要素特征可以很快的分 辨出哪些是起点及哪些是终点,具体的操作基本上如上述步骤,这里不再重复。 3. 网络数据的修改和完善:建立了一个几何网络,也要对其进行一定程度的修改和 完善,这里对常用的一些几何网络数据修改操作进行简单的介绍,包括增加网络图形,空 间关系的改变,属性特征的修改(主要是对于网络中可运行性进行修改)。 ( 1 ) 增 加 几何网络要素 添加新的几何网络要素和直接在数据库中添加数据要素是类似的,不同之处在于当新 的几何网络要素被添加到几何网络中的时候,它在空间上和其他网络要素在空间上的拓扑 连接关系将同时由地理数据库自动产生并保存。在 ArcGIS 中的具体操作如同添加新要素 的操作一样,具体操作参考第 3 章数据编辑。 (2) 网络连通性的变更 由于时间或空间的变化,网络中的空间连通性会发生一定的变化,例如城市中有些道 路因为修路的原因不能通行。解除连通性并非是将要素从数据库中删除,只是移除了它与 其他要素在空间上的关联;同样建立连通性是将该要素与其他要素相联结在一起,建立它 们之间的空间关联,具体操作如下: 1) 在网络连通性的变更操作之前,需要将建立和解除连通性的工具按钮添加进来 A. 首先打开 Tools 下的 Customize 选择 command 标签; B. 在弹出的 command 对话框中(如图 7.38),从 左 边的 Categorie 框中选择 Editor, 在出现右边的 Editor 框中选择 Connect,并 拖动其放置到工具栏上的空处,出现图标 ; C. 找到下面出现的 Disconnect,同 样 拖 动 其 放 置 到工具栏上的空处,出现图标 。(图 7.39) 2) 在添加完工具按钮后进行网络连通性的变更操作, 首先是网络连通性的建立: A. 按 Editor 选单并选 Start Editing; B. 按 Edit 工具 ; 图7.39 网络连通性变更工具添加对话框 222 C. 点选欲建立网络连通性的要素; D. 按连结钮 ,使得其建立网络连通 3) 其次是对网络连通性的解除: A. 按 Editor 选单并选 Start Editing; B. 按 Edit 工具 ; C. 点选欲建立网络连通性的要素; D. 按连结钮 ,使得其网络连通解除 4. 网络可运行性的编辑 几何网络中的任何几何网络要素都可以是可运行的或不可运行的。在几何网络中预设 的所有的要素都是可以运行的,而不可运行的要素可以被当作网络中的中断来处理。而不 需要真的移除它与其他空间网络要素的空间关系,例如单行道。在 ArcGIS 中,网络的运 行性可以通过编辑目标,要素属性中的 Enabled 属性来修改。具体步骤如下: (1) 按 Editor 选单并选 Start Editing; (2) 按 Edit 工具 ,并点选欲编辑的要素; (3) 按属性钮 ; (4) 按 Value 选项的 Enabled 属性; 图 7.40 网络可运行性编辑对话框 223 (5) 对话框中将显示这项属性的所有可能值(就像 Enabled 属性的定义); (6) 选择 True 使要素可起作用。选择 False 使要素不可起作用; (7) 按 Editor 选单并选 Stop Editing,并确定储存数据的更新。(图 7.40) 7.3.3 网络分析的基本功能和操作 1. 基本功能 网络分析的基本功能是基于几何网络的特征和属性,利用距离、权重和规划条件来进 行分析得到结果并且应用在实际中,它主要包括路径分析、地 址匹配和资源分配三个方面。 具体如下: (1) 路径分析 1) 最佳路径分析:分为静态和动态两种,静态方法是指确定用户权值关系后(即给 定每条弧段的属性), 当 需 求最佳路径时,读出路径的相关属性,求最佳路径;动态方法 是指实际网络分析中权值是随着权值关系式变化的,而且可能会临时出现一些障碍点,所 以往往需要动态地计算最佳路径。 2) N 条 最 佳 路 径 分析:确定起点、终点,求代价较小的几条路径,因为在实践中往 往仅求出一条最佳路径并不能满足要求,可能因为某种因素不能选择最佳路径。 3) 最短路径:确定起点、终点和所要求经过的中间点、中间连线,求最佳路径。 4) 动态分段技术:给定一条路径由多段联系组成,要求标注出这条路上的公里点或 要求定位某一公路上的某一点,标注出某条路上从某一公里数到另一公里数的路段。 (2) 地址匹配 地址匹配实质是对地理位置的查询,它涉及到地址编码。地址匹配与其他网络分析功 能结合在一起,可以满足实际工作中非常复杂的分析要求。所需要输入的数据,包括地址 表和含地址范围的街道网络及待查询地址的属性值。 (3) 资源分配 资源分配网络模型由中心点(分配中心)及其状态属性和网络组成。分配有两种方式, 一种是由分配中心向四周输出,另一种是由四周向中心集中。这种分配功能可以解决资源 的有效流动和合理分配问题。资源分配在地理网络中的应用与区位论中的中心地理论类 似。在资源分配模型中,研究区可以是机能区,可根据网络流的阻力等来研究中心的吸引 区,为网络中的每一连接寻找最近的中心,以实现最佳的服务。 2. 分析原理 从网络分析的原理来看,对于上述的任何一种功能或方法,都是给定条件和要求,利 用网络流的流向来寻求路线、区域或较好的结果的。例如最短路径可以根据网络流和距离 的权重,利用一定的路径追踪原理来得到代价最小的路径。可以将网络分析划分成两个基 础模块:流向分析和追踪分析。上述网络分析的经典的分析功能都是可由这两个基础模块 来组建或衍生。下面就着重从这两个基础模块来对网络分析进行介绍: (1) 流向分析 224 设施网络应用上,了解网络线段上的资源和要素流动方向是必要的。在网络中的流动 方向是决定于: A. 网络的连通性 B. 网络中起点或终点要素的位置 C. 网络要素的可运行性 起点及终点位置控制了设施网络的流向方向。起点是指交点要素流动将由自己开始至 网络中的其它位置,如:在水流分布网络中,河流的出海口就是终点,所以重力将引导水 流流向出海口。流动是由起点要素至终点要素,因为流向可以由起点或终点特性来建立, 所以通常在网络中只要指定起点或指定终点即可。 1) 流向的分类。作为网络中边要素的流向可以分为三个类别: A. 确定的流向。如果网络中的流向可以唯一地用网络的连通性、起点和终点的位置以 及网络要素的可运行性来确定,而且这个网络边要素就被当作有确定的流向,一般来说, 边要素的流向既可以与数字化的方向相同,也可以相反,没有明确的规定。 B. 不确定的流向。不确定流向通常发生在循环或封闭回路的情况下,也可能发生在有 数个起点及数个终点方向的线段上。一个线段的流向由一个起点或一个终点来决定,但若 另一端的起点或终点所决定的方向是相反的,如:一个线段两端都是起点时就属于不确定 流向。 C. 未初始化的流向。如果网络的边要素独立于起点或终点之外,那么这个边要素就具 有未初始化的流向。这种情形可能发生在边要素建立拓扑过程中,边要素没有和起点或终 点连接上,或是即使连接上了,但是起点和终点同时与当前不可运行的要素相连接。 在流向确定中要注意的是:一般,城市中存在着回路(连通图)所以在网络中很多的 流向就是变成了不确定的流向。 2) 流向的显示: 网络流向功能是设定网络数据中资源的流动方向。ArcGIS 将此信息储存在网络的线段 图征中,使用设施网络分析(Utility Network Analyst)工具条就可以显示网络边要素的流 向,显示哪些是确定的流向,哪些是不确定的流向,哪些是未初始化的流向。 在 ArcGIS 中可以利用网络分析的工具将流向显示出来,具体的操作如下: A. 在工具栏上点右键,将设施网络分析工具条(Utility Network Analyst)添加进来, 或者在 view 菜单下选择 toolbars 在右边的下拉菜单中添加设施网络分析工具条(Utility Network Analyst); B. 在设施网络分析工具条(Utility Network Analyst)中点选 Flow 选单,选 Display Arrows For,然后在选欲显示流向的图层前打勾;(图 7.41) 图 7.41 设施网络分析工具条 225 C. 然后在 Flow 选择菜单下,选 Properties,在弹出的 Flow Display Property 对话框里 选择 Arrow Symbol 标签页,选择 flow category 中的流动类别,可以设定不同类别的流向 箭头大小与颜色的钮;同样选择 Scale 标签页根据比例尺可以更改显示范围。Show arrows at all scales 是指任何比例尺均显示,Don’t show arrows when zoomed 是指某一比例尺范围 才显示,点选 OK 钮;(图 7.42) D. 在 Flow选单的下拉菜单中按下的 Display Arrows,流向箭头就会显示出来。(图 7.43) 3) 流向的设定: 在 ArcGIS 中也可以对流动的方向进行设定或控制,一般来说要综合考虑网络中的拓 扑关系,网络中要素的作用性,起点、终点的位置来建立流向的。而当几何网络发生变更 时,必须对流向进行重新的设定,具体有以下几种情形: 图 7.42 Flow Display Property 对话框 图 7.43 流向显示图 226 A. 建立了一个新的几何网络时; B. 对几何网络中的要素进行了增加或者删除; C. 对网络要素进行修改后,使得几何网络中的拓扑关系发生变化; D. 增加或者删除起点或终点; E. 网络要素的连通性发生改变; F. 网络要素的可运行性发生变化; 设定流向功能是为新的网络的拓扑关系的建立资源流动方向。在此之前,为了设定流 向, 网络必须包含至少一个结点的网络要素,且被设定为起点或终点。所以首先要对网 络起点和终点进行设定: A. 在 Editor 工具条中选 Start Editing; B. 单击属性钮 ,打开属性窗口; C. 按编辑钮 后再选择欲设为起点或终点的结点要素,这 个 结 点要素在建立网络时 必须属于包含起点与终点的结点要素之一; D. 在属性窗口中点选 Value 字段再选 AncillaryRole 属性,在 下 拉 菜 单 中 选择 Source(起 点)或 Sink(终点)来设定该结点要素为起点或终点(在选单中按 None 即可复原);(图 7.44) E. 在 Editor 选单中选 Stop Editing,按确定储存网络数据的编辑,完成结点要素的设 定。 在流向的起点和终点设置完毕之后,就可以对网络中的流向进行设置,在 ArcGIS 中 流向的具体设置是由软件内部自动实现的,实际的操作如下: A. 在 Editor 选单中选择 Start Editing; 图 7.44 起点或终点设置 227 B. 在设施网络分析工具条上单击 Set Flow Direction 钮 ,完成设定; C. 在 Editor 选单中选择 Stop Editing,单击确定来储存网络数据的编辑。 (2) 追踪分析 追踪分析是按照一定的程序,通过对网络要素连接性的追踪,使得周围相连接的网络 要素被过滤地选择,形成一个需要的追踪结果。网络追踪包含连结性。在追踪分析的结果 中,一个网络元素均需与其它元素有连接性。追踪成果是指追踪操作后所找到的网络要素 配置结果。 1) 追踪分析的基础: 在追踪分析中要涉及到一系列有关于几何网络要素的基本概念和简单操作,故而在介 绍网络追踪分析之前先对这些概念和操作进行简单的介绍: A. 旗标与障碍 旗标定义为追踪的起点。旗标可以放置在任何交点或线段上,在执行追踪操作时,使 用这些线段或交点作为追踪操作的起点,而连结至这些线段或交点的网络元素就会被包含 进追踪的结果。 障碍则是用来隔离某个部分网络,可以放置在任何交点或线段上,在 执 行 追踪操作时, 将这些网络要素被当作不可运行,以防追踪工作延续至这些要素上。 B. 可运行要素和图层 在某个特定的位置设置障碍是使要素不可运行的一种方法最常用,如在道路维修时, 被维修的道路暂时不能使用,这在空间的交通几何网络上应被当作不可运行状态,这说明 在交通流动分析中将停止在这个要素上的追踪,追踪分析中是不考虑不可运行要素的。 另外在一些追踪分析中,不需要对几何网络数据中的一个层面进行研究分析,就将这 个层面设置成不可运行的,那么追踪分析将不会对这个层面上的网络数据进行分析研究 的。 C. 权重 几何网络要素中,不同类型的要素可以有不同的属性权重,线 状 要素有诸如道路长度、 道路畅通效果,电力网络中的电阻值等属性,不同的属性权重值有着不同的意义。建立网 络时,根据需要设定哪些线段与交点要素的属性为权重,可以使用这些权重来指定在追踪 操作结果内的要素的成本。在 ArcGIS 的追踪工具中,只有寻找最佳路径时才使用权重来 计算追踪成本。 在使用权重进行最佳路径分析时必须指定使用哪些确定的权重。对点状要素而言,可 以使用一个简单的权重;对线状要素而言,有两种权重可以使用:一是顺着线状要素的数 字化方向(From-to)的权重,另一是逆着线状要素数字化的方向(To-from)的权重。线 状要素的数字化方向是指该要素的端点在地理数据库中的储存顺序,一个线段的每一个方 向可以依实际需要指定不同的比重,所以从某一个方向追踪一个线段会与从另个方向计算 的结果有不同的权重。 D. 权重过滤器 228 为了限制部分可能被追踪到的网络要素,采用权重过滤器这种方法。这种方法通过为 那些可能被追踪到的网络要素设定一定的权重值有效范围,以便在追踪分析中使用。对于 点状要素可以仅仅使用一个简单的权重,线状要素则需使用两个权重。 E. 已追踪要素与终止追踪要素 追踪分析在计算机中实现的过程是逐步进行的,结果也是随追踪积累得到的,所以在 追踪分析的过程当中,需要对已追踪的要素和终止追踪要素进行记录存储。已追踪的要素 是指需要追踪得到的要素,而终止追踪要素是指追踪无法通过,而不能继续的要素。这种 要素包括不可运行的要素,已经被设置有障碍的要素和虽然已经被追踪到但只是连接到另 一条死路的要素,即只有一个要素与其连接。 F. 应用选择集修改追踪目标 在追踪工作进行中,因为某些原因需要对追踪目标进行一定程度的选择集修改,而在 ArcMap 中有三种途径可选择集修改追踪目标: a. 从设施网络分析工具条(Utility Network Analyst)中选择 Analyst Options 选项, 在其对话框中确定要进行追踪分析的要素是全体要素还是部分要素。不参与进行追踪分析 的要素,在要进行的追踪分析的几何网络中充当着障碍的作用; b.在执行追踪操作时,你可以指定哪些图层纳入选择集,从 ArcMap 的 Selection 主菜单,指定哪些图层可以或不可以被选择; c. 可以使用相互作用的选择方法——通过选择 Selection 主菜单来设定按照一定选 择规则交互式的确定追踪分析的结果,可产生一个新的选择集,也可以追加到已有的选择 集中去、或从现有选择集中选出追踪操作成果、或从现有选择集中移除追踪操作成果。 综上所述,通过网络追踪工作,可以实现将追踪结果传回作为判断选择的设定、将个 别要素或整个图层设为无作用状态;在线状要素或点状要素上设置障碍;存储记忆已追踪 要素或停止追踪的要素以及在一定的选择集上进行追踪分析和结果的获得。同时使用以上 操作,对较为复杂的网络追踪工作进行处理。 2) 追踪分析的操作: 网络追踪分析主要可以实现以下几个方面的分析操作:网络下溯追踪(Trace downstream)、网络上溯追踪(Trace upstream)、网络上溯积累追踪(Find the upstream accumulation)、网络上溯起点路径分析(Find an upstream path to the source)、 公共祖先追 踪分析(Find common ancestors)、网络连接要素分析(Find connected features)、网络中断 要素分析( Find disconnected features)、网络路径分析( find path)、网络环路分析( find loops) 等。根据以上的几种操作方法,可以基本上实现简单网络分析的追踪分析功能,也可以结 合这几方面以及其他的空间分析方法做一些比较复杂的网络分析的实际问题。以下将着重 介绍追踪分析的操作方法: A. 添加旗标和障碍 a) 在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头; b) 点击欲增加至网络的旗标或障碍元素的按钮; c) 将鼠标移至欲增加旗标或障碍的线状要素或点状要素; d) 鼠标按下即增加旗标或障碍。(图 7.45) 229 B. 网络下溯追踪(Trace downstream) a. 在设施网络分析工具列上,点 选 旗 标 和 障 碍 工 具 板 下 拉 箭头; b. 将旗标放在每一个欲向下游追踪的点; c. 点选追踪工作(Track task)下拉菜单选向 下游追踪(Find downstream);(图 7.46) d. 单击追踪工作(Track task)下拉菜单旁边 的 solve 键,则由旗标向下游追踪的所有要素将 显示出来。(图 7.47) 点状要素旗标添加工 线状要素旗标添加工 点状要素障碍添加工 线状要素障碍添加工 图7.45 旗标和障碍添加工具 图 7.46 追踪工作下拉菜单 230 C. 网络上溯追踪(Trace upstream) a. 在每一个想要进行向上游追踪的点设置旗标; b. 点选追踪工作(Track task)下拉菜单选向上游追踪(Find upstream);(图 7.46) 图 7.47 网络下溯追踪分析结果 图 7.48 网络上溯追踪分析结果 231 c. 单击 solve 键 ,则由旗标向上游追踪的所有要素将显示出来。(图 7.48) D. 网络上溯积累追踪(Find Upstream Accumulation) a. 在每一个欲向上游累积的点上设置旗标。 b. 点选 Analysis 下拉菜单并选 Options 选项。在打开的 Options 选项对话框中,选 择 Weights 标签页,按一下 Junction weights 下 拉 箭头并选择欲计算交点的权重 (Weights)属性字段名。(图 7.49) c. 在 Edge weights 组合框中 From-to 线 状权重下拉列表并选择将计算沿线状要素 数字化方向的权重字段名。 To-from 线状权 重下拉箭头并选择将计算沿线状要素数字 化方向的权重字段名。 d. 单击 OK,然后点选追踪工作(Track task)下拉菜单选向上游累积(Find Upstream accumulation)。 (图 7.46) e. 单击 solve 键,则由旗标向上游追踪 的所有要素将显示出来,而这些图征的总成本( cost)将呈现在左下角的状态栏中。(图 7.50) 图 7.49 Analysis Options 对话框 weights 标签 图 7.50 网络上溯积累追踪分析结果 232 E. 网络上溯起点路径分析(Find an upstream path to the source) a. 在每一个欲寻找至起点的上游路径的点状要素上设置好旗标; b. 点选追踪工作(Track task)下拉菜单选择寻找上游路径(Find path upstream)。(图 7.46); c. 单击 solve 键,显示出每一个旗标向上游至起点的路径。(图 7.51) F. 公共祖先追踪分析(Find Common Ancestors) a. 在每一个欲寻找共同起点的点要素上设置好旗标; b. 点选追踪工作(Track task)下拉菜单选择寻找共同来源(Find common ancestors); (图 7.46) c. 单击 solve 键,属于所有旗标上游的图征将显示出来。(图 7.52) 图 7.51 网络上溯起点路径分析结果 233 G. 网络连接要素分析(Find connected features) a. 在每一个欲寻找连接要素的点上设置旗标; b. 点选追踪工作(Track task)下拉菜单选择寻找连结图征(Find connected features); (图 7.46) 图 7.52 网络公共祖先分析结果 图 7.53 网络连接要素分析结果 234 c. 单击 solve 键,与设定旗标的图征连结的所有图征将显示出来。(图 7.53 图中深色 为与旗标相连通的,浅色为不相连通的) H. 网络中断要素分析(Find disconnected features); a. 在每一个欲寻找与之中断要素的点上设置旗标; b. 点选追踪工作(Track task)下拉菜单选择寻找中断要素( Find disconnected features); (图 7.46) c. 单击 solve 键,与设定旗标的图征中断的所 有图征将显示出来。(图 7.54 图中深色为中断要 素) I. 网络点要素的隔离(Isolating a point on the network) a. 在地图上将旗标放在欲隔离的点要素上。 b. 点选 Analysis 下拉菜单并选 Disable Layers, 检查是否包含欲隔离点要素的图层。然后在 Analysis 下拉菜单选择 Options,进入 Analysis Options 对话框; c. 点选 Results 标签页并选 Selection,然后选 Features stopping the trace,并单击确定。 (图 7.55) d. 在主菜单中,点选 Selection 并选 Set Selectable Layers。除了包含欲隔离点图征的图 图 7.54 网络中断要素分析结果 图 7.55 Analysis Options 对话框 Results 标签 235 层之外不需检查; e. 点选追踪工作(Track task)下拉菜单选择寻找连结要素(Find connected features); (图 7.46) f. 单击 solve 键,被选出来的要素就可以用来在网络中隔离目标点;(图 7.56 图中深色 为与旗标相不相连通) J. 利用权重过滤器进行网络连接要素分析(Finding connected features using weight filters) a. 将旗标放在每一个欲寻找相连要素 的点上; b. 点选 Analysis 并选 Options; c. 点 选 Weight Filter 选 单 ,点选 Junction weight 下拉箭头并选择欲用来过 滤交点的比重字段名。在交点的 Weight range 输入框输入用来过滤交点的表示法。 点选 Not 以排除这个范围。 按一下 Verify 来检查交点权重过滤器的语法;(图 7.57) d. 点选 From-to weight 下拉箭头并选 择欲用来沿数字化方向过滤线状要素的权 重字段名。点选 To-from weight 下拉箭头 并选择欲用来沿数字化反方向来过滤线状 要素的权重字段名。在线段的 Weight range 图 7.56 网络点要素的隔离结果 图 7.57 Analysis Options 对话框 Weight Filter 标签 236 输入框输入用来过滤线段的表示法。点选 Not 以排除这个范围。按 Verify 按钮来检查线段 比重滤器的语法,按 OK;(图 7.57) e. 点选追踪工作(Track task)下拉菜单选择寻找连结要素(Find connected features); (图 7.46) f. 单击solve键,则使用滤器后与设定旗标的要素相连的所有要素将显示出来。(图7.58) 图 7.58 利用权重过滤器进行网络连接要素分析结果 图 7.59 网络路径分析分析结果 237 K. 网络路径分析(find path) a. 将旗标放在欲寻找路径的要素之间; b. 点选追踪工作(Track task)下拉菜单选择寻找路径(find path);(图 7.46) c. 单击 solve 键,则在设定旗标的要素之间的路径将显示出来。(图 7.59) L. 最短路径分析(find a shortest path) a. 将旗标放在欲寻找路径的要素之间; b. 点选 Analysis 并选 Options; c. 点选 Weights 标签页,点选 Junction weights 下拉箭头并选择欲用来计算交点的权重 字段名;(图 7.49) d. 单击 From-to 线段权重下拉箭头并选择欲追踪沿线状要素数字化方向的权重字段 名。单击 To-from 线段权重下拉箭头并选择欲追踪沿线状要素数字化反方向之权重字段名, 并按 OK; e. 点选追踪工作(Track task)下拉菜单选择寻找路径(find path);(图 7.46) f. 单击 solve 键,以所选的比重为基础的最短路径将显示出来,这条路径的总成本将显 示在状态列。(图 7.60) M. 寻找上溯路径(Finding an upstream path) a. 点选 Analysis 并选 Options。点选 Results 选单并选 Selection 将追踪工具的结果传回 作为选择结果。不检查交点,结果只传回线段,单击 OK; b. 在地图上的终点位置放置旗标; c. 点选追踪工作(Track task)下拉菜单选择寻找上游路径(Find path upstream);(图 图 7.60 网络最短路径分析分析结果 238 7.46) d. 单击 solve 键; e. 点选 Analysis 并选 Clear Flags; f. 在主菜单上点选 Selection,将鼠标移 至 Interactive Selection Method 并选 Add to Current Selection; g. 在地图上的起点位置放置旗标; h. 点选追踪工作(Track task)下拉菜单 选向下游追踪(Find downstream)见(图7.46) 单击 solve 键; i. 点选 Analysis 并选 Options ,点选 General 标签页并选 Unselected features 将目 前所选设定为障碍。按 OK;(图 7.61) j. 在主菜单上点选 Selection,将鼠标移 至 Interactive Selection Method 并选 Create New Selection; k. 在地图上的终点位置放置旗标; l. 点选追踪工作(Track task)下拉菜单选择寻找路径(find path);(图 7.46) m. 单击 solve 键,如果存在的话,这 项 结 果 就 是从起点至终点之向上游路径。(图 7.62) 图 7.62 寻找上溯路径分析结果 图 7.61 Analysis Options 对话框 General 标签 239 N. 网络环路分析(find loops) a. 在欲寻找循环之每一个连结组成上至少放置一个旗标; b. 点选追踪工作(Track task)下拉菜单选择寻找循环(find loops);(图 7.46) c. 单击 solve 键,则已放置旗标的每一个连结组成具有循环特性的要素将显示出来。(图 7.63 深色线状要素为环路,浅色为非环路) 图 7.63 网络环路分析结果 240 7.4 实例与练习 7.4.1 市区择房分析 1. 背景: 如何找到环境好、购物方便、小孩上学方便的居住区地段是购房者最关心的问题,因 此购房者就需要从总体上对商品房的信息进行研究分析,选择最适宜的购房地段。 2. 目的: 学会利用缓冲区分析和叠置分析解决实际问题。 3. 数据: 试验数据位于\Chp7\Ex_1,请将练习拷贝至 E:\Chp7\Ex1\ a) 城市市区交通网络图(network.shp) b) 商业中心分布图(Marketplace.shp) c) 名牌高中分布图(school.shp) d) 名胜古迹分布图(famous place.shp) 这些文件综合在一起是 city.mxd 4. 要求: 所寻求的市区是噪声要小,距离商业中心和各大名牌高中要近,是为了环境优雅离 名胜古迹较近环境优雅。综合上述条件,给定一个定量的限定如下: a) 离主要市区交通要道 200 米之外,交通要道的车流量大,噪音产生的主要源于此; (ST 为道路类型中的主要市区交通要道) b) 距大型商业中心的影响,以商业中心的大小来确定影响区域,具体是以其属性字 段 YUZHI; c) 距名牌高中在 750 米之内,以便小孩上学便捷; d) 距名胜古迹 500 米之内。 最后分别将满足上述条件的其中一个条件的取值为 1,不满足的取值为 0,即如果满 足距主要市区交通要道 200 米之内,取值为 1,反之为 0;其他亦是如此,最后将其累加 得到分级。即满足三个条件的累加得到 3,满足 2 个条件的得到 2,最后将全部分成 4 级。 5. 操作步骤: 首先打开 ArcMap,打开 E:\Chp7\Ex1\city.mxd 文件将文件加入到窗口中来,这时五个 文件全被加入 ArcMap; (1) 主干道噪音缓冲区的建立 1) 选择交通网络图层(network.shp), 打开图层的属性表,在右下角的打开 option 选 项中,在菜单中选择 select by attributes,在弹出的 select by attributes 对话框中,左边选择 “TYPE”双击将其添加到对话框下面 SQL 算式表中,中间点 “=”,再单击 Get unique values 将 TYPE 的全部属性值加入上面的列表框中,然后选择“ST”属性值,双击添加到 SQL 算 241 式表中,单击 APPLY 按钮,就将市区的主要道路选择出来了;(图 7.64) 2) 点击缓冲区按钮 对选择的主干道进行缓冲区的建立,首先在缓冲区对象图层 选择交通网络图层(network), 然 后 将 Use Only the Selected Feature(仅对选择的要素进行 分析)选项选中,单击 next; 3) 确定尺寸单位如米,选择第一种缓冲区建立方法(At a specified distance), 指 定缓 冲区半径为 200 米,单击 next; 4) 因为不是分别考虑一个图层的各个不同的要素的目的,所以我们在这里选择的是 第一种边界设定类型(Dissolve barriers between), 然 后 指 定 好 缓冲区文件的存放路径和文 件名后,单击 OK,完成主干道噪音污染缓冲区的建立。(图 7.65) 图 7.64 交通道路图通过属性选择要素 242 (2) 商业中心影响范围建立 1) 建立大型商业中心的影响范围。首先点击缓冲区按钮 ,在缓冲区对象图层选 择商业中心分布图层(network), 单 击 next; 2) 确定尺寸单位,选择第一种缓冲区建立方法,以其属性字段 YUZHI 为缓冲区半径, 单击 next; 3) 选择的是第一种边界设定类型,然后指定好缓冲区文件的存放路径和文件名后, 图 7.65 市区交通要道200 米之外缓冲区 图 7.66 商业中心影响范围缓冲区 243 单击 OK,完成商业中心影响范围缓冲区的建立。(图 7.66) (3) 名牌高中的影响范围建立 1) 点击缓冲区按钮 ,在缓冲区对象图层选择名牌高中分布图层(school), 单 击 next; 2) 确 定 尺寸单位如米,选择第一种缓冲区建立方法,指定 750 米作为半径,设置好 后,单击 next; 3) 选择的是第一种边界设定类型,然后指定好缓冲区文件的存放路径和文件名后, 单击 OK,完成名牌高中的覆盖范围缓冲区的建立。(图 7.67) (4) 名胜古迹的影响范围建立 1) 点击缓冲区按钮 ,在缓冲区对象图层选择名胜古迹分布图层(famous place), 2 ) 单 击 next,确定尺寸单位,选择第一种缓冲区建立方法,指定 500 米作为缓冲区 半径,设置好后,单击 next;; 3 ) 选择的是第一种边界设定类型,然后指定好缓冲区文件的存放路径和文件名后, 单击 OK,完成名胜古迹的覆盖范围缓冲区的建立。(图 7.68) 图 7.67 名牌高中的覆盖范围 244 (5) 进行叠置分析,将满足上述四个要求的区域求出 1) 对商业中心影响范围、名牌高中的影响范围和名胜古迹的影响范围三个缓冲区图 层进行叠置分析的交集操作,可将同时满足三个条件的区域求出。打开 ArcToolBox,依次 选择 analyst tools->overlay->Intersect 操作,打开交集操作对话框。将商业中心的缓冲区、 名牌高中的缓冲区和名胜古迹的缓冲区分别进行添加,设定输出文件名并选择全部字段, 输出类型和输入类型一样。单击 OK,可获得同时满足三个条件的交集区域。(图 7.69) 图 7.68 名胜古迹的周边覆盖影响范围 图 7.69 满足三个条件的区域 245 2) 利用主干道噪音缓冲区对获得的三个区域的交集进行图层擦除操作,从而获得同 时满足四个条件的区域。打开 ArcToolBox,分别选择 analyst tools->overlay->Erase 操作, 打开图层擦除操作对话框,在 input features 选择三个区域的交集,在 erase features 选择主 干道噪音缓冲区,同时设定输出图层的地址和文件名,单击 OK,就获得了同时满足四个 条件的交集区域,即购房者的最佳选择区域。(图 7.70) (6) 为了使结果更有说服力,更加直观,可以综合上述四个因子,对整个市区进行 分等定级,分级标准是: A. 满足其中四个条件为第一等级; B. 满足其中三个条件为第二等级; C. 满足其中两个条件为第三等级; D. 满足其中一个条件为第四等级; E. 完全不满足条件的为第五等级。 1) 分别打开商业中心,名牌高中和名胜古迹影响范围的缓冲区图层的属性列表,分 图 7.70 购房者最佳选择区域 图 7.71 添加 market 字段并赋值为 1 246 别添加 market,school 和 famous 字段,并全部赋值为 1。(图 7.71)同时向主干道噪音缓 冲区图层的属性列表中添加 voice 字段,全部赋值为-1。这里取-1 的原因是噪音缓冲区之 外的区域才是满足要求的。 2) 打开 ArcToolBox,分 别选择 analyst tools->overlay->Union,打开图层合并操作对话 框。将四个缓冲区图层逐个添加进去,同时设定输出图层的地址和文件名 Union,将全部 字段连接,单击 OK,得到四个区域的叠加合并图(图 7.72)。 3 ) 打开生成的 Union 文件图层的属性列表,添加一个短整型字段 class。保留 FID, Shape*,class,market,voice,school 和 famous 字段,在 Editor 工具栏下拉菜单中选择 start editing,然后在属性列表中的 class 字段上单击右键,选择 Calculate values。单击之后,打 开 Field Calculator 对话框,输入运算公式 class=market+voice+school+famous 将其进行分等 定级。如图 7.73,分等定级的标准为: 第一等级:数值为 3; 第二等级:数值为 2; 第三等级:数值为 1; 第四等级:数值为 0; 第五等级:数值为-1。 4) 最后在 Union 图层的属性中将图层设置成 class 字段的分级显示,得到整个市区的 分等定级图。颜色越深,满足的条件就越多,就是优选区域;而相对的颜色浅的区域则是 满足的条件较少,也就不是优选区域(图 7.74) 图 7.72 四个缓冲区的叠加图 247 以上实例对于笔者感兴趣的及格条件进行分析,并得到很好的分析结果。在现实中, 由于考虑到的影响购房的因素较多,可以添加其他限定条件,例如房地产价格,交通便 图 7.73 分级数值的计算实现 图例: 图 7.74 市区分等定级图 248 利与否,是否是闹市区,离工作地点远近等。读者不妨自己设计阈值和条件,寻找符合自 己要求的区域。 7.4.2 最短路径问题分析与应用 6. 背景: 最短路径的求取问题在现实中是可以拓展许多方面的最高效率问题,与它的深入研究 有十分重要的意义。 7. 目的:学会用 ArcGIS9 进行各种类型的最短路径分析,理解网络分析原理。 8. 数据:试验数据位于\Chp7\Ex2,请将练习的数据拷贝至 E:\Chp7\Ex2\ 数据包括一个 GeoDatabase 地理数据库:“City.mdb”中含有城市交通网、超市分布图, 网络关系以及家庭住址。 9. 要求: 通过分析能够得到到达指定目的地的路径选择方案以及根据不同的权重得到不同的 最佳路径,并给出路径的长度;根据需求找出到过距景点最近的某设施的路径。本实验以 超市为例。 Ø 在网络中指定一个超市,分别求出在不同距离、时间的限制下从家到超市的最佳 路径。 Ø 给定访问顺序,按要求找出从家逐个经过中间位置最终到达目的地的最佳路径。 Ø 研究阻强的设置对最佳路径选择的影响 10. 操作步骤: 首先打开 ArcMap选择 E:\Chp7\Ex2\city.mdb 再双击后选择将整个要素数据集 city 进行 加载。然后将 place 点状要素以 HOME 字段属性值进行符号化,1 值是家,0 值是超市。 (1) 无权重最佳路径的选择 1) 在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想 要去的超市点上。 2) 从在 Analysis 下拉菜单中的 Options 按钮打开 Analysis Options 对话框,确认对话 框中 weight 和 weight filter 标签项全部是 none,这种情况下进行的最短路径分析是完全按 照这个网络自身的长短来确定的。 3) 点选追踪工作(Track task)下拉菜单选择寻找路径(find path)。 单 击 solve 键, 最短路径将显示出来,这条路径的总成本将显示在状态栏。(图 7.75) 249 (2) 加权最佳路径选择 1) 在设施网络分析工具条上,点选 旗标和障碍工具板下拉箭头,将旗标分别 放在家和想去的某个超市的位置上。 2) 选择 Analysis 下 拉 菜 单 下 的 Option 按钮,打开 Analysis Option 对话框, 选择 Weight 标签页,在边的权重(edge weight)上,全部选择长度(length)权重 属性。(图 7.76) 3) 点选追踪工作(Track task)下拉 菜单选择寻找路径(find path)。 单 击 solve 键,则以长度为比重为的最短路径将显示 出来,这条路径的总成本将显示在状态栏。 (图 7.77) 4) 以上是通过距离远近的选择而得 到的最佳路径。实际中不同类型的道路由 于道路车流量的问题,有时候要选择通行 时间最短的路径,同样可利用网络分析来 获得最佳路径。(图 7.78) 图 7.75 无权重参照的最佳路径的显示 注:这里的“15”指的是从起点到目的地总总共经过了 14 个网络节点,如果把两个网络节点 当作一个街区的话,也就是指中间经过了有 15 个街区的意思。 图 7.76 长度权重属性设置 250 这里的时间属性是在建网之前,通过各个道路的类型(主干道,次要道等)得到速度属性, 然后通过距离和速度的商值确定的。例子里并没有考虑红灯问题以及其他因素,是一种较 理想的情况,但可以通过将其他的要素逐渐加入来完善。 注:总共花费的时间是 7.65minutes 图 7.78 时间加权最佳路径 注:总共花费的距离为 4336.86220516747meters 图 7.77 距离加权最佳路径 251 (3) 按要求和顺序能够逐个通过目标点的路径的实现 1) 在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标按照车辆访 问的顺序逐个放在各个目标点上; 2) 选择 Analysis 下拉菜单,选择 Option 按钮,打开 Analysis Option 对话框,选择 Weight 标签页,在边的权重(edge weight)上,全部选择长度(length)权重属性;(图 13) 3) 点选追踪工作(Track task)下拉菜单选择寻找路径(find path)。 单 击 solve 键, 从起点按顺序逐一经过超市后回到起点的最短有效路径将显示出来,这条路径的总成本将 显示在状态栏;(图 7.79) 4) 同样是经过这 11 个地点,权重如果是时间的,由于道路车流量的不同,导致车速 不同,有 时为了节约时间需绕路,所以使得路径发生很大的改变,而从外围的道路行驶了。 (图 7.80) 图 7.79 逐个目的地的路径的获得 252 (4) 阻强问题 这里的阻强是指网络中的点状要素或线状要素因为某些突发事件(如交通事故)而不 可运行时,原来获得的最短路径就需要进行修正,具体操作如下: 1)修路的情形出现,即某个路段不可运行。这在网络中的表现是设置阻强,方法有两 种,一种是永久性的。直接将网络边要素的属性修改成不可运行。具体操作是选择要进行 设置的边要素,将其属性中的 Enabled 字段改成 False 即可;另一种是暂时性的,设置边 要素障碍。即利用边要素障碍添加工具 进行设置。同样取上述实验中的超市为目标地 点,假设其中一条路段正在修路,则产生的新的最佳路径如图 7.81(图中标注“”╳即为阻 强设置边)。 可以看出路段的维修状况使最佳路径产生了改变,同时最近距离也随之发生 改变。 2)十字路口发生问题,即网络中的结点不可运行。这时在网络中的表现也是设置阻强, 方法和线状要素的一样,改变结点属性或利用点要素阻强添加工具 进行设置,进行同 样的最佳路径选取,假设其中某个路口出现阻塞,利用该方法产生的最佳路径如图 7.82。 以上这个例子能够简单说明网络分析中的最短路径问题在实际之中的用途。并且例子 也表明了网络中要素的变化对最佳路径的产生什么样的影响。相信随着考虑到的实际因子 的增加,一定会使得网络分析的模型更趋于实际,在指导现实生活方面发挥着越来越大的 作用。 图 7.80 时间权重的逐点路径获得 253 图 7.81 有边阻强的距离加权最佳路径 图 7.82 有点阻强的距离加权最佳路径 254 第八章 栅格数据的空间分析 栅格数据结构简单、直观,非常利于计算机操作和处理,是 GIS 常用的空间基础数据 格式。基于栅格数据的空间分析是 GIS 空间分析的基础,也是 ArcGIS 空间分析模块( Spatial Analyst)的核心内容。ArcGIS 空间分析模块(Spatial Analyst)提供了一个范围广阔且功 能强大的空间分析和建模工具集,它允许用户从 GIS 数据中快速获取所需信息,并以多种 方式进行分析操作,包括距离制图、 密度制图、表面生成、表面分析、统计分析、重分 类、栅格计算,等等。本章将对 ArcGIS 栅格数据空间分析模块从原理到实现作详细的说 明,并附以具体实例,引导读者更好的应用。 8.1 设置分析环境 加载空间分析模块,为分析结果设定工作路径、单元大小、分析范围、坐标系统是完 成空间分析的先决条件。 8.1.1 加载分析模块 空间分析模块( Spatial Analyst)是 ArcGIS 外带的扩展模块,虽然在 ArcGIS 安装时自 动挂接到 ArcGIS 的应用程序中,但是并没有加载,只有获得了它的使用许可后,才能加 载和有效使用。 加载 Spatial Analyst 模块的操作过程如下: 图 8.1 加载 Spatial Anaslyst 255 1. 启动 ArcMAP; 2. 单击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮,如图 8.1 所示; 3. 在 ArcMap 菜单区,单击鼠标右键,选择 Spatial Analyst 工具。Spatial Analyst 工 具出现在 ArcMap 视图中。 8.1.2 设置工作路径 ArcGIS 空间分析的中间过程文件和结果文件均 自动保存到指定的工作目录中。缺省工作目录通常是 系统的临时目录。此外,空间分析模块中提供了 Option 选项,可以设置新的工作目录。 设置步骤如下: 1. 单击 Spatial Analyst 菜单下的 Option 命令, 打开 Option 对话框; 2. 选择 General 标签(图 8.2); 3. 在Working Directions 文本框中输入目录全名 或单击 Browse 按钮指定目录; 4. 单击确定按钮,完成设置操作。 8.1.3 设置单元大小 栅格数据由单元组成。单元是代表区域特定部分 的方块。单元按行列排列,组成了一个笛卡儿坐标系, 并且所有的单元是同样大小的。单元大小(Cell Size), 也 称 分析解析度,指栅格数据空间分析中分析结果的 缺省栅格单元大小。栅格数据的空间分析就是在每一 个栅格单元的基础上进行的。单元大小可以是分析需 要的任意值。选择合适的单元大小,对实现空间分析 非常重要。如果单元过大则分析结果精确度降低,如 果单元过小则会产生大量的冗余数据,并且计算速度 降低。 单元大小的设置过程如下: 1. 单击 Spatial Analyst 菜单下的 Option 命令, 打开 Option 对话框; 2. 选择 Cell Size 标签(图 8.3); 图 8.2 设置工作路径对话框 图 8.3 设置单元大小对话框 256 3. 单击 Analysis cell size 下拉箭头,选择合适选项: (1) Maximum of Inputs:输入栅格数据集中最大的单元值; (2) Minimum of Inputs:输入栅格数据集中的最小单元值; (3) As Specified Below:采用 Cell size 文本框输入的单元大小,或由 Number of rows (栅格数据集行数)和 Number of columns(栅格数据集列数)计算的单元大小值; (4) Same as layer “***”:与“***”( ***指 ArcMap 视图中已经加载的栅格数据) 同栅格单元大小; (5) 也可单击 browse 按钮选择其它栅格数据,以它的栅格单元大小作为分析栅格 单元大小。 4. 单击确定按钮,完成操作。 8.1.4 设置分析区域 区域指一组相互邻接的单元。在栅格数据的空间分析中,有时需要指定最大的分析范 围,并且在这个范围中,一些区域不需要参与分析。在 ArcGIS 中,分析区域的设定包括 以下两方面内容。 1. 设置最大分析范围 在栅格数据的空间分析中,当对多个栅格数据进行函数计算时,缺省计算范围是输入 栅格数据的重叠区域,即输入栅格数据的交集。此外,用户可以根据分析的需要,定义自 己的分析范围。 定义方法为: (1) 单击 Spatial Analyst 菜单下的 Option 命令,打开 Option 对话框; (2) 选择 Extent 标签(图 8.4); (3) 单击 Analysis extent 下拉箭头,选择分析 范围匹配模式: 1) Same as Display:在 地 图的可视区域上进行 分析; 2) Intersection of Inputs (默认值):在输入栅 格的交集上进行分析; 3) Union of Inputs:在图层的并集上进行分 析; 4) As Specified Below:自己定义分析范围。 在 Top、 Bottom、Left、Right 文本框输入分析范围 坐标值。也可在 Analysis Extent 下拉列表框中选择 已有的栅格数据层,或单击右边 browse 按钮,选择其它栅格数据文件,用它们的坐标范 围作为当前分析范围。 (4) Snap extent to:设置栅格数据集捕捉范围。输出的所有栅格数据单元与指定的栅 图 8.4 利用坐标设置分析区域 257 格数据单元匹配; (5) 单击确定按钮,完成设置操作。 2. 设置局部分析区域 此外,在进行空间分析的过程中,如果分析只是在所选择的单元集或局部区域进行, 并不需要在整个单元集上进行,这时就需要设置分析掩码。分析掩码标识了分析过程中需 要考虑到的分析单元即分析范围。分析掩码的创建参照重分类(8.5 重分类)。 分析掩码的设定过程为: (1) 单击 Spatial Analyst 菜单下的 Option 命令,打开 Option 对话框。 (2) 选择 General 标签,如图 8.2 所示; (3) 在 Analysis mask 中选择已创建的掩码; (4) 单击确定按钮,完成设置操作。 设置分析掩码后,所有的分析只在掩码范围内进行。 8.1.5 选择坐标系统 ArcGIS 的空间分析中,系统使用两种方式控制分 析结果的坐标系统。 具体设置过程为: 1. 单击 Spatial Analyst 菜单下的 Option 命令, 打开 Option 对话框; 2. 选择 General 标签,如图 8.5; 3. 在 Analysis Coordinate System 栏中选择的坐 标系统选项; (1) 分析结果坐标系统取用第一个具有坐标系 统的栅格数据集的坐标系统; (2) 分析结果坐标系统取用当前活动数据集 (ArcMap 视图中被选择的栅格数据集)的坐标系统。 4. 单击确定按钮,完成操作。 8.1.6 管理过程文件 在 ArcGIS 空间分析过程中,除了少数需要明确指出输出文件名称的分析功能模块外, 大多数分析的过程文件和结果文件都是临时性的。如果需要保存,可以通过三种方式将临 时性结果转化为永久性结果。 1. 在函数对话框中输入结果全名 输出计算结果时,在文件输出文本框(Output raster)输入或单击右边的 Browse 按钮 图 8.5 坐标系统设置对话框 258 指定结果文件存放路径和名称。如图 8.6。 2. 通过目录表永久保存计算结果 选择需要永久保存的数据层,点击鼠标右键, 选择 Make Permanent 命令(图 8.7), 在 弹 出 的 对 话 框 中 选择文件存放路径,输入文件名称。 3. 通过保存地图文档永久保存计算结果 在文件(File)菜单中选择保存(Save)或另存 为(Save As)命令。在弹出的对话框中指定存放路 径和文件名称,并在保存类型下拉箭头中选择 ArcMap Documents(*.mxd)。 地 图 文 档 保 存 的 仅仅是当前地图文档中所有数据层的索引信息,包括文件的名称、存放路径、符号化 设置等,并不存放数据层的具体数据,在以后应用中,如果数据层的实际存放路径发生改 变,地图文档就无法自动完成数据的链接和读入。 8.2 距离制图 距离制图(Distance)根据每一栅格相距其最邻近要素(也称为“源”)的距离分析制 图,从而反映每一栅格与其最邻近源的相互关系。通过距离制图可以获得很多相关信息, 指导人们进行资源的合理规划和利用。例如,飞机失事紧急救援时从指定地区到最近医院 的距离;消防、照明等市政设施的布设及其服务区域的分析等。此外,也可以根据某些成 本因素找到 A 地到 B 地的最短路径或成本最低路径。本节就 ArcGIS 中距离制图的基本原 理和实现过程进行详细阐述。 8.2.1 距离制图基础 距离在空间分析中是一个非常广义的概念。它不再只是单一的代表两点间的直线长 图 8.6 文件输出对话框 图8.7 结果文件保存对话框 259 度,而是被赋予了更加丰富的内容。ArcGIS 的距离 制图提供了许多距离分析工具和函数(图 8.8), 不 仅 可 以 量 测 直 线 距离(欧氏距离), 还 可 以计算许多 函数距离。函数距离是描述两点间距离的一种函数 关系,如时间、摩擦、消耗等。 在 ArcGIS 中,距离制图主要通过距离分析函数 完成。这里首先对距离制图中的一些基本概念和约 定作简要说明。 1. 源 源即距离分析中的目标或目的地,如学校,商 场,水井,道路等。源表现在 GIS 数据特征上就是 一些离散的点、线、面要素。要素可以邻接,但属 性必须不同。源可以用栅格数据表示,也可以使用矢量数据表示。 2. 成本 成本即到达目标、目的地的花费,包括金钱、时间、人们的喜好,等等。影响成本的 因素可以只有一个,也可以有多个。如学校的选址,不仅要考虑位置的适宜性,还要考虑 土地利用现状、交通是否便捷。成本栅格数据记录了通过每一单元的通行成本。 成本数据的制作一般是基于重分类功能(参照 8.6 重分类)完成。成本数据是一个单 独的数据,但有时会遇到需要考虑多个成本因素。此时,需要制定统一的成本分类体系, 对单个成本按其大小分类,并对每一类别赋予成本量值,通常成本高的量值小,成本低的 量值大。最后根据成本影响程度确定单个成本权重,依权重百分比加权求和,得到多个单 成本因素综合影响的成本栅格数据。 3. 成本距离加权数据 也称成本累计数据,记录每个栅格到距离最近、成本最低的源的最少累加成本。成本 距离加权考虑到了事物的复杂性,对于基于复杂地理特性的分析非常有用。例如不是所有 道路都是平坦的,即使目的地就在山的另一边,其直线距离很近,但翻过高山要比走直路 难得多。如将时间作为成本,翻山需要 1 小时,绕路需要 30 分钟,则此时翻山的成本距 离就要大于绕路的成本距离。因此,人们会自觉选择绕路而不是翻山。除此之外,成本距 离加权还对动物迁移研究、顾客旅游行为、道路、电力管线、输油管布设等的最低耗费成 本计算非常有帮助。 4. 距离方向数据 距离方向数据表示了从每一单元出发,沿着最低累计成本路径到达最近源的路线方 向。图 8.9 为成本距离加权数据和方向数据的说明图。图 a 为成本距离加权数据,图 b 为 与图 a 相对应的方向数据,图 c 为方向数据说明图。图 b 中 3,4,5 分别代表了不同的方 向数值。ArcGIS 将距离方向分成 8 个部分,分别用数字 1~8 表示,如图 c 所示。每一个栅 格单元将被赋予一个方向值(1~8), 记 录 从 当前栅格到最近源的最小成本路径方向。例如, 当栅格值为 1 时,它的方向将指向正东方向;栅格值为 4 时,它的方向将指向西南方向。 图 8.8 距离制图函数所在位置 260 5. 分配数据 分配数据记录每一单元点隶属的最近源信息,单元值就是其最近源的值。在直线距离 分析制图中,分配函数用直线距离最邻近分析方法识别单元归属于哪个源;在成本距离加 权分析中依据最短距离、最小累加通行成本识别单元归属于哪个源。 6. 距离制图函数 ArcGIS 提供了许多用于量测距离量测和分析函数,直线 距离、成 本 距离,实现各种距 离分析与制图。主要包括: l 成本距离加权函数(Cost-Weighted Distance ),通过成本因子修正直线距离,获 得每一单元到距离最近、成本最低源的最少累加成本。 l 成本方向加权函数(Cost-Weighted Direction),提供完整的路线图,图中记录从 任一单元出发,沿着最小成本路径,到达最近源的路线。 l 成本分配加权函数( Cost-Weighted Allocation), 在 累 加 成 本 的基础上计算最近源。 l 直线距离函数(Straight-Line Distance), 量 测 每 一单元到最近源的直线距离。 l 直线方向函数(Straight-Line Direction), 计算每个单元最近源的方向,单位度。 l 直线分配函数(Straight-Line Allocation), 赋予每个单元直线距离最近源的值。 l 最小成本路径函数 (Shortest Path),确定从某一目标点到一个源的最短路径或 最低成本路径。最小成本路径函数必须要在执行成本距离加权函数,生成距离和 方向栅格数据之后才可运行。 l 分配函数(Allocation), 依 据 最邻近分析原理识别单元归属于哪个源。 8.2.2 直线距离 通过直线距离函数,计算每个栅格与最近源之间的欧氏距离,并按距离远近分级。直 线距离可以用于实现空气污染影响度分析,寻找最近医院,计算距最近超市的距离等操作。 操作过程如下: 1. 单击 Spatial Analyst 下拉箭头,单击 Distance,单击 Straight Line,打开直线距离 制图对话框(图 8.10); 2. 单击 Distance to 下拉箭头,选择需要计算直线距离的图层; (b) 3 3 4 3 4 4 5 5 (c) 6 7 8 5 0 1 4 3 2 (a) 54 89 94 27 42 89 27 54 图 8.9 成本距离加权数据与方向数据的说明图 261 3. 在 Maximum distance 文本框中输入最大距离。计算在输入的距离范围内进行,距 离以外的地方直接赋于空值,不作任何计算。如果没有输入任何值,计算在整个图层范围 内进行; 4. 在 Output cell size 文本框输入输出结果的栅格大小; 5. Create direction:可选项,如选择则生成相应的直线方向数据,如图 8.11; 6. Create allocation:可选项,如选择则生成相应的直线分配数据,如图 8.12; 7. 在 Output raster 文本框输入输出结果文件名称; 8. 单击 OK 按钮,完成操作,结果如图 8.13。 8.2.3 区域分配 通过分配函数将所有栅格单元分配给离其最近的源。单元值存储了归属源的标识值。 分配功能可以用于超市服务区域划分,寻找最邻近学校,找出医疗设备配备不足的地区等 分析。 操作过程如下: 1. 1. 单击Spatial Analyst 下拉箭头,单击 Distance,单击 Allocatio,打开区域分配 图 8.11 直线方向数据 图 8.10 直线距离函数对话框 图 8.13 直线距离数据 图 8.12 直线分配数据 262 对话框(图 8.14); 2. 单击 Assign to 下拉箭头,选择源数据层; 3. 在 Maximum distance 文本框中输入最大距 离。计算在输入的距离范围内进行,距离以外的地方 直接赋于空值,不作任何计算。如果没有输入任何值, 计算在整个图层范围内进行; 4. 在 Output cell size 文本框输入结果的栅格大 小; 5. 在 Output raster 文本框输入结果文件名称; 6. 单击 OK 按钮,完成区域分配操作。 8.2.4 成本距离加权 通过成本距离加权函数,计算出每个栅格到距离最近、成本最低源的最少累加成本。 同时可生成两个相关输出:成本方向数据和成本分配数据。成本距离加权数据表示了每一 个单元到它最近源的最小累积成本。成本方向数据表示了从每一单元出发,沿着最低累计 成本路径到达最近源的具体路线。成本分配数据记录每个单元的隶属源(归属于哪个源) 信息。 下面内容以到达银行的最低成本为例,说明如何实现成本距离加权分析。其中成本数 据为重分类的土地利用图。土地利用图依据重分类功能被分为九个等级,分别赋以权重 1~9。根据土地利用类型的不同,将通达性高的土地类型,如平地赋权重 1,通达性低的林 地赋权重 6,沼泽地赋权重9等。利用此成本数据来生成参考了通达成本在内的成本距离 加权图。 操作过程如下: 1. 在 Spatial Analyst 下 拉 菜 单中选择 Distance, 在 弹 出 的 下 一 级 菜 单中单击 Cost Weighted,出现 Cost Weighted 对话框(图 8.15); 2. 单击 Distance to 下拉箭头,选择源数据, 此处选择银行数据层; 3. 单击 Cost raster 下拉箭头,选择成本数 据,此处选择重分类的土地利用图; 4. 在 Maximum distance 文本框中输入分析 最大距离。该项为可选项。如果设定此项,计算 分析均在以每个源为中心,以输入值为半径的圆 形范围内进行,此距离以外的地方被赋予空值;如未设定此项,则计算在整个图层范围内 进行; 5. Create direction:可选项,如选择则生成相应的成本方向数据,如图 8.16 所示; 图 8.15 成本距离加权函数对话框 图 8.14 区域分配对话框 263 6. Create allocation:可选项,如选择则生成相应的成本分配数据,如图 8.17 所示; 7. 在 Output raster 文本框输入结果文件名称; 8. 单击 OK 按钮,完成操作。如图 8.18 所示。 成本距离加权函数通过成本因子修正直线距离,获得每一单元到距离最近、成本最低 源的最少累加成本。计算过程中不仅考虑到距离的影响,而且考虑到某种成本的影响。因 此,与直线距离分析结果相比,每一单元到其最近源的路径不再是直线方向;并且,在成 本分配数据中,不同源区域之间的边界没有基于直线距离函数的分配数据分配边界光滑。 8.2.5 最短路径 通过最短路径函数获取从一个源或一组源出发,到达一个目标地或一组目标地的最短 直线路径或最小成本路径。最短路径分析可找到通达性最好的路线,或找出从居民地到达 超市的最优路径。 最短路径的计算过程中,源可以是点要素,也可以是区域要素。所以,存在三种最短 路径计算方法: 图 8.16 成本方向数据 图 8.17 区域分配数据 图 8.18 成本累计数据 264 1. For each Cell:为源中每一个单元点寻找一条成本最小路径; 2. For Each Zone:为 每 个 源 寻 找 一 条 成 本 最 小路径,源中所有单元共享同一条路径。 3. For Each ZoneBest Single:为所有源找寻一条成本最小路径,此时,只有一个源 与一个相应的目标点或目标组相连。 最短路径的找寻,首先需要获取成本数据,其次执行成本加权距离函数,获取成本方 向数据(图 8.16)和成本累计数据(图 8.18), 最 后 通 过 执 行 最 短 路径功能获取最短或最 优路径。前两步请参阅上节内容(成本距离加权), 最 短 路径功能的实现过程如下: 1. 在 Spatial Analyst 下拉菜单中选择 Distance,在弹出的下一级菜单中单击 Shortest Path,出现 Shortest Path 对话框(图 8.19); 2. 单击 Path to 下拉箭头,选择目标点数据层; 3. 单击 Cost distance raster 下拉箭头,选择成本累计数据层; 4. 单击 Cost direction raster 下拉箭头,选择成本方向数据层; 5. 单击 Path type 下拉箭头,选择计算模式。这里选择 For Each Zone; 6. 在 Output feature 文本框中输入输出结果文件名; 7. 单击 OK 按钮,完成操作。 图 8.20 为生成的最短路径图。底图是成本累计数据,三块深色区域为出发地(源), 点 状 要 素 为 银 行(目标地), 银 行和区域之间的连线即为所求的源到目的地的最短路径。 8.3 密度制图 密度制图根据输入的要素数据集计算整个区域的数据聚集状况,从而产生一个连续的 密度表面。密度制图主要是基于点数据生成的,以每个待计算格网点为中心,进行圆形区 域的搜寻,进而来计算每个格网点的密度值。 从本质上讲,密度制图是一个通过离散采样点进行表面内插的过程,根据内插原理的 不同,分为核函数密度制图(Kernal)和简单密度制图(Simple)。 1. 核函数密度制图:在核函数密度制图中,落入搜索区内的点具有不同的权重,靠 8.19 最短路径对话框 图 8.20 最短路径结果图 265 近格网搜寻区域中心的点或线会被赋以较大的权重,随着其与格网中心距离的加大,权重 降低。它的计算结果分布较平滑; 2. 简单密度制图:在简单密度制图中,落在搜寻区域内的点或线有同样的权重,先 对其进行求和,再除以搜索区域的大小,从而得到每个点的密度值。 密度图制作的具体过程如下: (1) 单击 Spatial Analyst 下拉箭头,单 击 Density 命令,打开密度制图对话框(图 8.21); (2) 单击 Input data 下拉箭头,选择需要进行分析的点要素图层; (3) 单击 Population field 下拉箭头,选择参与密度计算字段。默认选项为,以 搜索圆内要素点个数计算密度值; (4) 选择密度计算类型:Kernel 或 Simple; (5) 在 Search radius 文本框输入密度计算的搜索半径; (6) 在 Area units 文本框输入密度值的度量单位; (7) 在 Output cell size 文本框输入输出密度图的栅格大小; (8) 在 Output raster 输入结果文件的名称; (9) 单击 OK 按钮,完成密度图制作。 图 8.22 和图 8.23 分别是按上述方法制作的某地区人口密度图。 图 8.21 密度制图对话框 图 8.22 人口密度图(Simple 方法) 图 8.23 人口密度图(Kernel 方法) 266 8.4 表面分析 表面分析主要通过生成新数据集,诸如等值线、坡度、坡向、山体阴影等派生数据, 获得更多的反映原始数据集中所暗含的空间特征、空间格局等信息。在 ArcGIS 中,表面 分析的主要功能有:查询表面值、从表面获取坡度和坡向信息、创建等值线、分析表面的 可视性、从表面计算山体的阴影、确定坡面线的高度、寻找最陡路径、计算面积和体积、 数据重分类、将表面转化为矢量数据等。在本节中主要介绍 ArcGIS 表面分析中的栅格插 值,等值线绘制,坡度、坡向、山体阴影的提取等常用的基本分析功能,表面分析的三维 分析请参阅第 9 章(三维分析)。 8.4.1 栅格插值 一般情况下采集到的数据都是以离散点的形式存在的,只有在这些采样点上才有较为 准确的数值,而其它未采样点上都没有数值。然而,在实际应用中却很可能需要用到某些 未采样点的值,这个时候就需要通过已采样点的数值来推算未采样点值。这样的一个过程 也就是栅格插值过程。插值结果将生成一个连续的表面,在这个连续表面上可以得到每一 点的值。栅格插值包括简单栅格表面的生成和栅格数据重采样。 通过栅格插值运算生成栅格表面是栅 格空间分析中很重要的一部分,很多操作都 将基于离散点插值生成的表面来进行。用来 插值的离散点可以是多种数据,例如,空气 污染指数,土壤有机质含量,或离散高程点。 ArcGIS 栅格分析模块中,通过栅格插 值运算生成表面主要有三种实现方式:反距 离权重插值,样条函数插值和克里格插值, 如图 8.24 所示。 1. 反距离权重插值(IDW) IDW(Inverse Distance Weighted)是一 种常用而简便的空间插值方法,它以插值点 与样本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大。 设平面上分布一系列离散点,已知其坐标和值为 Xi, Yi, Zi,( i=1,2,…,n),根据周围离散 点的值,通过距离加权值求 Z 点值,则: ú û ù ê ë é ú û ù ê ë é= åå == n i i n i i i dd zz 1 2 1 2 1 (1) 其中: di 2 = (X - Xi)2+(Y -Yi)2 (2) 图 8.24 ArcGIS 栅格插值函数 267 IDW 通过对邻近区域的每个采样点值平均运算获得内插单元值。IDW 是一个均分过 程,这一方法要求离散点均匀分布,并且密集程度足以满足在分析中反映局部表面变化。 IDW 插值具体实现过程为: (1) 单击 Spatial Analyst 下拉箭头,单 击 Interpolate to Raster,在弹出的下一级菜单 中单击 Inverse Distance Weighted 命令, 打开 IDW 对话框(图 8.25); (2) 单击 Input points 下拉箭头,选择 参加内插计算的点数据集; (3) 单击 Z value field 下拉箭头,选择 参加内插计算的字段名称; (4) 在 Power 文本框中输入 IDW 的幂 值。幂值是一个正实数,其缺省值为 2。 (5) 单击 Search radius type 下拉箭头, 选择搜索半径类型; 1) Variable:可变搜索半径。内插计算 时样本点个数(Number of points)是固定的(缺省值为 12), 搜 索 距离(Distance)是可变 的,取决于插值单元周围样本点的密度,密度越大,半径越小。如果在 Maximum distance 文本框中输入最大搜索半径值,若某一领域的搜索半径在获得指定数据的样本点之前已经 达到最大搜索半径,该点的插值就通过最大搜索半径内的已有样本点来完成。 2) Fixed:固定搜索半径,需要规定插值时样本点的最小数据(Minimum number of points)和搜索距离(Distance)。 搜 索 距离是一个常数,对每一个插值单元来说,用于寻 找样本点的圆形区域的半径都是一样的。如果搜索半径距离内的点个数小于插值点个数的 最小整数值,则搜索半径自动增大。 (6) Use barriers polyline,可选项。用于指定一个中断线文件。中断线是指用来限 制搜索输入样本点的多线段数据集。一条线段是一个打断表面的线特征,悬崖,峭壁,堤 岸或某些障碍都是典型的中断线。中断线不必具有 Z 值。中断线限制了插值计算,它使得 计算只能在线的两侧各自进行,而落在中断线上的点同时参与线两侧的计算。 (7) 在 Output cell size 文本框中输入输出结果的栅格大小; (8) 在 Output raster 文本框输入结果文件名称; (9) 单击 OK 按钮,完成操作,结果如图 8.26 所示。 图 8.25 IDW 对话框 图 8.26 IDW 插值结果结果 268 2. 样条函数插值(SPLINE) 样条函数插值采用两种不同的计算方法:Regularized spline(规则样条)和 Tension spline(张力样条)。 Regularized spline 生成一个平滑、渐变的表面,插值结果可能会超出 样本点的取值范围较多。Tension spline 根据要生成的现象的特征生成一个比较坚硬的表 面,插值结果更接近限制在样本点的取值范围内。 同时,计算过程中除了需要选择不同的计算方法,还需要在每种方法中设定一个合适 的权重(weight)。 Regularized Spline 插值时,权重越高表面越光滑,通常用到的典型值有: 0、0.001、0.01、1 和 5。Tension Spline 插值时,权重越高,表面越粗糙,通常用到的典型 值有:0、1、5 和 10。 样条函数插值过程如下: (1) 单击 Spatial Analyst 下拉箭头,单击 Interpolate to Raster, 在弹出的下一级菜单中单击 Spline,打开 Spline 对话框,如图 8.27; (2) 单击 Input points 下拉箭头,选择需要进 行插值的离散点数据层; (3) 单击 Z value field 下拉箭头,选择要加入 的字段; (4) 单击 Spline type 下拉箭头,选择样条插 值方法:Regularized 或 Tension; (5) 在 Weight 文本框中输入权重值; (6) 在 Number of points 文本框中输入参加 插值运算的样本点数目; (7) 在 Output cell size 文本框中指定输出结果的栅格大小; (8) 在 Output raster 文本框中输入输出结果的名称; (9) 单击 OK 按钮,完成插值操作,结果如图 8.28 所示。 3. 克里格插值(Kriging) 克里格插值不同于反距离权重插值和样条函数插值,前两种插值是确定性插值,克里 格插值是一种基于统计学的插值方法。 克里格插值法分为普通克里格法和泛克里格法。普通克里格方法是最普遍和应用最广 的克里格插值方法,它假定采样点值不存在潜在的全局趋势,只用局部的因素就可以很好 图 8.28 Spline 插值结果 图 8.27 Spline 对话框 269 的估测未知值。泛克里格方法假设存在潜在趋势,可以用一个确定性的函数或多项式来模 拟。泛克里格方法仅用于数据的趋势已知并能合理而科学的描述。 克里格法的基本原理是根据相邻变量的值,利用变异函数揭示的区域化变量的内在联 系来估计空间变量数值。克里格法分为两步:第一步是对已知点进行结构分析,也就是说 在充分了解已知点性质的前提下,提出变异函数模型;第二步是在该模型的基础上进行克 里格计算,详细内容参见第十章内容。 克里格插值具体实现过程为: (1) 单击 Spatial Analyst 下拉箭头, 单击 Interpolate to Raster, 在弹出的下一级 菜单中单击 Kriging,打开 Kriging 对话框 (图 8.29); (2) 单击 Input points 下拉箭头,选 择被用来进行插值的离散点数据; (3) 单击 Z value field 下拉箭头,选 择要加入的字段; (4) 选择你所需要的克里格方法; (5) 单击Semivariogram model下拉 箭头,选择合适的变异函数模型; (6) 单击 Search radius type 下拉箭 头,选择搜索半径类型; (7) 在 Output cell size 文本框中输 入输出结果的栅格大小; (8) Create variance of predictio,可 选项,是否需要生成预测的标准误差; (9) 在 Output raster 文本框中输入结果文件名称; (10) 单击 OK 按钮,完成操作,结果如图 8.30 所示。 4. 数据重采样 栅格插值除了包括简单栅格表面的生成还应包括栅格数据重采样。重采样是栅格数据 空间分析中处理栅格分辨率匹配问题的常用数据处理方法。进行空间分析时,用来分析的 图 8.30 Kriging 插值结果 图 8.29 Kriging 对话框 270 数据资料由于来源不同,经常会出现不同栅格大小问题,这时为了便于分析,就需要作统 一栅格大小的转换处理,即栅格数据的重采样过程。 栅格数据的重采样主要有三种方法:最邻近法采样(NEAREST), 双 线性采样 (BILINEAR)和三次卷积采样(CUBIC)。 ( 1) 最邻近采样,用输入栅格数据中最邻近栅格值作为输出值。因此, 在重采样后的 输出栅格中的每个栅格值, 都是输入栅格数据中真实存在而未加任何改变的值。这种方法 简单易用、计算量小且速度最快。 (2) 双线性采样,取内插点(x,y)点周围四个邻点,在y方向(或x方向)内插两次, 再在x方向(或y方向)内插一次,得到(x,y)点的栅格值。 (3) 三次卷积采样,这是进一步提高内插精度的一种方法。它的基本思想是增加邻点 来获得最佳插值函数。取内插点周围相邻的16个样点数据,与双线性采样类似,可先在某 一方向上内插,如先在x方向上,每四个值依次内插四次,再根据四次的计算结果在y方向 上内插,最终得到内插结果。 在 ArcGIS 中重采样功能是在 ArcToolbox 下来实现的,具体操作过程为: (1) 在 ArcToolbox 中的 Data Management Tools 工具集下的 Raster 工具中,选择 Resample 命令,打开重采样参数设置对话框(图 8.31)。 ( 2) 单击 Input raster 下拉箭头,选择 输入栅格数据; (3) 在 Output raster 文本框中输入输出 栅格数据名称; (4) 在Output cell size文本框中输入输 出栅格单元大小; (5) 单击 Resampling technique 下拉菜 单,选择重采样方法: 1) NEAREST:最邻近距离; 2) BILINEAR:双线性内插; 3) CUBIC:三次卷积。 8.4.2 等值线绘制 等值线是将表面上相邻的具有相同值的点连接起来的线,如地形图上的等高线、气温 图上的等压线。等值线分布的疏密一定程度上表明了表面值的变化情况。等值线越密,表 面值的变化越大,反之越小。因此,通过研究等值线,可以获得对表面值变化的基本趋势。 提取等值线的操作过程如下: 1. 单击 Spatial Analyst 下拉箭头,单 击 Surface analysis, 在弹出的下一级菜单中单击 Contour,打开 Contour 对话框,如图 8.32 所示; 2. 单击 Input Surface 下拉箭头,选择用来生成等高线的栅格数据集; 图 8.31 重采样参数设置框 271 3. 在 Contour interval 文本框中设置等高距; 4. 在 Base contour 文本框中指定等高线基准高程; 5. 在 Z factor 文本框中设定高程变换系数; 6. 在 Output features 文本框中输入结果文件存放路径与名称。 7. 单击 OK 按钮,完成操作。 图 8.33 为某区域的等高线图,背景为该地区的地形光照晕渲图。 8.4.3 地形因子提取 因子分析方法是 GIS 空间分析,尤其 GIS 数字地形分析常用的基本分析方法。不同的 地形因子从不同侧面反映了地形特征性。从其所描述的空间区域范围,常用的地形因子可 坡 度 坡 向 坡 长 坡 度 变 率 坡 向 变 率 平 面 曲 率 剖 面 曲 率 地 形 起 伏 度 地 形 粗 糙 度 高 程 变 异 系 数 地 表 切 割 深 度 坡 形 因 子 微观地形因子 宏观地形因子 地形因子 图 8.34 依据空间区域范围的地形因子分类体系 图 8.33 某区域等高线图( 背景为光照晕渲图)图 8.32 等高线生成对话框 272 x (N) z 图 8.36 地表单元坡度示意图 y (E) P Slope Aspect nr 以划分为微观地形因子与宏观地形因子两种基本类型(图 8.34)。 按 照 提取地形因子差分 计算的阶数,又可将地形因子分为一阶地形因子、二阶地形因子和高阶地形因子(图 8.35)。 其 中,坡度、坡向、平面曲率、剖面曲率在 ArcGIS 中可直接提取,其它因子的提取 则需要进行一系列的复合计算。后者的具体提取过程可以参阅相关资料,这里不作介绍。 1. 坡度的提取 地表面任一点的坡度( Slope)是 指过该点 的切平面与水平地面的夹角(图 8.36)。 坡 度 表 示 了 地 表面在该点的倾斜程度。 实际应用中,坡度有两种表示方式方法: (1) 坡度(degree of slope):既水平面与 地形面之间夹角。 (2) 坡度百分比(percent slope):既高 程增量与水平增量之比的百分数。 坡度的提取过程为: (1) 单击 Spatial Analyst 下拉箭头,单 击 Surface analysis, 在弹出的下一级菜单中单 击 Slope,打开 Slope 对话框(图 8.37); (2) 单击 Input Surface 下拉箭头,选择输 入栅格数据集; (3) 选择坡度表示方法,默认选项为度。 (4) 在 Z factor 文本框中输入高程变换系 数; (5) 在 Output cell size 文本框中输入栅格 大小; (6) 在 Output raster 文本框中输入输出坡 图 8.37 坡度生成对话框 图 8.35 基于提取算法的地形因子分类体系 坡 度 坡 向 坡 长 坡 度 变 率 坡 向 变 率 平 面 曲 率 剖 面 曲 率 地 形 起 伏 度 地 形 粗 糙 度 高 程 变 异 系 数 地 表 切 割 深 度 坡 形 因 子 二阶地形因子 复合地形因子 地形因子 一阶地形因子 273 度的存放路径与文件名; (7) 单击 OK 按钮,完成操作。 图 8.38 是以度表示的坡度图,图 8.39 是以坡度百分比表示的坡度图。 2. 坡向的提取 坡向指地表面上一点的切平面的法线矢量在水平面的投影与过该点的正北方向的夹 角。对于地面任何一点来说,坡向表征了该点高程值改变量的最大变化方向。在输出的坡 向数据中,坡向值有如下规定:正北方向为 0 度,按顺时针方向计算,取值范围为 0°~ 360°。 ArcGIS 中坡向的提取过程为: (1) 单击 Spatial Analyst 下拉箭头,单击 Surface analysis, 在 弹 出 的 下 一 级 菜 单中单击 Aspect,打开 Aspect 对话框(图 8.40); (2) 单击 Input Surface 下拉箭头,选择输入 栅格数据集; (3) 在 Output cell size 文本框中输入栅格大 小; (4) 在 Output raster 文本框中输入坡向数据的存放路径与文件名称; (5) 单击 OK 按钮,完成操作。提取结果如图 8.41 所示。 图 8.39 坡度百分比图 图 8.38 坡度结果图 图 8.40 坡向生成对话框 图 8.41 坡向结果图 274 3. 平面曲率、剖面曲率的提取 地面曲率是对地形表面一点扭曲变化程度的定量化度量因子,地面曲率在垂直和水平 两个方向上分量分别称为剖面曲率和平面曲率。剖面曲率是对地面坡度的沿最大坡降方向 地面高程变化率的度量。平面曲率指在地形表面上,具体到任何一点,指过该点的水平面 沿水平方向切地形表面所得的曲线在该点的曲率值。平面曲率描述的是地表曲面沿水平方 向的弯曲、变化情况,也就是该点所在的地面等高线的弯曲程度。平面曲率、剖面曲率的 提取过程为: (1) 打开 ArcGIS 的 Toolbox,在 Spatial Analyst Tools 工具集下选择 Surface 子工具 集,在 Surface 中选择 Curvature 工具,打开 Curvature 对话框(图 8.42); (2) 在 Input raster 的下拉菜单中选择用来计算曲率的栅格数据; (3) 在 Output curvature raster 文本框中设定输出总曲率的存放路径与文件名; (4) 在 Z factor 文本框中设定高程变换系数; (5) 在 Output profile curve raster 文本框中指定剖面曲率数据的存放路径与文件名; (6) 在 Output plan curve raster 文本框中指定平面曲率数据的存放路径与文件名; (7) 单击 OK 按钮,完成操作。结果如图 8.43、图 8.44、图 8.45 所示: 图 8.42 平面曲率、剖面曲率提取对话框 图 8.44 剖面曲率结果图 图 8.43 平面曲率结果图 图 8.45 总曲率结果图 275 8.4.4 山体阴影 山体阴影是根据假想的照明光源对高程栅格图的每个栅格单元计算照明值。山体阴影 图不仅很好地表达了地形的立体形态,而且可以方便的提取地形遮蔽信息。计算过程中包 括三个重要参数:太阳方位角、太阳高度角、表面灰度值。 太阳方位角以正北方向为 0 度,按顺时针方向度量,如 90 度方向为正东方向(图 8.46)。 由 于 人 眼 的 视 觉 习惯,通常默认方位角为 315 度,即西北方向。 太阳高度角为光线与水平面之间的夹角,同样以度为单位(图 8.47)。 为 符 合 人 眼 视 觉 习惯,通常默认为 45 度。默认情况下,ARCGIS 中提取的光照灰度表面值的范围为 0~255。 山体阴影的实现过程如下: 1. 在 Spatial Analyst 下拉菜单中选择 Surface analysis, 在弹出的下一级菜单中单击 Hillshade,打开 Hillshade 对话框(图 8.48); 2. 在 Input surface 下拉菜单中选择用来计算阴影的表面; 3. 在 Azimuth 文本框中设置太阳方位角; 4. 在 Altitude 文本框中设置太阳高度角; 5. Model shadows,阴影建模可选项。选中则将落阴影内的单元赋值为 0; 6. 在 Z factor 文本框中设定高程变换系数; 7. 在 Output cell size 文本框中指定输出栅格单元大小; 图 8.48 计算表面阴影 ½S(180) N(0) E(90) W(270) 图 8.46 太阳方位角度量示意图 0 度 90 度 图 8.47 太阳高度角示意图 276 8. 在 Output raster 文本框中指定输出表面阴影的存放路径与文件名; 9. 单击 OK 按钮,完成操作。 图 8.49 为设定太阳入射方位角为 315 度,高度角为 45 度时提取的某区域表面阴影栅 格图像,图 8.50 为阴影二值图。 8.5 统计分析 8.5.1 单元统计 多层面栅格数据叠合分析时,经常需要以栅格单元为单位来进行单元统计(Cell Statistics)分析。比如,分析一些随时间而变化的现象,诸如 10 年来的土地利用变化或者 不同年份的温度波动范围。单元统计输入数据集必须是来源于同一个地理区域,并且采用 相同的坐标系统。 ArcGIS 的单元统计分析功能提供了十种单元统计方法,分别为: 1. Minimum:单元值中的最小数值; 2. Maximum:单元值中的最大数值; 3. Range:单元值的数值范围; 4. Sum:单元值的总和; 5. Mean:单元值的平均数; 6. Standard Deviation:单元值的标准差; 7. Variety:单元值中不同数值的个数; 8. Majority:单元值中出现频率最高的数值; 9. Minority:单元值中出现频率最低的数值; 10. Median:单元值中值的中央值。 图 8.49 表面阴影图 图 8.50 阴影二值图 277 图 8.51 是计算最小值的单元统计示意图。其中的每一格子代表一个栅格单元,左图为 需要统计分析的栅格数据,右图为统计分析结果。 单元统计功能常用于同一地区多时相数据的统计,通过单元统计分析得出所需数据。 例如,同一地区不同年份的人口分析,同一地区不同年份的土地利用类型分析等。 单元统计的操作过程如下: 1. 单击 Spatial Analyst 下拉箭头,单 击 Cell Statistics,打开单元统计对话框(图 8.52); 2. 在 Layers 列表框中选择一个图层,单击 Add 按钮将其加入 Input rasters 列表框, 或者单击 Browse 按钮从磁盘中选择要使用的栅格数据; 3. 单击 Overlay statistic 下拉箭头,选择统计类型; 4. 在 Output 文本框为输出结果指定目录及名称; 5. 单击 OK 按钮,完成操作。 图 8.52 单元统计的操作过程 单元统计 求最大值 图 8.11 单元统计示意图 278 8.5.2 邻域统计 邻域统计是以待计算栅格为中心,向其周围扩展一定范围,基于这些扩展栅格数据进 行函数运算,从而得到此栅格的值。 ArcGIS 提供了十种邻域统计方法,分别如下: 1. Minimum:邻域内出现的最小数值; 2. Maximum:邻域内出现的最大数值; 3. Range:邻域单元值的取值范围; 4. Sum:邻域单元值的总和; 5. Mean:邻域单元值的平均数; 6. Standard Deviation:邻域单元值的标准差; 7. Variety:邻域单元值中不同数值的个数; 8. Majority:邻域单元值中出现频率最高的数值; 9. Minority:邻域单元值中出现频率最低的数值; 10. Median:邻域单元值中的中央值; 邻域统计计算过程中,对于邻域的设置有不同的设置方法,ArcGIS 中提供了四种邻域 分析窗口(图 8.53),分别如下: 1. Rectangle(矩形)。需要设置矩形窗口的长和宽,缺省的邻域大小为 3*3 单元。 2. Annulus(环形)。需要设置邻域的内半径和外半径。半径通过和 x 轴或 y 轴的垂 Rectangle Circle Wedge Annulus 图 8.53 邻域分析窗口类型 279 线的长度来指定。落入环内即内外半径之间环的数值将参与邻域统计运算,内半径以内的 部分不参与计算。 3. Circle(圆形)。 只 需 要输入圆的半径。 4. Wedge(楔形)。需要输入起始角度,终止角度和半径三项内容。起始角度和终止 角度可以是 0~360 的整形或浮点值。角度值从 x 轴的正方向零度开始,逆时针逐渐增加直 至走过一个满圆又回到零度。 邻域统计是在单元对应的邻域范围指定的单元上进行统计分析,然后将结果值输出到 该单元位置。图 8.54 为统计最大值的邻域统计示意图,左图为统计数据,右图为邻域统计 结果。 利用邻域统计可以获取多种信息,如在调查土地利用时,邻域统计可以获得邻域范围 土地变化和确定土地利用的稳定性,此外,利用邻域统计的平均值还可以进行边缘模糊等 多种操作。 邻域统计的分析过程如下: 1. 单击 Spatial Analyst 下拉箭头,单击 Neighborhood Statistics,打开邻域统计对话 框(图 8.55); 图 8.55 邻域统计的分析过程 求最大值 图 8.54 邻域统计示意图 2 4 7 6 2 5 8 9 4 5 1 6 3 3 9 9 8 4 5 6 5 2 1 8 5 8 9 9 9 6 8 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 8 8 8 280 2. 单击 Input data 的下拉菜单中选择要用来进行邻域分析的图层; 3. 在 Field 文本框的下拉菜单中选择进行邻域分析的字段; 4. 单击 statistic type 下拉箭头,选择的统计类型; 5. 单击 Neighborhood 下拉箭头,选择邻域分析窗口类型,并输入窗口参数; 6. 在 Units 选项中选择邻域分析窗口的单位,可以是栅格单元或地图单位。 7. 在 Output cell size 文本框中指定输出结果的栅格大小; 8. 在 Output raster 文本框为输出结果指定目录及名称; 9. 单击 OK 按钮,完成操作。 8.5.3 分类区统计 分类区统计,即以一个数据集的分类区为基础,对另一个数据集进行数值统计分析, 包括计算数值取值范围、最大值、最小值、标准差、等等。一个分类区就是在栅格数据中 拥有相同值的所有栅格单元,而不考虑他们是否邻近。分类区统计是在每一个分类区的基 础上运行操作,所以输出结果时同一分类区被赋予相同的单一输出值。 ArcGIS 中的分类区统计提供了十种统计方法。分别如下: 1. Minimum:在分类区内出现最小的数值; 2. Maximum:在分类区内出现最大的数值; 3. Range:在分类区内数值的范围; 4. Sum:在分类区内出现数值的和; 5. Mean:在分类区内出现数值的平均数; 6. Standard Deviation:在分类区内出现数值的标准差; 7. Variety:在分类区内不同数值的个数; 8. Majority:在分类区内出现频率最高的数值; 9. Minority:在分类区内出现频率最低的数值; 10. Median:在分类区内出现数值的中央值。 图 8.56 为分类区统计示意图,( a )是分类区数据层,( b )是统计数据层,( c ) 为 统计 结果。 1 1 1 3 3 1 1 1 2 3 1 2 2 2 2 3 3 2 2 1 3 2 8 4 3 7 9 5 4 2 8 4 6 7 2 1 2 6 7 3 9 9 9 5 5 9 9 9 7 5 9 7 7 7 7 5 5 7 7 9 图 8.56 分类区统计示意图 (a) (b) (c) 281 利用分类区统计能够根据一个分区栅格数据计算分区范围内所包含的另一个栅格数 据的统计信息。此处以某一地区坡度数据为分类区数据集,土地利用数据为统计数据集为 例(图 8.57),简要说明分类区统计的具体实现过程。 操作过程如下: 1. 在 Spatial Analyst 的下拉菜单中选择 Zonal Statistics,打开分类区统计对话框(图 8.58); 2. 单击 Zone dataset 下拉箭头,选择分类区数据层; 3. 单击 Zone Field 下拉箭头,选择需要加入的分类数据字段; 4. 单击 Value raster 下拉箭头,选择统计数据; 5. Ignore NoData in calculations,可选项,标识是否允许栅格数据中的空值参与运算。 选中表明允许包含空值的单元参与运算; 6. Join output table to zone layer,可选项,标识是否把统计结果表连接到分类区数据 层。若选中,统计结果表将连接到分类区数据层; 7. 单击 Chart statistic 下拉箭头,选择统计类型; 8. 在 Output table 文本框输入为输出结果指定目录及名称; 图 8.57 坡度图与土地利用类型图 图 8.58 分类区统计对话框 282 9. 单击 OK 按钮,完成操作。结果如图 8.59,其中(a)为统计结果表;(b)单个 统计结果(此处为 Variety)的直方图。 8.6 重分类 重分类即基于原有数值,对原有数值重新进行分类整理从而得到一组新值并输出。 根据用户不同的需要,重分类一般包括四种基本分类形式:新值替换(用一组新值取代原 来值)、 旧 值合并( 将原值重新组合分类)、 重 新 分 类 (以一种分类体系对原始值进行分类), 以 及 空 值 设置(把指定值设置空值)。 8.6.1 新值替代 事物总是处于不断发展变化中的,地理现象更是如此。所以,为了反映事物的实时真 实属性,经常需要不断地去用新值代替旧值。例如,气象信息的实时更新,土地利用类型 的变更等。 新值替换的操作过程为: 1. 在 Spatial Analyst 的下拉菜单中选择 Reclassify,打开重分类对话框,如图 8.60 所 示; 2. 在 Input raster 的下拉菜单中选择需要变更值的图层; 3. 在 Reclass Field 文本框的下拉菜单中选择需变更的字段; 4. 在 New Value 文本框中定位需要改变数值的位置,然后键入新值。可单击 Load 按钮导入已经制作好的重映射表,也可以单击 Save 按钮来保存当前重映射表; 5. Change missing values to NoData:可选项,将 missing values 值改成无数据 (NoData); (a) (b) 图 8.59 坡度分类区内土地利用类型种类分析结果图 283 6. Output raster:为输出结果指定目录及名称; 7. 单击 OK 按钮,完成操作。 8.6.2 旧值合并 栅格数据操作中经常需要将一些具有某种共性的事物合并为一类。例如可以将商场, 超市,餐馆等同归并为服务场所,也可将麦地,水稻地,菜地等同归并为耕地。 应用重分类功能实现旧值合并的操作过程为(图 8.61): 1. 在 Spatial Analyst 的下拉菜单中选择 Reclassify; 2. 在 Input raster 的下拉菜单中选择需要重新组合分类的图层; 3. 在 Reclass Field 文本框的下拉菜单中选择需用的字段; 图 8.61 旧值合并 图 8.60 新值替代操作 284 4. 在 Old Value 文本框中连续选择要进行归并的数据(按住 Ctrl 键可以逐个进行选 择,按 Shift 键可以选择两者之间的全部数据); 5. 在选择并弹亮的数据项上点右键;在弹出的菜单中选择 Group Entries; 6. 给新组合成的数据赋予新值。可单击 Load 按钮导入已经制作好的重映射表,也 可以单击 Save 按钮来保存当前重映射表; 7. Change missing values to NoData:可选项,将 missing values 值改成无数据 (NoData); 8. Output raster:为输出结果指定目录及名称; 9. 单击 OK 按钮,完成操作。 8.6.3 重新分类 在栅格数据的使用过程中,经常会因某种需要,要求对数据用新的等级体系分类,或 需要将多个栅格数据用统一的等级体系重新归类。例如,在对洪水灾害进行预测时,需要 综合分析降雨量、地形、土壤、植被等数据。首先需要每个栅格数据的单元值对洪灾的影 响大小,把它们分为统一的级别数,如统一分为 10 级,级别越高其对洪灾的影响度越大。 经过分级处理后,不仅消除了量纲影响,而且使得各类数据之间具有量值可比性,方便洪 灾模拟的定量分析与计算。 重新分类的具体操作过程为:: 1. 在 Spatial Analyst 的下拉菜单中选择 Reclassify,打开重分类对话框,如图 8.62(A) 所示; 2. 在 Input raster 的下拉菜单中选择需要重新分类的图层; 3. 在 Reclass Field 文本框的下拉菜单中选择需用的字段; 4. 单击 Classify 按钮; 图 8.62 重新分类操作 A B 285 5. 在Method文本框的下拉菜单中选择一种分类方法:包括 Manual(手工分类), Equal Interval(等间距分类), Defined Interval(自定义间距分类), Quantile(分位数分类), Natural Breaks(自然间距分类), Standard Deviation(标准差分类),并设置相关参数,完成旧值 的分类,如图 8.62(B)所示; 6. 单击 Classification 对话框中的 OK 按钮; 7. 在 Reclassify 对话框中 new value 列表框中输入新的分类值,或者单击 Load 按钮 导入已有的重映射表, 8. 如果需要保存当前重映射表,单击 Save 按钮; 9. 在 Output raster 文本框为输出结果指定目录及名称; 10. 单击 OK 按钮,完成操作。 8.6.4 空值设置 有时候需要对栅格数据中的某些值设置空值来控制栅格计算。如在设置分析掩码的时 候,需要将分析区域内不需要参与分析的数值设置为空值来控制栅格计算。 设置空值的方法如下: 1. 在 Spatial Analyst 的下拉菜单中选择 Reclassify,打开重分类对话框,如图 8.63(A) 所示; 2. 在 Input raster 的下拉菜单中选择需要将值设置为空值的图层; 3. 在 Reclass Field 文本框的下拉菜单中选择需用的字段; 4. 在 New values 中选择要进行空值设置的值; 5. 单击 Delete Entries; 6. 选中 Change missing values to NoData,如图 8.63(B)所示;; 7. 在 Output raster 文本框为输出结果指定目录及名称; 8. 单击 OK 按钮,完成操作。 A B 图 8.63 空值设置操作 286 8.7 栅格计算 栅格计算是数据处理和分析最为常用的方法,也是建立复杂的应用数学模型的基本模 块。ArcGIS 提供了非常友好的图形化栅格计算器。利用栅格计算器,不仅可以方便地完成 基于数学运算符的栅格运算,以及基于数学函数的栅格运算,它还可以支持直接调用 ArcGIS 自带的栅格数据空间分析函数,并 可 方 便 地 实现多条语句的同时输入和运行。同时, 栅格计算器支持地图代数运算,栅格数据集可以作为算子直接和数字、运算符、函数等在 一起混合计算,不需要做任何转换。 8.7.1 数学运算 数学运算针对具有相同输入单元的两个或多个栅格数据逐单元进行。主要包括三组数 学运算符:算术运算符,布尔运算符和关系运算符。 1. 算术运算 算术运算主要包括加、减、乘、除四种。可以完成两个或多个栅格数据相对应单元之 间直接的加、减、乘、除运算。 例如,对于 C = A-B,解算过程如图 8.64 所示(A、B 均是栅格数据)。 2. 布尔运算 布尔运算主要包括:和(And)、 或 ( Or)、 异 或 ( Xor)、非(Not)。它是基于布尔运 算来对栅格数据进行判断的。判断若为“真”,则输出结果为 1;若为“假”,则输出结果 为 0。 (1) 和(&):比较两个或两个以上栅格数据层,如果对应的栅格值均为非 0 值, 则输出结果为真(赋值为 1), 否 则输出结果为假(赋值为 0)。 ( 2 ) 或 ( | ): 比 较 两 个 或两个以上栅格数据层,对应的栅格值中只要有一个或一个 以上为非 0 值,则输出结果为真(赋值为 1), 否 则输出结果为假(赋值为 0)。 (3) 异或(!):比较两个或两个以上栅格数据层,如果对应的栅格值在逻辑真假互不 相同(一个为 0,一个必为非 0 值), 则输出结果为真(赋值为 1), 否 则输出结果为假(赋 A C B 10 11 21 22 24 11 25 26 27 5 6 4 4 9 5 6 7 8 5 5 17 18 15 6 19 19 19 图 8.64 算术运算示意图 -= 287 值为 0)。 (4) 非(^):对一个栅格数据层进行逻辑“非”运算。如果栅格值为 0 ,则输出结 果为 1;如果栅格值非 0 ,则输出结果为 0。 例如,对于 C = A&B,解算过程如图 8.65 所示(A、B 均是栅格数据)。 3. 关系运算 关系运算以一定的关系条件为基础,符合条件的为真,赋予 1 值,不符条件的为假, 赋予 0 值。关系运算符包括六种:=,<,>,<>,>=,<=。 例如,对于 C = A>B,解算过程如图 8.66 所示(A、B 均是栅格数据)。 8.7.2 函数运算 栅格计算器除了提供简单的数学运算符,还提供了一些相对复杂的函数运算,包括数 学函数运算和栅格数据空间分析函数运算。数学函数主要包括:算术函数、三角函数、对 数函数和幂函数。 1. 算术函数(Arithmetic) 算术函数主要包括六种:Abs(绝对值函数)、 Int(整数函数)、 Float(浮点函数)、 Ceil (向上舍入函数)、 Floor(向下舍入函数)、 IsNul(输入数据为空数据者以 1 输出,有数 据者以 0 输出)。 A B C & = 0 2 0 3 2 0 3 1 0 1 2 0 3 2 0 3 1 1 0 1 0 1 1 0 1 1 0 图 8.65 布尔运算示意图 A B C > = 0 3 0 4 5 0 6 2 0 1 2 0 3 2 0 3 1 1 0 1 0 1 1 0 1 1 0 图 8.66 关系运算示意图 288 2. 三角函数(Trigonometric) 常用的三角函数包括:Sin(正弦函数)、 Cos(余弦函数)、 Tan(正切函数)、 Asin(反 正弦函数)、 Acos(反余弦函数)、 Atan(反正切函数)。 3. 对数函数(Logarithms) 对数函数可对输入的格网数字做对数或指数的运算。指数部份包括:Exp (底数 e)、 Exp10 (底数 10)、Exp2 (底数 2)三种;对数部份包括:Log (自然对数)、Log10 (底数 10)、 log2 (底数 2)等三种。 4. 幂函数(Powers) 幂函数可对输入的格网数字进行幂函数运算。幂函数包括三种:Sqrt (平方根)、Sqr (平 方)、Pow (幂)。 5. 栅格数据空间分析函数 栅格计算器也直接支持 ArcGIS 自带的大部分栅格数据分析与处理函数,如栅格表面 分析中的 slope、hillshade 函数等等,在此不一一列举,具体用法请参阅相关文档。它与数 学函数不同的是,这些函数并没有出现在栅格计算器图形界面中,而需要手动输入。 8.7.3 栅格计算器 1. 启动栅格计算器 单击 Spatial Analyst 的下拉箭头,选择 Raster Calculator。栅格计算器由四部分组成(图 8.67), 左 上部 Layers 选择框为当前 ArcMAP 视图中已加载的所有栅格数据层列表,双击 任一个数据层名,该数据层名便可自动添加到左下部的公式编辑器中;中间部部是常用的 算术运算符、0~10、小数点.、关系和逻辑运算符面板,单击所需按钮,按钮内容便可自动 添加到公式编辑器中;右 边 可 伸缩区域为常用的数学运算函数面板,同样单击任一个按钮, 内容便可自动添加到公式编辑器中。 2. 编辑计算公式 (1) 简单算术运算 如图 8.67 所示,在公式 编辑器中先输入计算结果 名称,再输入等号(所有符 号两边需要加一个空格), 然后在 Layers 文本框中双 击要用来计算的图层,则选 择的图层将会进入公式编 辑器参与运算。其中“-”和 “^”为单目运算符,运算 符前可以不加内容,而只在 运算符后加参与计算的对 图8.67 栅格计算器的数学算术运算 289 象,如 a = - [slope]等。在公式编辑器如果引用 Layers 选择框的数据层,数据层名必须用[ ] 括起来。 (2) 数学函数运算 先单击函数按钮,然后在函数后面的括号内加入计算对象,如图 8.68 所示。应该注意 三角函数以弧度为其默认计算单位。 (3) 栅格数据空间分析函数运算 栅格数据空间分析函数没有直接出现在栅格计算器面板中,需要手动输入。引用时, 首先查阅有关文档,确定函数全名、参数、引用的语法规则;然后在栅格计算器输入函数 全名,并输入一对小括号,再在小括号中输入计算对象和相关参数,如图 8.69 所示。 (4) 多语句的编辑 ArcGIS 栅格计算器多表达式同时输入,并且先输入的表达式运算结果可以直接被后续 语句引用,如图 8.70 所示。一个表达式必须在一行内输入完毕,中间不能回行。此外,如 果后输入的函数需要引用前面表达式计算结果,前面表达式必须是一个完整的数学表达 式。如图 8.70 中的“d = [straightline]*100”,等号左边为输出数据文件名,右边为计算式。 此外,引用先前表达式的输出对象时,直接引用输出对象名称,对象名称不需要用中括号 括起来,如图 8.70 中对 d 的引用。 图 8.69 栅格数据空间分析函数运算 图 8.68 栅格计算器的数学函数运算 290 3. 检查计算公式准确无误后,单击 Evaluate 执行运算,计算结果会自动加载到当前 ArcMap 视图窗口。 图 8.70 栅格计算器的多语句编辑 291 8.8 实例与练习 8.8.1 学校选址 1. 背景 合理的学校空间位置布局,有利于学生的上课与生活。学校的选址问题需要考虑地理 位置、学生娱乐场所配套、与现有学校的距离间隔等因素,从总体上把握这些因素能够确 定出适宜性比较好的学校选址区。 2. 目的 通过练习,熟悉 ArcGIS 栅格数据距离制图、成本距离加权、数据重分类、多层面合并 等空间分析功能;熟练掌握利用 ArcGIS 空间分析功能,分析和结果类似学校选址的实际 应用问题。 3. 数据: (1) Landuse(土地利用图); (2) dem(地面高程图); (3) rec_sites(娱乐场所分布图); (4) school(现有学校分布图)。 所 有原始数据存放于随书光盘的..\Chp8\Ex1\目录下。 4. 要求 (1) 新学校选址需注意如下几点: 1) 新学校应位于地势较平坦处; 2) 新学校的建立应结合现有土地利用类型综合考虑,选择成本不高的区域; 3) 新学校应该与现有娱乐设施相配套,学校距离这些设施愈近愈好; 4) 新学校应避开现有学校,合理分布。 (2) 各数据层权重比为:距离娱乐设施占 0.5,距离学校占 0.25,土地利用类型和地 势位置因素各占 0.125。 (3) 实现过程运用 ArcGIS 的扩展模块(Extension)中的空间分析(Spatial Analyst) 部分功能,具体包括:坡度计算、直线距离制图功能、重分类及栅格计算器等功能完成。 (4) 给出适合新建学校的适宜地区图,并作简要分析。 5. 实现流程图 ArcGIS 中实现学校选址分析,首先利用现有学校数据集、现有娱乐场所数据集和高程 数据派生出坡度数据以及到现有学校、娱乐场所距离数据集。然后重分类数据集到相同的 等级范围,再按照上述数据集在学校选址中的影响率赋权重值,最后合并这些数据即可创 建显示新学校适宜位置分布的地图。 292 学校选址的逻辑过程主要包括四个部分(图 8.71,结果中深色部分为学校候选区)。 (1) 数据准备,确定需要哪些数据作为输入,包括高程数据(dem)、 土 地 利用数据 (landuse)、 现有学校数据(school)娱乐场所数据(rec_sites); (2) 派生数据集,从现存数据派生出能提供学校选址的原始成本数据,包括坡度数 据、到现有学校距离数据集和到娱乐场所数据集; (3) 重分类各种数据集,消除各成本数据集的量纲影响,使各成本数据具有大致相 准 备 数 据 土地利用图 高程图 距离娱乐场所 距离学校 计算坡度 派 生 数 据 重 分 类 最 终 结 果 权 重 0.125 0.125 0.5 0.25 娱乐场所分布图 学校分布图 图 8.71 学校选址逻辑过程 293 同的可比分类体系。各成本数据均按等间距分类原则分为 1 到 10 级,级数越高适宜性越 好; (4) 给各数据集赋权重。必要的话在适宜性模型中影响比较大的数据集赋比较高权 重,然后合并各数据集合以寻找适宜位置。 6. 操作步骤 (1) 运行 ArcMap,加载 Spatial Analyst 模块,如果 Spatial Analyst 模块未能激活,单 击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮; (2) 单 击 File 菜 单 下 的 Open 命令,打开加载地图文档对话框,选择 E:\Chp8\Ex1\school.mxd; (3) 设置空间分析环境。单击 Spatial Analyst 模块的下拉箭头,打开 Options 对话框, 设置相关参数: 1) 打开 Options 对 话框中的 General 选 项卡,设置默认工作路径为: “E:\Chp8\Ex1\result\”; 2) 打开 Options 对话框中的 Extent 选项卡,在 Analysis Extent 下拉框中选择“Same as Layer landuse”; 3) 打开 Options 对话框中的 Cell Size 选项卡,在 Analyst Cell Size 下拉框中选择 “Same as Layer landuse”; (4) 从 DEM 数据提取坡度数据集。选择 DEM 数据层,单 击 Spatial Analyst 模块的下拉 箭头,选择 Surface Analysis 并单击 Slope,生 成 slope 数据集(图 8.72); (5) 从娱乐场所数据“Rec_sites”提取娱 乐场直线距离数据。选择 Rec_sites 数据层, 单击 Spatial Analyst 模块的下拉箭头,选择 Distance 并单击 Straight line,生成 dis_recsites 数据集(图 8.73); (6) 从现有学校位置数据“School”提取学校直线距离数据库。选择 School 数据层, 单击 Spatial Analyst 模块的下拉箭头,选择 Distance 并单击 Straight line 命令创建数据集, 图 8.72 坡度图 图 8.73 娱乐场所直线距离图 图 8.74 学校直线距离图 294 图 8.75 重分类坡度数据 得到 dis_School 数据集(图 8.74)。 (7) 重分类数据集 1) 重分类坡度数据集 学校的位置在平坦地区比较有利。因此, 采用等间距分级把坡度分为 10 级。平坦的地 方适宜性好,赋以较大的适宜性值,陡峭的地 区 赋 比 较 小 的 值 , 得到坡度适宜性数据 recalssslope(图 8.75)。 2) 重分类娱乐场直线距离数据集 考虑到新学校距离娱乐场所比较近时适 宜性好,采用等间距分级分为 10 级,距离娱 乐场所最近适宜性最高,赋值 10;距离最远 的 地 方 赋 值 1 。 得到娱乐场所适宜性图 reclassdisr(图 8.76)。 3) 重分类现有学校直线距离数据集 考虑到新学校距离现有学校比较远时适宜性好,仍分为 10 级,距离学校最远的单元 赋值 10,距离最近的单元赋值 1。得到重分类学校距离图 reclassdiss(图 8.77)。 4) 重分类土地利用数据集 在考察土地利用数据时,容易发现各种土地利用类型对学校适宜性也存在一定的影 响。如在有湿地、水体分布区建学校的适宜性极差,于是在重分类时删除这两个选项,实 现如下: 按 Ctrl 键,选择“water”、“wetland”、“grass”,单击“delete entries”,删除“water”、 “wetland” 、“grass”。然后 根据用地类型给各种类型赋值,得到 reclassland(图 8.78), 深色部分为比较适宜区,浅色部分表示适宜性比较差,白色表示该处不允许建学校。 图 8.76 重分类娱乐场所距离图 图 8.77 重分类学校距离图 295 (8) 适宜区分析 重分类后,各个数据集都统一到相同的等级体系内,且每个数据集中那些被认为比较 适宜性的属性都被赋以比较高的值,现在开始给四种因素赋以不同的权重,然后合并数据 集以找出最适宜的位置。 单击 Spatial Analyst 下拉列表框中的 Raster Calculator 命令对各个重分类后数据集的合 并计算,最终适宜性数据集的加权计算公式为: Suit(最终适宜性)= reclassdisr(娱乐场所)* 0.5 + reclassdiss(现有学校)* 0.25 + reclassland(土地利用数据)* 0.125 + reclassslope(坡度数据)* 0.125 得到最终适宜性数据集(图 8.79), 适 宜 性 较 高 区 域 ( 深色部分)为推荐学校选址区 域。 图 8.79 适宜性学校选址结果图 图 8.78 重分类土地利用图 296 8.8.2 寻找最佳路径 1. 背景 随着社会经济发展需求,公路的重要性日益提高。在一些交通欠发达的地区,公路建 设迫在眉睫。如何根据实际地形情况设计出比较合理的公路规划,是一个值得研究的问题。 2. 目的 通过练习,熟悉 ArcGIS 栅格数据距离制图、表面分析、成本权重距离、数据重分类、 最短路径等空间分析功能,熟练掌握利用 ArcGIS 上述空间分析功能,分析和处理类似寻 找最佳路径的实际应用问题。 3. 数据 (1) dem(高程数据); (2) startPot (路径源点数据); (3) endPot (路径终点数据); (4) river (小流域数据)。 所有原始数据存放于随书光盘的..\Chp8\Ex2\目录下。 4. 要求 (1) 新建路径成本较少; (2) 新建路径为较短路径; (3) 新建路径的选择应该避开主干河流,以减少成本; (4) 新建路径的成本数据计算时,考虑到河流成本(Reclass_river)是路径成本中较 关键因素,先将坡度数据(reclass_slope)和起伏度数据(reclass_QFD)按照 0.6:0.4 权 重合并,然后与河流成本作等权重的加和合并,公式描述如下: cost = Reclass_river + ( reclass_slope*0.6+reclass_QFD*0.4) (5) 寻找最短路径的实现需要运用 ArcGIS 的空间分析(Spatial Analyst)中距离制图 中的成本路径及最短路径、表面分析中的坡度计算及起伏度计算、重分类及栅格计算器等 功能完成; (6) 提交寻找到的最短路径路线图。 5. 实现流程图 ArcGIS 中实现最佳路径分析,首先利用高程数据派生出坡度数据以及起伏度数据。然 后重分类流域数据、坡度、起伏度数据集到相同的等级范围,再按照上述数据集在路径选 择中的影响率赋权重值,最后合并这些数据即可得到成本数据集。基于成本数据集计算栅 格数据中各单元到源点的成本距离与方向数据集。最后执行最短路径函数提取最佳路径。 具体逻辑过程如图 8.80 所示。 297 图 8.80 寻找最佳路径逻辑过程 计算起伏度 计算坡度 + 0.6 0.4 数据准备 派 生数据 分 类 权 重 分 配 成 本 数据 果 计算距离方向 小 流 域 分 布 图 高 程 图 高 程 图 298 6. 操作过程 (1) 运行 ArcMap,加载 Spatial Analyst 模块,如果 Spatial Analyst 模块未能激活,单 击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮; (2) 单 击 File 菜 单 下 的 Open 命令,打开加载地图文档对话框,选择 E:\Chp8\Ex2\road.mxd; (3) 设置空间分析环境。单击 Spatial Analyst 模块的下拉箭头,打开 Options 对话框, 设置相关参数: 1) 打开 Options 对 话框中的 General 选 项卡,设置默认工作路径为: “E:\Chp8\Ex2\result\”; 2) 打开 Options 对话框中的 Extent 选项卡,在 Analysis Extent 下拉框中选择“Same as Layer landuse”; 3) 打开 Options 对话框中的 Cell Size 选项卡,在 Analyst Cell Size 下拉框中选择 “Same as Layer landuse”。 (4) 创建成本数据集 考虑到山地坡度、起伏度对修建公路的成本影响比较大,其中尤其山地坡度更是人们 首先关注的对象,则在创建成本数据集时,可考虑分配其权重比为:0.6:0.4。但是在有 流域分布的情况下,河流对成本影响不可低估。因此,成本数据集为合并山地坡度和起伏 度之后的成本,加上河流对成本之影响。 1) 坡度成本数据集 选择 DEM 数据层,单击 Spatial Analyst 下拉列表框,选择 Surface Analysis 并单击 slope,生成坡度数据集,记为 Slope。 选择 Slope 数据层,单击 Spatial Analyst 下拉键头,选择 Reclassify 命令实施重分类。 重分类的基本原则是:采用等间距分为 10 级, 坡度最小一级赋值为 1,最大一级赋值为 10 , 得到图 8.81 所示坡度成本数据 (reclass_slope)。 2) 起伏度成本数据集 选择 DEM 数据层,单击 Spatial Analyst 下拉列表框,选择 Neighborhood Statistics,设 置如图 8.82 所示参数设置,单击 Ok 按钮,生成起伏度数据层,记为 QFD。 选择 QFD 数据层,单击 Spatial Analyst 下拉键头,选择 Reclassify 命令,按 10 级等间 距实施重分类,地形越起伏,级数赋值越高,最小一级赋值为 1,最大一级赋值为 10 , 得到图 8.83 所示地形起伏成本数据(reclass_QFD)。 图 8.81 坡度成本数据 299 3) 河流成本数据集 选择 River 数据层,单 击 Spatial Analyst 下拉键头,选择 Reclassify 命令,按照河流 等级如下进行分类:4 级为 10;如此依次为 8,5,2,1,生成图 8.84 所示河流成本 (reclass_river)。 (5) 加权合并单因素成本数据,生成最 终成本数据集。 单击 Spatial Analyst 下拉箭头,选择 Raster Calculator 命令合并数据集,计算公式 如下: cost = reclass_river(重分类流域数据)+ ( reclass_slope(重分类坡度数据)*0.6 + reclass_rough(重分类起伏度数据)* 0.4) 得到图 8.85 所示最终成本数据集(cost), 其 中 深色表示成本高的部分。 (6) 计算成本权重距离函数 单击 Spatial Analyst 模块下拉箭头,选择 Distance 中的 Cost Weighted,设置参数如图 图 8.83 起伏度成本数据 图 8.82 生成起伏度 图 8.84 河流成本数据 图 8.86 计算成本权重数据对话框 图 8.85 最终成本数据 300 图 8.89 最短路径对话框 图 8.90 最佳路径图(黑色粗线) 8.86,单击 OK 按钮。生成图 8.87 所示成本距离图,其中浅色为源点;图 8.88 所示成本方 向图,尖点为源点。 (7) 求取最短路径 单击 Spatial Analyst 下拉框,选择 Distance 中的 Shortest Path,设置参数如图 8.89 所 示,单击 OK 按钮,生成最终的最短路径图(图 8.90,其中黑色粗线部分为确定的路径)。 8.8.3 熊猫分布密度制图 1. 背景 大熊猫是我国国家级珍惜保护动物,熊猫的生存必须满足一定槽域(独占的猎食与活 动范围)条件。因此,科学准确的分析熊猫的分布情况,对合理制定保护措施和评价保护 成效具有重要的意义。 图 8.87 成本距离 图 8.88 成本方向图 301 2. 目的 通过练习,熟悉 ArcGIS 密度制图函数的原理及差异性,掌握如何根据实际采样数据特 点,结合 ArcGIS 提供的密度制图功能和其它空间分析,制作符合要求的密度图。 3. 数据 野外实采的熊猫活动足迹数据,一个足迹代表一个熊猫曾在此处活动过,相同足迹只 记载一次。数据存放于随书光盘的..\Chp8\Ex3\目录下。 4. 要求 (1) 熊猫活动具有一定的槽域范围,一个槽域范围只有一个或一对熊猫,在此练习中, 假设熊猫槽域半径为 5km; (2) 虽然一个采样点代表一个熊猫,但由于熊猫的生存具有确定槽域特征,不同的采 样点具有不同的空间控制面积。假定熊猫活动范围分布满足以采样点为中心的泰森多边 形,如何将这一信息加入密度分布图是本练习的重点; (3) 在野外实采的熊猫活动足迹数据的基础上,以每个熊猫槽域范围为权重,运用 ArcGIS 中的区域分配功能和密度制图功能制作该地区熊猫分布密度图。 5. 计算原理 首先利用栅格数据空间分析模块提供的区域分配功能提取熊猫的槽域范围,然后用理 论最大槽域面积(假定是半径为 5km 的圆,面积为 3.1415927*5*5,km2)除以所提取的 熊猫实际槽域面积,作为采样点的加权值(记为 Power 字段),生成熊猫分布密度图。 6. 操作过程 (1) 运行 ArcMap,加载 Spatial Analyst 模块,如果 Spatial Analyst 模块未能激活,单击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮。 (2) 单击 Spatial Analyst 下箭头,单 击 Options,单 击 General 标签,在 Working Direction 文本框中输入或 者 单 击 Browse 按钮选择工作路径,此处假定为 “E:\chp8\ex3\Result\”,图 8.91。 (3) 单击 File 菜单下的 Open 命令,打开加载地图 文档对话框,选择 E:\Chp8\Ex1\ XMDensity.mxd。 (4) 选择熊猫活动足迹数据图层,单击 Spatial Analyst 下拉箭头,单击 Distance,单击 Allocation,设 置参数如图 8.92 所示,输出文件名记为 FP。单击 OK, 生成熊猫槽域范围图(图 8.93,白色区域没有熊猫出现)。 图 8.91 工作路径设置 302 (5) 选择 FP 数据层,单 击鼠标右键并选择 Open Attribute Table 命令,打开 FP 属性表; (6) 单击 FP 属性表右下角 Option 按钮的下拉箭头,选择 Export 命令(图 8.94); (7) 导出 FP 属性数据表,在 Output table 文本框中输入输出文件名 FBtab.dbf,如图 8.95 所示; (8) 单击确定按钮。出现提示是否需要加载该数据表,选择“是(Y)”; (9) 选择熊猫活动足迹数据图层(XMPoint),单击鼠标右键,选择 Join and Relates 子菜单下的 Join,弹出数据连接对话,参数设置如图 8.96 所示,单击 OK 按钮,完成熊猫 图 8.95 参数设置 图 8.92 区域分配对话框 图 8.93 槽域分配图 图 8.94 FB 属性表输出 303 采样数据与槽域范围数据的连接。 (10) 选择熊猫活动足迹数据图层(XMPoint),单 击鼠标右键并选择 Open Attribute Table 命令,打开 XMPoint 属性表;单击属性表中的 XMPoint.CaoYuArea 字段名,单 击鼠标右键, 选择 Calculate Values…;在 Field Calculate 对话框中输入计算公式:[FBtab.Count]*500*500, 500 为生成 FB 数据层时设置的栅格大小。 (11) 选择熊猫活动足迹数据图层 (XMPoint), 选择单击属性表中的 XMPoint.Power 字段名,单击鼠标右键,选择 Calculate Values…;在 Field Calculate 对话框中 输入计算公式:3.1415926*5000*5000 / [XMPoint.CaoYuArea],3.1415926*5000*5000 为 假定的最大槽域面积,计算每个采样点的权重 值,作为计算密度的样本值; (12) 单击 Spatial Analyst 模块的下拉箭头, 选择 Density…,参数设置如图 8.97 所示,提取 密度; (13) 上述密度以平方米为面积单位,数据值 太小。单击 Spatial Analyst 模块的下拉箭头,选 择 Raster Caculate…,输入计算公式:XMDensity10 = [XMDensity] * 10000000,将面积单 图 8.97 密度计算 图 8.96 采样数据与槽域范围数据连接 304 位换算为 10 平方公里,结果如图 8.98 所示。 8.8.4 GDP 区域分布图的生成与对比 1. 背景 各地区经济协调发展是保证国民经济健康持续稳定增长的关键。GDP 是反映各地区经 济发展状况的重要指标。科学准确分析各地区 GDP 空间分布特征,对制定有效措施,指导 经济协调发展具有重要参考价值。 2. 目的 ArcGIS 中提供了三种空间插值方法,每种插值方法在原理上和应用上都大不相同,在 此通过具体实例练习如何利用 IDW 内插方法和 Spline 内插方法进行 GDP 空间分布特征的 分析,以此来引导读者对空间插值有一个更深刻的认识。 3. 数据: 某地区的统计 GDP 数据(GDP.shp),数据范围:4601 万元~132630 万元。数据存放于 随书光盘的..\Chp8\Ex4\目录下。 4. 要求 (1) 经济的发展具有一定的连带效应和辐射作用。以该地区各区域年 GDP 数据为依 据,采用 IDW 和 Spline 内插方法创建该地区 GDP 空间分异栅格图; (2) 分析每种插值方法中主要参数的变化对内插结果的影响; (3) 分析两种内插方法生成的 GDP 空间分布图的差异性,简单说明形成差异的主要 原因; (4) 通过该练习,熟练掌握两种插值方法的适用条件。 5. 实验流程图 (1) IDW 内插方法 图 8.98 熊猫密度图(单位:10 平方公里) 305 (2) Spline 内插方法 (3) 两种方法之间的对比,通过空间分析中 Raster Calculate 命令来进行分析。选择 IDW(Power=2), Spline(Regularized,Weight=0.01)。 在 Raster Calculate 中计算 Abs(IDW – Spline), 比 较 二 者 产值变化空间分异特征。 6. 操作步骤 (1) IDW 插值法 1) 插值步骤: A. 运行 ArcMap,加载 Spatial Analyst 模块,如果 Spatial Analyst 模块未能激活,单 击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮; B. 单击 File 菜单下的 Open 命令,打开加载地图文档对话框,选择 E:\Chp8\Ex4\GDP.mxd; C. 在 Spatial Analyst 下拉菜单中选择 Options 选项,在 Options 中的 General 页面中 在设置默认工作路径,此处假定为“E:\chp8\ex4\Result\”,并 设置 Analysis mask 为 board.shp; 相减并取绝对值 总结 IDW(Power=2) IDW(Power=5) GDP 数据 图 8.99 IDW 内插试验流程图 Weight=0 Weight=0.01 Regularized 总 结 GDP 数据 Tension 相减并取绝对值 Weight=0 Weight=5 总 结 图 8.100 Spline 内插试验流程图 306 D. 在 Spatial Analyst 下拉菜单 中选择 Interpolate to Raster, 在弹出 的 下 一 级 菜 单中单击 Inverse Distance Weighted; E. 设置 Z value field 为 GDP; 设置 Power 为 2;设置 Output cell size 为 500;输出结果文件名为 IDW2; 其他参数不变,单击 OK。 F. 改 Power 值为 5,输出结果 文件名为 IDW5,重复上述步骤。 G. 在 Spatial Analyst 下拉菜单 中选择 Raster Calculator , 求 Abs (IDW2 - IDW5)。单击 Ok。 IDW 插值结果如图 8.101 所示。 2) 结果分析 A. IDW 插枝是加权距离平均 函数,平均值不可能大于输入最高值 或是小于输入最低值,因此输出的结 果数据中,每一栅格值均处于采样数 据的最大值与最小值范围之内。 B. 幂指数对 IDW 的插值结果 有很大影响。幂指数越大,较远的点 对于输入的影响越小,即幂指数越 高,其局部影响的程度越高。 C. IDW 属于精确性(生成表面 通过采样点)插值方法。因此,在采 样点的微小邻域内,即使给出不同的 幂指数值,内插结果的变化均比较 小,变化比较大的地方出现在采样点 值变化剧烈和频繁的区域。此外,如 果基于采样点生成泰森多边形,在多 边形边线区域,内插值比较稳定,受 幂指数值的影响不是很明显。 图 8.101 IDW 插值结果 IDW2: Power = 2 IDW5: Power = 5 IDW2-IDW5: Abs(IDW2 — IDW5) 307 (2) Spline 内插法 1) 插值步骤: A. 在 Spatial Analyst 下拉菜单 中选择 Interpolate to Raster, 在弹出 的下一级菜单中单击 Spline; B. 设置 Z value field 为 GDP; 设置 Spline type 为 Regularized;设 置 Weight 值为 0;设置 Output cell size 为 500;输出文件名称为 Spr0; 其他参数不变,单 击 OK,进行计算; C. 改 Weight 值为 0.01,输出 文件名称为 Spr01,重复上述步骤; D. 修改 Spline type 为 Tension, 并分别取 Weight 值为 0 和 5,输出 文件名称为 Spt0 和 Spt5,进行计算; E. 在 Spatial Analyst 下拉菜单 中 选择 Raster Calculator ,并求 Regularized 中 Abs(Spr0 — Spr01) 和 Tension 中 Abs(Spt0 — Spt5)。 图 8.102 为采用 Regularized插值 类型时插值结果。图 8.103 为采用 Tension 插值类型时插值结果。 2) 结论: A. Spline 插值表面光滑,并且 Regularized 插值结果较 Tension 插值 结果光滑; B. Spline 插值表面数值范围 范围将超出采样点数值范围; C. Regularized Spline 插值中, weight 值越高则生成的表面越光滑; D. Tension Spline 插 值 中, weight 值越高则生成的表面越粗糙; E. 在采样点微小邻域内,无论 采用那种内插方法(Regularized 或 Tension)和 weight 值,Spline 插值 均比较稳定,差异较小。而在其它区 域,尤其是在采样点比较稀疏的地 方,插值受内插方法(Regularized 图 8.102 Spline Regularized 插值结果 Spr0: Weight = 0 Spr01: Weight = 0.01 Spr0-Spr01: Abs(Spr0 - Spr01) 308 或 Tension)和 weight 值的影响比较大。 图 8.103 Spline Tension 插值结果 Spt0: Weight = 0 Spt5: Weight = 5 Spt0-Spt5: Abs(Spt0 — Spt5) 309 (3) IDW 与 Spline 对比分析 1) 操作过程: A. 选取 IDW2 内插结果图; B. 选取 Spr01 内插结果图; C. 在 Spatial Analyst 下拉菜单中选择 Raster Calculator,输入公式:Abs(IDW2-Spr01), 单 击 Evaluate,执行运算。结果如图 8.104 所示。 2) 结论: A. IDW 和 Spline 都属于精确性插值,插值表面均通过采样点。因此,在采样点微小 邻域,两种插值方法的插值结果比较接近,差异较小。 B. IDW 和 Spline 插值受采样点密度的影响较大。在采样点分布比较密集的区域,插 值结果差异较小;在采样点分布比较稀疏的区域,插值结果差异较大。 C. 在采样点取值变化剧烈和频繁的区域,IDW 和 Spline 插值结果差异较大,而在变 化比较均衡的区域,插值结果比较接近。 D. IDW 是一个加权距离平均,其每一栅格的输出值限制在采样点的输入值的范围 内,因此,对如山脊和沟谷这样的极端地形,如果没有采样点,IDW 不会生成这些地形。 当取样点足够密时,IDW 对局部变化具有非常好的效果。Spline 是基于生成具有连续的二 阶导数和最小的平方曲率的插值方法,所以它适合那些空间连续变化并且光滑的表面的生 成。 8.8.5 山顶点的提取 1. 背景 山顶点指哪些在特定邻域分析范围内,该点都比周围点高的区域。山顶点是地形的重 要特征点,它的分布与密度反映了地貌的发育特征,同时也制约着地貌发育。因此,如何 基于 DEM 数据正确有效的提取山顶点,在数字地形分析中具有重要意义。 图 8.104 IDW 与 Spline 对比分析 310 2. 目的 通过等高线、山顶点、洼地点的提取和配置、引导读者熟练掌握利用 ArcGIS 栅格数据 空间分析中等高线的提取、栅格数据邻域分析和窗口计算功能,完成栅格数据表面分析。 3. 数据: 黄土丘陵地区 1:10000DEM 数据。数据存放于随书光盘的..\Chp8\Ex5\目录中。 4. 要求 (1) 应用栅格数据空间分析模块中的等高线提取功能,分 别 提取等高距为 15 米和 75 米的等高线图,并 按标准地形图绘制等高线方法绘制等高线,作 为 山 顶 点 提取的地形背景; (2) 通过邻域分析和栅格计算器提取山顶点。 5. 操作过程 (1) 运行 ArcMap,加载 Spatial Analyst 模块,如果 Spatial Analyst 模块未能激活,单 击 Tools 菜单下的 Extensions,选择 Spatial Analyst,单击 Close 按钮。 (2) 单击 Spatial Analyst 下拉箭头,单 击 Options,单 击 General标签,在Working direction 文本框中输入或单击 Browse 按钮选择默认工作路径。此处假定为“E:\chp8\ex5\Result\”, 如图 8.105 所示; (3) 单 击 File 菜 单 下 的 Open 命令,打开加载地图文档对话框,选择 E:\Chp8\Ex1\HillTop.mxd; (4) 单击 Spatial Analysis 下拉箭头,选择 Sueface Analysis 子菜单并单击 Contour,参 数设置如图 8.106 所示,提取等高距为 15 米的等高线; (5) 修改 Contour interval 为 75 米,提取等高距为 75 米的等高线,输出文件名为 Contour75; (6) 单击 Contour15 数据层图例,选择显示颜色为灰度 60%(图 8.107),单击 OK 按 钮。 图 8.105 设置工作路径 图 8.106 等高线提取对话框 311 (7) 单击 Spatial Analysis 下拉箭头,选择 Sueface Analysis 子菜单并单击 Hillshade,设 置输出文件名为 Hillshade,其它参数取默认值,提取该地区光照晕渲图,作为等高线三维 背景; (8) 单击 Spatial Analysis 下拉箭头,选择 Raster Calculator…,输入计算公式:Back = [DEM] >= 0,单击 OK。提取有效数据区域,作为等高线三维背景掩模; (9) 双击 Back 数据层,在弹出的属性对话框的 Display 属性页设置透明度 60%,在 Symbology 属性框中设置其显示颜色为 Gray50%,单击 OK 按钮; (10) 按 Contour15、Contour75、Back、Hillshade 次序放置数据层,生成三维立体等 高线图(图 8.108); (11) 单击 Spatial Analysis 下拉箭头,选择 Neighborhood Statistics,设置参数如图 8.109 图 8.108 三维立体等高线图 图 8.107 选择图例颜色 312 所示,单击 OK 按钮,提取 11*11 分析窗口最大值; (12) 单击 Spatial Analysis 下拉箭头,选择 Raster Calculator…,输入计算公式:SD = [Maxpoint] - [DEM] == 0,提取山顶点区域; (13) 选择 SD 数据层,单击 Spatial Analysis 下 拉箭头,选择 Reclassify,设置参数如图 8.110 所示, 重分类 SD 数据; (14) 选择 RE_SD 数据层,单击 Spatial Analysis下拉箭头,选择Convert子菜单并单击Raster to Features…,设置参数如图 8.111 所示,输出矢量 山顶点数据(图 8.112)。 图8.111 格式转换 图 8.110 重分类 SD 数据 图 8.112 山顶点分布图 图 8.109 计算最大值 313 313 第九章 三维分析 相当长的一段时间里,由于 GIS 理论方法及计算机软硬件技术所限,GIS 以描述二维 空间为主,同时发展了较为成熟的基于二维空间信息的分析方法。但是将三维事物以二维 的方式来表示,具有一定的局限性。在以二维方式描述一些三维的自然现象时,不能精确 地反映、分析和显示有关信息,致使大量的三维甚至多维空间信息无法加以充分利用。随 着 GIS 技术以及计算机软硬件技术的进一步发展,三维空间分析技术逐步走向成熟,成为 GIS 空间分析的重要内容,成为传统二维分析理论与方法的有益补充。三维空间分析相比 二维分析,更注重对第三维信息的分析。基于高程信息的三维分析主要包括三维几何参数 计算、地形因子提取、地表类型分类、通视性分析、地形剖面图绘制、地形三维可视化等。 第三维信息也可以是如降雨量、温度等,进一步扩展了三维分析的应用领域。 ArcGIS 具有一个能为三维可视化、三维分析以及表面生成提供高级分析功能的扩展模 块 3D Analyst,可以用它来创建动态三维模型和交互式地图,从而更好地实现地理数据的 可视化和分析处理。3D Analyst 扩展模块的核心是 ArcScene 应用,它可以更加高效地管理 三维 GIS 数据、进行三维分析、创建三维要素以及建立具有三维场景属性的图层。例如, 可以把平面二维图形突出显示成三维结构、线生成墙、点生成线。因此,不用创建新的数 据就可以建立高度交互性和可操作性的场景。如果是具有三维坐标的数据,利用该模块可 以把数据准确地放置在三维空间中。 本章主要介绍如何利用 ArcGIS 三维分析模块进行创建表面、表面分析及在 ArcScene 中数据的三维可视化。此外,还包括数据转换的介绍,包括二维要素三维化、将栅格数据 转换为矢量数据以及将 TIN 表面数据转换为矢量要素数据。最后,设计了多个实例与练习 帮助读者掌握常用的 ArcGIS 三维分析的理论与方法。 9.1 创建表面 具有空间连续特征的地理要素,其 值的表示可以借鉴三维坐标系统X、Y、 Z 中的 Z 坐标,一般通称为 Z 值。在 一定范围内的连续 Z 值构成了连续的 表面。由于表面包含无数个点,在 应 用 中 不 可 能 对 所有点进行度量并记录。表 面模型通过对区域内不同位置的点进 行采样,并对采样点插值生成表面,以 实 现 对 真 实 表 面 的 近似模拟。图 9.1 为 某区域大气污染指数的表面模型,图中 图 9.1 某区域大气污染指数表面模型 314 黑点为大气污染指数的采样点。 利用 ArcGIS 三维分析模块可以从现有数据集中创建新的表面,它允许以规则空间格 网(栅格模型)或不规则三角网(TIN 模型)两种形式来创建表面以适合于某些特定的数 据分析。创建表面模型主要有两种方法:插值法和三角测量法。主要的插值方法包括: 1. 反距离权重插值 2. 克里格插值 3. 自然邻体法(点插值成面) 4. 样条函数插值 5. 拓扑栅格插值(拓扑纠正表面生成) 6. 趋势面插值 欲建立三角网表面,可以用矢量要素生成不规则三角网(包括硬或软断线、集群点等 等),也可通过向现有表面中添加要素来创建。 在 ArcGIS 中,还可以实现栅格表面和 TIN 表面的相互格式转换。创建好的表面模型 数据可用于进一步分析。 9.1.1 栅格表面的创建 1. 由点创建栅格面 插值是利用有限数目的样本点来估计未知样本点值的一种方法,这种估值方法可用于 生成高程、降雨量、化学污染程度、噪声等级、湖泊水质等级等连续表面。插值的前提是 空间地物具有一定的空间相关性,距离较近的地物,其值更为接近,如气温、水质等。通 常不可能对研究区内的每个点的属性值都进行测量,一般选择离散的样本点进行测量,通 过插值得出未采样点的值。采样点可以随机选取、分层选取或规则选取,但必须保证这些 点代表了区域的总体特征。例如某一地区的气象观测站,一般都是在该地区内具有一定控 制意义的观测点,由它们采集所得到的温度、气压、大气污染指数等数据是在空间上离散 的点,同时代表了该地区内这种指标的总体特征,因此可以插值生成连续且规则的栅格面。 点插值的一个典型的例子是利用一组采样点来生成高程面,每个采样点高程值由某种测量 手段得到,区域内其它点的高程通过插值得出(例见图 9.2)。 由点数据插值生成栅格面的方法有很多,常用的有反距离权重法、克里格法、自然邻 体法(邻域法)和样条函数法等。根据所要建模的现象及采样点的分布,每种方法进行预 测估值时都有一定的前提假设即其适用的前提条件。但是,不论采用哪种方法,通常采样 点数目越多,分布地越均匀,插值效果就会越好。 315 (1) 反距离权重法:此方法的假设前提是每个采样点间都有局部影响,并且这种影响与 距离大小成反比。则,离目标点近的点其权值就比远的点大。这种方法适用于变量 影响随距离增大而减小的情况。如计算某一超市的消费者购买力权值,由于人们通 常喜欢就近购买,所以距离越远权值越小。 (2) 克里格方法:此方法的假设前提是采样点间的距离和方向可反映一定的空间关联, 并用它们来解释空间变异。克里格法利用一定的数学函数对特定点或是给定搜索半 径内的所有点进行拟合来估计每个点的值。该方法适用于已知数据含距离和方向上 的偏差的情况,常用于社会科学研究及地质学等学科中。 (3) 邻域法:类似于反距离权重法,是一种权平均算法。但是,它并不利用所有的距离 加权来计算插值点。邻域法对每个样本点做 Delauney 三角形,选择最近的点形成一 个凸集,然后利用所占面积的比率来计算权重。该方法适用于样本点分布不均的情 况。 (4) 样条函数法:它采用样本点拟合光滑曲面,且其曲率最小。通过一定的数学函数对 采样点周围的特定点进行拟合,且结果通过所有采样点。该方法适用于渐变的表面 属性,如高程、水深、污染聚集度等。不适合在短距离内属性值有较大变化的地区, 那样估值结果往往会偏大。 2. 栅格表面插值 关于各种插值方法原理详细的讲解可参考本书第八章中相关内容,此处不再赘述。本 节介绍 ArcGIS 三维分析模块所提供的几种插值方法的实现。 (1) 可变半径的反距离加权插值 可变半径插值,是指在输出栅格单元最大 搜索半径范围内,找出最近的 N 个点作为插值 的输入点。与之相反,固定半径插值使用指定 搜索半径范围内的所有点作为插值的输入点。 首先,选择三维分析模块的反距离权插值 工具(图 9.3): 计算步骤如下: 图 9.3 反距离权插值工具 图 9.2 高程点插值 316 1) 选择输入的数据源(Input points); 2) 选择用来插值的属性数据字段(Z value field); 3) 设置幂数(Power)( 幂 即 距离的指数。 幂越大,点的距离对每个处理单元的 影响越小。幂越小,表面越平滑。通 常认为,幂的合理范围是 0.5~3); 4) 选择搜索半径类型(Search radius type)为可变(Variable); 5) 设置最大搜索半径内用作输入的点数 (Number of points); 6) 指定最大搜索半径(Maximumu distance); 7) 设置插值障碍(Use barier polylines)。 插值障碍是某些线性要素类,如断层 或悬崖。在其所在处高程发生突变, 在对各个输入栅格单元插值时,可用 来限制输入点的搜索。 8) 指定输出栅格单元的大小(Output cell size); 最后,指定输出路径及文件名即可。以上操作均在图 9.4 所示的对话框中实现。 (2) 固定半径的反距离加权插值 与可变半径操作方法类似,不同之处在于选择固定(Fixed)搜索半径类型。需要注意 的是,固定半径插值时,使用指定搜索半径内所有的点作为输入点。如果在搜索半径内没 有任何点,这时将自动增加栅格单元的搜索半径,直到达到指定的最少点数为止。 (3) 张力样条插值 样条插值是用表面拟合一组点的方法,要求所有的采样点均处于生成的表面上。 首先选择三维分析模块的样条插值工具(图 9.5): 插值过程如下: 1) 选择输入的点数据源及属性字段; 2) 选择样条类型(Spline type)为张力 (Tension); 3) 设置加权值(张力样条中的加权值, 是用来调整表面弹力的值。当加权值 为 0 时,为标准的薄板样条插值。加 权值越大,表面弹性越大。典型的加 权值为 0、1、5 和 10); 4) 指定输入栅格单元插值时使用的最少点数(Number of points);在计算表面时, 点数控制了各个区域中点的平均数目。区域指大小相等的矩形,区域的数目由输 入数据集中点的总数除以点数。当数据不是均匀分布时,各个区域中所包含的点 图 9.4 反距离权插值对话框 图 9.5 样条插值工具 317 的个数与指定的点数会有所出入。如果某 区域中包含的点数少于八个,区域将会扩 张直至包含了八个点。 5) 指定输出栅格单元的大小; 最后,指定输出路径及文件名即可。以上操作 均在图 9.6 所示的样条插值对话框中。 (4) 规则样条插值 规则样条允许控制表面的平滑度。一般需要计 算插值表面的二阶导数时,使用规则样条。其实现 过程与张力样条类似,不同之处在于选择样条类型 时应选规则(Regularized)。需要注意的是,规则样条中的权重值用来控制表面的平滑度。 权重指定三阶导数的系数,以使表面的曲率最小。权重值越大,表 面 越 平 滑 ,一 阶导数(坡 度)表面也越平滑。通常,权重值取 0~0.5。 (5) 克里格插值 常用的克里格方法又分为普通克里格和泛克里格两种。普通克里格是应用最普遍的, 它假定均值是未知的常数。泛克里格用于数据趋势已知并能够对数据进行科学的判断的情 况。克里格插值法分为可变搜索半径或固定搜索半径两类。 通过使用可变搜索半径,在计算插值单元时,可以指定计算中使用的点数。这使得对 于每个插值单元来说,其搜索半径都是变化的。半径的大小依赖于搜索到指定点数的输入 点时的距离。 指定最大的搜索半径,可以限制搜索半 径。如果已知采样点在某些区域比较稀疏,可 指定最大搜索半径以避免影响插值精度。如果 在达到最大搜索半径时,搜索到的点数还没有 达到指定的数目,将 停止搜索,用已经搜得的 点计算插值单元。 1) 可变半径的克里格插值 首先选择三维分析模块的克里格插值工具(图 9.7): 步 骤 如 下 : A 选择输入的点数据源(Input points)及其 用来插值的属性字段; B 选择一种克里格插值方法; C 选择插值所使用的模型(Semivariogram model); D 设置为可变半径类型,根据需要选择点数 及最大搜索半径; E 指定输出栅格单元的大小。 图 9.6 样条插值对话框 图 9.7 克里格插值工具 图 9.8 克里格插值对话框 318 最后,指定输出路径及文件名即可,以上操作均在图 9.8 所示的对话框中实现。 2) 固定半径的克里格插值 与可变半径操作方法类似,不同之处在于设置搜索半径类型为固定(Fixed),同时需 要指定默认搜索半径。可以通过 Tools 工具条上的 Measure Tool 工具,测量点间的距离, 根据实际需要估计使用的搜索半径的大小与点数。 (6) 邻域法插值 邻域插值将 TIN 的一些方法与栅格插值方法结合起来。它使用输入数据点及其邻近栅 格单元进行插值生成栅格表面。首先,为 输入数据点创建一个 Delauney 三角形,输入的样 本数据点作为三角形的结点,并且每个三角形的外接圆不能够包含其它结点。对每个样本 点,邻域为其周围相邻多边形形成的凸集中最小数目的结点。每个相邻点的权重,通过评 价其影响范围的 Thiessen/Voroni 技术计算得出。 插值步骤如下: 1) 选择三维分析模块的自然邻域插值工具(图 9.9),弹出自然邻域插值(Natural Neighbor Interpolation)对话框(图 9.10); 2) 选择用来插值的点数据源及高程数据源; 3) 指定输出栅格单元大小; 4) 指定输出路径和文件名。 9.1.2 TIN 表面的创建 TIN 通常是从多种矢量数据源中创建的。可以用点、线与多边形要素作为创建 TIN 的 数据源。其中,不要求所有要素都具有 Z 值,但有一些要素必须有 Z 值。同时,这些用以 创建 TIN 的输入要素还可以包含整数属性值,并且这些属性值也将在输出的 TIN 要素中保 留。如不同输入数据源的相对精度,或用来识别要素(如道路与湖泊等)的属性。 1. 由矢量数据创建 TIN 的方法 在 ArcGIS 中,可以使用一种或多种输入数据直接一步创建 TIN 模型,也可以分步创 建,并可以通过向已有 TIN 模型中添加要素实现对已有模型的改进。TIN 表面模型可以从 网格点、隔断线与多边形中生成。网格点用来提供高程,作为生成的三角网络中的结点。 图 9.9 自然邻域插值工具 图 9.10 自然邻域插值对话框 319 (1) 点集( 图 9.11)。它是 TIN 的基本输入要素,决定了 TIN 表面的基本形状。TIN 表面可以有效地对异质 表面建模型。在变化较大的地方,使用较多的点, 对于较平坦的表面,则使用较少的点。 (2) 隔断线。隔断线是线状要素,通常用来表示自然要 素,如山脊线、溪流,或用来创建要素如道路;它 可以是具有高度的线,也可以是没有高度的线;在 TIN 中构成一条或多条三角形的边序列。隔断线有 “软”隔断线和“硬”隔断线两种。 “硬”隔断线表示表面上突然变化的特征线,如山脊线、悬崖及河道等。在创建 TIN 时,硬隔断线限制了插值计算,它使得计算只能在线的两侧各自进行,而落在中断线上的 点同时参与线两侧的计算,从而改变 TIN 表面的形状。 “软”隔断线即添加在 TIN 表面上用以表示线性要素但并不改变表面形状的线,它不 参与建 TIN。例如,要标出当前分析区域的边界,可以在 TIN 表面上用“软”隔断线表示 出来,不会影响表面的形状。 (3) 多边形。用来表示具有一定面积的表面要素,如湖泊、水体,或用来表示分离区域 的边界。边界可以是群岛中单个岛屿的海岸线或某特定研究区的边界。多边形表面 要素有以下四种类型: 1) 裁切多边形:定义插值的边界,处于裁切多边形之外的输入数据将不参与插值与 分析操作。 2) 删除多边形:定义插值的边界,与裁切多边形的不同之处在于多边形之内的输入 数据将不参与插值与分析操作。 3) 替换多边形:可对边界与内部高度设置相同值,可用来对湖泊或斜坡上底面为平 面的开挖洞建模。 4) 填充多边形:它的作用是对落在填充多边形内所有的三角形赋予整数属性值。表 面的高度不受影响,也不进行裁切或删除。 在 TIN 表面中使用隔断线与多边形,可以更好地控制 TIN 表面的形状。 2. 创建 TIN 的操作 (1) 创建 TIN 表面 1) 选择三维分析模块的 Create TIN From Features(由要素创建 TIN)命令(图 9.12): 2 ) 选择创建 TIN 所要使用的要素图层; 3) 选择要使用的其它要素类; 4) 对每个要素类,进行以下操作: 图9.11 用以创建 TIN 的点集 320 A 选择几何字段(如果要素具有三维几何特征); B 选择高程字段; C 选择要素合成方式,包括点集、隔断线或多边形; D 选择标志值字段(如需要以要素的值来标记 TIN 要素); 5) 设置输出路径及名称。以上操作均在由要素创建 TIN(Create TIN From Features) 对话框中实现(图 9.13)。 (2) 向 TIN 中添加要素 1) 选择三维分析模块的向 TIN 添加要 素命令(图 9.14),打开 Add Features to TIN 对话框(图 9.15); 2) 选择要添加到 TIN 中的要素图层及 其它要素类(甚至可以是某要素类中 已选种的若干要素); 3) 对每个要素类,进行以下操作: A 如果要素具有三维几何特征,可 以选择 shape 字段; B 选择高程字段; C 选择要素集成到 TIN 中的方式, 包括点集、隔断线或多边形; D 选择标志值字段(如需要以要素 的值来标记 TIN 要素); 4) 最后选择将所做改动保存在原始 TIN 中或另存为新的 TIN 文件。 3. 由栅格创建 TIN 在表面建模过程中,经常需要将栅格表面 转换成 TIN 表面。在由栅格转换到 TIN 的过 程中,可以向原有栅格中添加原来没有的要素如溪流与道路以改进表面模型。转换时,需 指定输出 TIN 的垂直精度。 图 9.14 由要素创建 TIN 图 9.15 向 TIN 中添加要素对话框 图 9.12 由要素创建 TIN 图 9.13 由矢量要素创建 TIN 对话框 321 包括以下步骤: 1) 选择三维分析模块的由栅格向 TIN 转换 命令(图 9.16),打开 convert Raster to TIN 对话框(图 9.17); 2) 选择来源栅格图层; 3) 设定 TIN 的垂直精度(垂直精度指输入栅 格单元中心的高程与 TIN 表面间的最大 差值。垂直精度的值越小,生成的 TIN 将 越好地保持原有栅格表面的详尽程度;垂 直精度的值越大,生成的表面越粗略); 4) 设定限制加入到 TIN 中的点数(可选); 5) 指定输出的路径和文件名,完成创建。 4. 从 TIN 中创建栅格表面 在创建表面的过程中,有时需要将 TIN 转 换成栅格表面,或者需要从 TIN 中提取坡度、 坡向等地形因子。 包括以下步骤: 1) 选择三维分析模块的将 TIN 转换为栅格 功能(图 9.18),打开 convert TIN to Raster 对话框(图 9.19); 2) 选择来源 TIN 图层; 3) 选择要转到栅格中的 TIN 属性,可以是高程、坡向、以度为单位的坡度和以百分数为 单位的坡度; 4) 设置高程转换系数(高程系数系指当高程坐标单位与平面坐标单位不一致时,将高程 坐标单位转换到平面坐标单位时的常量); 5) 设置输出栅格单元的大小(可选); 6) 指定输出栅格的路径及文件名,完成创建。 图 9.19 由 TIN 向栅格转换对话框图 9.18 由 TIN 向栅格转换 图 9.16 将栅格转换为 TIN 图 9.17 由栅格向 TIN 转换对话框 322 9.2 表面分析 表面是由许多点组成的区域,其中包含着大量有用的信息。通过对表面进行简单的视 觉浏览可以从总体上了解表面特征。同时,可以为进行一些更为复杂的分析如两点之间的 通视性分析,或者计算表面的坡度信息以为土地利用规划决策提供帮助。 因此,表 面创建好之后,通常可用来进行进一步分析。ArcGIS 三维分析工具包括了以 下表面分析工具: 1. 山阴影工具; 2. 坡度工具; 3. 坡向工具; 4. 曲率工具; 5. 剪切、填充工具; 6. 视域工具; 7. 视线工具; 8. 表面长度工具; 9. 表面点; 10. 体积工具; 11. 插值工具; 12. 切片工具; 13. 创建等高线工具; 以下就常用的一些表面分析方法与过程做一介绍。 9.2.1 计算表面积与体积 使用三维分析模块的 Area and Volume 工具,可以计算针对某个参考平面的二维面积、 表面面积及体积。 我们已知,平面上某矩形区的面积为其长与宽的乘积。与此不同,表面积是沿表面的 斜坡计算的,考虑到了表面高度的变化情况。除非表面是平坦的,通常表面积总是大于其 二维底面积。进一步分析,比较表面积与其二维底面积还可以获得表面糙率指数或表面的 坡度,两者的差异越大,意味着表面越粗糙。 323 体积指表面与某指定高度的平面(参考平面)之间的空间大小,按照表面与参考平面 的上下关系分为两种,分别是参考平面之上的体积和参考平面之下的体积,如某山体的土 方量或某水库的库容。 包括以下步骤: 1. 打开面积与体积统计工具(Area and Volume Statistics)( 图 9.20),弹出“Area and Volume Statistics”对话框(图 9.21); 2. 选择输入表面(Input Surface); 3. 设定参考平面的高程值; 4. 选择计算参考平面之上的体积还是之下的体积; 5. 设置高程转换系数,将高程坐标单位转换为平面坐标单位(可选); 6. 根据需要,可选择 Save/append statistics to text file 复选框,将计算结果保存到指定名 称的文本文件中; 7. 点击 Calsulate statistics 按钮,执行计算。结果将显示在按钮之下,同时写入上步所指 定的文本文件中; 8. 如有需要,可重新设置参数,然后重新计算。 9.2.2 坡度与坡向的计算 表面模型主要有栅格表面和 TIN 表面两类,对于坡度、坡向的计算它们各有所不同, 关于栅格表面其坡度与坡向的计算请参阅本书第八章相关内容。 1. 坡度的计算 在 TIN 表面上的坡度与栅格表面所指不同。构成三角网的每一个三角形构成一个平 面。表面上某一点必处于某一三角形,也就处于某一特定平面上,则该点的坡度即指其所 处平面与水平面之间的夹角(图 9.22)。坡度以度(°)度量,范围为 0°~90°。 图 9.20 打开 Area and Volume Statistics 工具 图 9.21 计算表面积与体积 324 计算过程如下: (1) 选择表面分析的坡度工具(Slope),见图 9.23,弹出“Slope”对话框(图 9.24); (2) 选择用来生成坡度图的 TIN 表面; (3) 选择坡度单位(度/Degree 或 百 分 数 /Percent); (4) 设定高程转换系数(当输入数据所定义的空 间参考具有高程单位时,自动进行转换计 算); (5) 指定输出图的栅格单元大小; (6) 指定输出路径与文件名。 图 9.25 为某区域 TIN 表面及由其计算的出的坡度栅格图像。 2. 坡向的计算 TIN 表面上某点的坡向即指该点所处的三角形面的坡向。亦即该三角形面的法线方向 在平面上的投影所指的方向(图 9.26)。坡向用度数来测量,正北是 0 度,正东是 90 度, 正南是 180 度,正西是 270 度。 坡度 高程 图 9.25 TIN 表面与计算所得坡度栅格图像 图 9.23 打开坡度计算工具 图 9.24 坡度计算对话框 图 9.22 TIN 表面坡度角示意图 X Y Z 坡度角 325 计算步骤如下: (1) 选择表面分析的坡向工具(Aspect),见图 9.27,弹出“Aspect”对话框(图 9.28); (2) 选择输入表面数据(Input surface); (3) 指定输出栅格单元大小; (4) 指定输出路径和文件名。 9.2.3 可视性分析 地表某点的可视范围在通信、军事、房地产等应用领域有着重要的意义。ARCGIS 三 维分析模块可以进行沿视觉瞄准线上点与点之间可视性的分析或整个表面上的视线范围 内的可视情况分析。 1. 视线瞄准线 视线瞄准线是表面上两点间的一条直 线,用来表示观察者从其所处位置观察表 面时,沿直线的表面是可见的还是遮挡的 (图 9.29)。创建视线瞄准线可以判断某点 相对于另外一点而言是否可见。如果地形 遮挡了目标点,则可以分析得出这些障碍 物,以及视线瞄准线上哪些区域可视,哪 些区域不可视。在瞄准线上,可视与遮挡的部分分别以不同的颜色表示。 图中 A 点为观察点,偏离地面一定高度(实际应用中通常观察点不会紧贴地面),B 点为目标点,从连接 A、B 两点的直线段可以判别 AB 之间哪部分地形遮挡了目标点。图 中视线瞄准线较细的部分表示通视,较粗的部分表示视线被遮挡。 图 9.27 计算坡向 图 9.28 计算坡向对话框 图 9.26 TIN 表面坡向示意图 X Y Z 坡向角 图 9.29 视线瞄准线示意图 a. 视线瞄准线 A B b. 地表视线 326 2. 视场 视场指可以被一个或多个观察点看到的所有范围。对栅格数据来言,即所能看到的所 有栅格单元。其在实际中应用较多,例如通信塔台选址时可能需要分析在每一处的视场以 确定最佳位置。 3. 视线瞄准线的创建 视线瞄准线是表面上两点间的连线,用以表示沿该线视线的遮挡情况,可以不同颜色 表示可见或隐藏。 (1) 首单击视线瞄准线工具 (Line of Sight),打开视线瞄准线对话框(图 9.30); (2) 输入观测点偏移量(Observer offset)( 可 选 ); ( 3 ) 输入目标偏移量(Target offset),与观测点偏移量类似, 为观测点处高于表面的高度(可选); (4) 如有需要,还可对弯曲与光线折射建模; (5) 在表面上左键点击确定观测者位置和观测目标点。出 现实现瞄准线,红色表示不可视、绿色为可视。 4. 视场的计算 在 ArcGIS 中,可以计算表面(栅格表面或 TIN 表面均可)上单点视场或者多个观测 点的公共视场,甚至可以将线作为观测位置,此时线的节点集合即为观测点。计算结果为 视场栅格图,栅格单元值表示该单元对于观测点是否可见,如果有多个观测点,则其值表 示可以看到该栅格的观测点的个数。 计算步骤如下: (1) 选择表面分析中的视场工具(Viewshed),见图 9.31,弹出“Viewshed”对话框(图 9.32); (2) 选择计算表面(Input Surface); (3) 设定观察点(选择用做观测点的要素图层); (4) 设定高程变换系数; (5) 指定输出栅格单元大小; 图 9.31 计算视场 图 9.32 计算视场对话框 图 9.30 创建视线瞄准线对话框 327 (6) 最后选择输出路径及文件名。 图 9.33 中左图为某区域栅格 DEM,亮度越大表示高程越大,右图为指定点(图中黑 点)的视场范围(1 米偏移量),白色表示可见区域,灰色为不可见区域。 在 ArcGIS 中,还可将山体阴影与视场栅格图像叠加显示,产生非常真实的视觉感受 (图 9.34)。 9.2.4 提取断面 在工程(如公路、铁路、管线工程等)设计过程中,常常需要提取地形断面,制作剖 面图。例如,在规划某条铁路时需要考虑线路上高程变化的情况以评估在其上铺设轨道的 可行性。 剖面图表示了沿表面上某条线前进时表面上高程变化的情况。剖面图的制作可以采用 该区域的栅格 DEM 或 TIN 表面。 计算过程如下: 1. 在 ArcMap 中添加数据,然后在 3D Analyst 工具条上选择该数据(图 9.35); 图 9.34 与山体阴影叠加显示的视场图 图 9.33 视场示意图 328 2. 使用 Interpolate line 工具 创建线,以确定剖面线的起终点(图 9.36); 3. 使用 Profile Graph 工具生成剖面图(图 9.37); 4. 在生成的剖面图标题栏上点击右键,选择属性(Properties)项,进行布局调整与编辑 (图 9.38)。 9.2.5 表面阴影 1. 表面阴影的原理 表面阴影是根据假想的照明光源对高程栅格图的每个栅格单元计算照明值。计算过程 中包括三个重要参数:太阳方位角、太阳高度角、表面灰度值。 太阳方位角以正北方向为 0 度,按顺时针方向度量,如 90 度方向为正东方向(图 9.39)。 由于人眼的视觉习惯,通常默认方位角为 315 度,即西北方向。 图 9.38 调整剖面图 图 9.37 剖面图 图 9.36 设定剖面线起终点 图 9.35 选择数据 329 太阳高度角为光线与水平面之间的夹角,同样以度为单位(图 9.40)。为符合人眼视 觉习惯,通常默认为 45 度。 ArcGIS 中,默认情况下,光照产生的灰度表面值的范围为 0~255。 2. 计算表面阴影 (1) 选择表面分析中的阴影工具(图 9.41), 弹出“Hillshade”对话框(图 9.42); (2) 选择用来计算阴影的表面(Input Surface); (3) 设置太阳高度角与方位角; (4) 设定高程转换系数; (5) 指定输出栅格单元大小; (6) 指定输出路径及文件名。 图 9.43 为某区域设定入射方位角为 315 度,高度角为 45 度所生成的表面阴影栅格图 像,可以看出阴影图很好地表达了地形的立体形态。 3. 阴影化 通过阴影建模工具(在图 9.42 中选中 Model Shadows 复选框),可以计算出某一特定 光照条件下区域内处于其它栅格单元阴影中的那一部分栅格,它们会被赋值为 0。通过空 间分析的重分类(Reclassify)方法可对阴影区和非阴影区分别赋值生成二值图像。图 9.43 所示区域经过上述处理后可得阴影二值图(图 9.44)如下: ®S(180) N(0) E(90) W(270) 图 9.39 太阳方位角度量示意图 图 9.40 太阳高度角示意图 0 度 90 度 图 9.41 计算表面阴影工具 图 9.42 计算阴影对话框 图 9.43 阴影图示例 330 4. 高程数据与阴影图层的叠加显示 通过将阴影栅格图层设置一定的透明度与高程栅格数据叠加显示,可以得到更好的视 觉效果以便于分析应用。设置透明度的方法是首先打开图层属性对话框,在显示(Display) 选项卡中的 Transparent 选项设置,一般以 50%的透明度为佳。叠加显示效果如图 9.45: 5. 三维场景中表面阴影的建立 在 ArcScene 三维场景中,设置栅格表面自身的高程值为其基准高程后,在属性对话 框的Rendering选项卡中,选中Shade area features relative to the scene’s light position复选框, 使表面具有阴影显示。同时可以使用光滑工具(Use smooth shading if possible)使阴影表 面更加光滑。见图 9.46: 9.2.6 表面长度的计算 1. 表面长度 表面长度即表面上沿某一方向的剖面线的长度。由于地表的起伏变化增加了三维线的 长度,表面长度通常大于等于线的平面长度。 图 9.44 阴影二值图 图 9.45 高程数据与阴影图层的叠加 图 9.46 三维场景中的阴影图 331 ArcGIS 在 ArcToolboox 中提供了表面长度计算工具 Surface Length。该工具需要一个 表面(无论是 TIN 表面或栅格表面)及一个由二维线段组成的要素类作为输入数据源。 计算得出的表面长度将作为一个字段添加到要素类的属性表中。需要注意的是,只有 与表面相交的一段线段参与表面长度的计算。因此,完全在表面所在区域之外的输入线段 计算得出的表面长度为零。 当输入的表面是 TIN 表面时,以线 段与表面三角形的边或结点的交点为其 采样点,对高程做线性内插生成三维线。 当输入的表面是栅格表面时,采用 双线性内插方法对线段高程做内插生成 三维线。其顶点以间距不大于采样间距 为准依次选取。采样间距影响着表面长 度的计算结果。默认值为与栅格尺寸相 等。采样点之间的间距越小,三维线段 就越吻合表面,同时三维线段越长(如图 9.47)。一般来说,采样间距不宜小于栅格尺寸 的一半。 2. ArcGIS 中表面长度的计算 (1) 在 ArcToobox 中 打开 3D Analyst Tools,打开其中的 Functional Surface 工具箱,双击 Surface Length,打开表 面长度计算工具(图 9.48); (2) 选择输入表面(Input Surface)(其值 将用以进行插值生成三维线段); (3) 选择包含二维线段的输入要素类 (Input Feature Class); (4) 指定添加到要素属性表中的字段名 称,默认为 SLength(可选项); (5) 设定采样间距( Sampling Distance)( 在 表 面 上 计算长度的步距)。当输入表面为 TIN 表面时,如前所述,默认采样间距以 TIN 表面上三角形边、结点与线段的交点自然分割;如为栅格表面,默认间距为栅 格尺寸大小。此项亦为可选项。 (6) 设置 Z 值转换系数,用于当平面单位与 Z 值单位不同时进行转换(可选项)。 图 9.49 为输入的表面、要素类与计算得出的表面长度(SLength1)。 图 9.47 采样间距对表面长度的影响 图 9.48 表面长度计算工具 332 9.3 ArcScene 三维可视化 在三维场景中浏览数据更加直观和真实,可提供一些平面图上无法直接获得的信息。 还可直观地对区域地形起伏的形态及沟、谷、鞍部等基本地形形态进行判读,比二维图形 如等高线图更容易为大部分读图者所接受。 ArcScene 应用程序是 ArcGIS 三维分析的核心扩展模块,通过在 3D Analyst 菜单条中 点击 按钮启动。它具有管理 3D GIS 数据、进行 3D 分析、编辑 3D 要素、创建 3D 图 层以及把二维数据生成 3D 要素等功能。 9.3.1 要素的立体显示 有时需要要素数据在三维场景中以透视图的形式显示出来进行观察和分析。要素数据 与表面数据的不同之处在于,要素数据描述的是离散的对象如点对象、线对象、面对象(多 边形)等。它们通常具有一定的几何形状和属性。常见的点要素有通信塔台、泉眼等在地 图上通常表现为点状符号;线状要素如道路、水系、管线等等;多边形要素如湖泊、行政 区及大比例尺地形图上的居民地等。 在三维场景中显示要素的先决条件是要素必须本身具有高程信息或被以某种方式赋 予高程值。因此,要素的三维显示主要有两种方式:1)具有三维几何的要素,在其属性 中存储有高程值,可以直接使用其要素几何属性中的高程值,实现三维显示;2)对于缺 少高程值的要素,可以通过叠加或突出两种方式在三维场景中显示。所谓叠加,即将要素 所在区域的表面模型的值作为要素的高程值,可以对其做立体显示;突出则是指根据要素 的某个属性或任意值突出要素,如要想在三维场景中显示建筑物要素,可以使用其高度或 楼层数这样的属性来将其突出显示(图 9.50)。 图 9.50 建筑物二维图形按高度突出 333 另外,有时研究分析可能需要使用要素的非高程属性值作为三维 Z 值,在场景中显示 要素。最常见的是在社会、经济领域的应用。如对某省行政范围内每个市县的经济总量值 作为 Z 值进行三维立体显示(图 9.51),可直观地观察和分析全省经济的总体情况。 如前所述,添加到三维场景中的数据并不一定会自动以三维方式显示。栅格影像和二 维要素在添加进入场景中时,会放置在一个平坦的三维平面上,若要以三维方式查看它们, 需首先定义其 Z 值。而具有三维几何的要素及 TIN 表面将自动以三维方式进行绘制。 ArcGIS 提供了要素图层在三维场景中的三种显示方式:1)使用属性设置图层的基准 高程;2)在表面上叠加要素 图层设置基准高程;3)突出 要素。还可以结合多种显示方 式,如先使用表面设置基准高 程,然 后 在表面上突出显示要 素建筑物,可以更加自然真实 显示城市景观。 1. 通过属性设置基准高程 在 要素属性对话框 (Properties)中,选择基准 高程选项卡(Base Heights), 设置以常量或表达式作为基 准高程,填写或点击 Calculate 按钮生成提供 Z 值的字段或 表达式即可,见图 9.52。之后, 二维要素将以所设定属性或 表达式的值为 Z 值在三维场 景中显示,图 9.53 是以等高线的高程属性作为基准高程显示的等高线三维透视图。 图 9.51 某地区各个城镇人口数突出显示 图 9.52 设置要素图层的基准高程 334 2. 使用表面设置基准高程 在设置基准高程时选择由表面获取要素图层的高程,选中 Obtain heights for layers frome surface 单选框,选择所需表面即可(图 9.54)。要素将会以表面所提供的高程在场景 中显示。 3. 要素的突出显示 在图层属性对话框的突出(Extrusion)标签中,选中对图层中的要素进行突出复选框 图 9.53 等高线要素的三维显示 图 9.54 使用表面设置要素的基准高程 335 (图 9.55)。 并且在文本框中填写或点击 按钮打开突出表达式生成器建立突出表达式(图 9.56)。 9.3.2 设置场景属性 在实现要素或表面的三维可视化时,需要注意以下一些问题,包括: u 添加到场景中的图层必须具有坐标系统才能正确显示; 图 9.55 设置对要素进行突出显示 图 9.56 突出表达式生成器 336 u 为更好地表示地表高低起伏的形态,有时需要进行垂直拉伸,以免地形显示得过 于陡峭或平坦; u 为全面地了解区域地形地貌特征,可以进行动画旋转; u 为增加场景真实感,需要设置合适的背景颜色; u 根据不同分析需求,设置不同的场景光照条件,包括入射方位角、入射高度角及 表面阴影对比度; u 为提高运行效率,需要尽可能地减小场景范围,去除一些不需要的信息。以下就 ArcScene 中常用的场景设置内容做简单介绍。 1. 场景坐标系统 如果场景中要显示的数据都处于相同的坐标系统之下,则直接添加数据即可,不需考 虑图层的叠加是否正确。如果各个图层存在不同的坐标系统,则须进行适当的转换以确保 ArcScene 能够正确显示它们。通常,当在一个空的场景中加入某图层时,该图层的坐标系 统就决定了场景的坐标系统。在这之后可以根据应用需求再对场景的坐标系统进行更改。 当随后加入其它图层到场景中时,ArcScene 将会自动转换新加图层的坐标系统使之与场景 的坐标系统一致。若新加入图层没有坐标系统,将不能正确显示,此时可人为地确定数据 的坐标系统。 如果数据本身没有任何坐标系统的信息,ArcScene 会检查图层的坐标值,判断其 X 值 是否落在-180 到 180 之间,Y 值是否在-90 到 90 之间。如果满足上述条件,则 ArcScene 认其为经纬度坐标数据。否则,将认其为平面坐标数据。 (1) 查询当前场景坐标系统。打开场景的属性对话框(图 9.57),选中坐标系统(Coordinate System)选项卡,将显示当前使用的坐标系统的详细信息(图 9.58)。 (2) 设置场景坐标系统。在图 9.58 所示的场景属性对话框中,双击预定义(Predefined), 选择预定义坐标系统,之后,所有加载到场景中的数据都将使用该坐标系统进行显 示。 图 9.57 打开场景属性对话框 图 9.58 设置场景坐标系统 337 需要注意的是,改变场景的坐标系统,并不会改变图层源数据坐标系统,只是以场景 坐标系统对其进行显示。 2. 垂直拉伸 垂直拉伸常用于强调表面的细微变化。 在进行表面的三维显示时,如果表面的水平 范围远大于其垂直变化,则表面的三维显示 效果可能不太明显,此时,可以进行垂直拉 伸以利于观察分析。另外,当表面垂直变化 过于剧烈不便于分析应用时也可以进行垂 直拉伸,此时垂直拉伸系数应设置为分数。 垂直拉伸对场景内所有图层都产生作用,如 果要对单个图层做垂直拉伸,可以通过改变 图层的高程转换系数来实现。 打开场景属性对话框,在 General 选项 卡中选择垂直拉伸(Vertical Exaggeration) 系数(图 9.59),或者点击 Calculate From Extent 按钮,系统将根据场景范围与高程变化范围自动计算垂直拉伸系数。 图 9.60 为原始表面与设置拉伸系数为 2 时的显示效果对比。 3. 使用动画旋转 通过对场景进行旋转观察,可以获得表面总体概况。ArcScene 可以使场景围绕其中心 旋转,旋转速度与察看角度可以人为调整,并可在旋转的同时进行缩放。 欲使用动化旋转,需先激活该功能。打开场景属性对话框,在 General 选项卡中选中 Enable Animated Rotation 选项即可激活动画旋转功能(图 9.61)。 图 9.60 原始表面与拉伸后的表面 图 9.59 设置垂直拉伸系数 338 激活之后,可以使用场景漫游工具(Navigate)左右拖动场景,即可开始旋转,旋转 的速度取决于鼠标释放前的速度,在旋转的过程中也可以通过键盘的 Page Up 键和 Page Down 键进行增、减速调节。点击场景即可停止其转动。 4. 设置场景背景颜色 打开场景属性对话框,在 General 选项卡中,选择背景色(Background),还可以将所 选颜色设置为场景默认背景色(选中 Use as default in all new scenes 复选框)。 5. 改变场景的光照 通过设置光源的方位角、高度角及对比度可以调整场景的照明情况。在场景属性对话 框的 Illumination 选项卡中,可以手工输入方位角(Azimuth)和高度角(Altitude)或通过 鼠标滑动改变这两个参数。另外,还可设置对比度。以上操作见图 9.62。 6. 改变场景范围 设置合适的场景范围,可以消除一些无关信息,增加绘图时的性能。默认情况下,场 景的范围为场景中所有图层的范围。可以根据应用需求改变场景的范围,使之与某个图层 的范围一致,或通过 X、Y 坐标的最大最小值来指定。 打开场景属性对话框,选择 Extent 选项卡,设置场景范围(图 9.63)。两种方式:1) 在 Layers 下拉列表中选择某一图层(图 a);2)点击自定义(Custom),输入最大最小 X、 Y 坐标,从而确定场景范围(图 b)。 图 9.61 激活动画旋转功能 图 9.62 设置场景的光照 339 9.3.3 飞行动画 使用动画,可以使场景栩栩如生,能够通过视角、场景属性、地理位置以及时间的变 化来观察对象。例如,可以创建一个动画来观察运动着的卫星在它们的轨道上是如何相互 作用的,也可以用动画来模拟地球的自转及随之的光照变化。 1. 如何制作动画 在 ArcScene 中提供了制作动画的工具条 Animation。默认情况下,它没有添加到 ArcScene 的视图中,可以在工具栏上点击右键,在弹出的快捷菜单中选择 Animation 项打 开它。能够制作数据动画、视角动画和场景动画。动画是由一条或多条轨迹组成,轨迹控 制着对象属性的动态改变,例如,场景背景颜色的变化,图层视觉的变化或者观察点的位 置的变化。轨迹是由一系列帧组成,而每一帧是某一特定时间的对象属性的快照,是动画 中最基本的元素。在 ArcScene 中可以通过以下几种方法生成三维动画: (1) 通过创建一系列帧组成轨迹来形成动画 在动画工具条中提供了创建帧的工具。可以通过改变场景的属性(例如场景的背景颜 色、光照角度等)、图层的属性(图层的透明度、比例尺等)以及观察点的位置来创建不 同的帧。然后用创建的一组帧组成轨迹演示动画。动画功能会自动平滑两帧之间的过程。 如,可以改变场景的背景颜色由白变黑,同时改变场景中光照的角度来制作一个场景由白 天到黑夜的动画。 实现过程如下: 1) 设置动画第一帧的场景属性; 2) 点击 Animation 下拉菜单,选择 Create Keyframe 命令(图 9.64); 图 9.63 设置设置场景范围的两种方式 a b 340 3) 在 Type 栏中选择帧类型为 Scene,即由不同场景构成动画的帧(图 9.65); 4) 点击 New 按钮,创建一个动画,此时弹出 Animation Track 对话框(图 9.66),键 入动画名称,点击 ok,返回上一级对话框; 5) 点击 Create 抓取一个新的帧; 6) 再次改变场景属性,之后点击 Create,抓 取第二帧,根据需要抓取全部所需的帧。 7) 抓取完全部的帧之后,点击 Close,关闭创建帧对话框; 8) 点击 Open animation controls 按钮 ,弹 出动画控制工具条(图 9.67); 9) 点击 Play 按钮 ,预览动画。 (2) 通过录制导航动作或飞行创建动画: 点击动画控制器上(Animation Controls,见图 9.67)的录制按钮 开始录制,在场 景中通过导航工具 进行操作或通过飞行工具进行飞行,操作结束后再次点击录制按钮 停止录制。这个工具类似录相器,将场景中的导航操作或飞行动作的过程录制下来形成动 画。具体实现过程请参考本章实例 9.5.6。 (3) 通过捕捉不同视角,并自动平滑视角间过程创建动画: 通过导航工具将场景调整到某一合适的视角,用动画工具条上的捕捉视角命令捕捉此 时的视角,然后将场景调整到另一个合适的视角,再次用捕捉 命令捕捉视角,依次可捕捉多个视角。动画功能会自动平滑两 视角间的过程,形成一个完整的动画过程。具体操作见实例 9.5.6。 (4) 通过改变一组图层的可视化形成动画效果 通过动画制作工具条中的创建组合动画命令,选择图层组, 控制一组图层使他们按照顺序逐个显示,通过效果调整实现动 画效果。例如,可以用一组显示洪水淹没过程的图层生成洪水 图 9.64 创建帧工具 图 9.65 选择帧类型 图 9.66 命名动画 图 9.67 动画控制工具条 图 9.68 创建图层动画工具 341 演进的动画效果。 实现过程如下: 1) 在场景中添加相关图层,并按照动画设计的播放顺序从上到下依次调整图层顺 序; 2) 点击 Animation 下拉菜单下的 Create Group Animation 命令(图 9.68),弹出创建 图层动画对话框(图 9.69); 3) 在 Base name for tracks 栏中键入动画名称; 4) 设置起止时间; 5) 根据需要条调整图层出现的方式(Transitions); 6) 利用动画控制工具条对生成的动画进行预览。 (5) 通过导入路径的方法生成动画 选择场景中存在的矢量要素,用动画工具条中 的沿路径飞行命令制作沿路径飞行的动画效果,此 时可以设置飞行时的一些参数来控制飞行过程中的 视觉效果。或用图层沿路径移动命令制作某一图层 沿路径移动的动画轨迹。此方法一般用来制作场景 行走动画。 实现过程如下: 1) 选择场景中的矢量要素; 2) 点击 Animation 下拉菜单下的 Camera Flyby from path 命令(图 9.70),弹出沿路 径飞行动画对话框(图 9.71); 3) 在 Vertical offset 栏中键入视高(视点距离地面的垂直距离),建议视高选择 3-10; 4) 在 Path destination 选项栏中设置路径目的地; 有三种方式:沿指定路径同时移动摄像机和目标地物、沿指定路径围绕目标地物移动 摄像机、目标地物沿指定路径围绕摄像机移动。 图 9.69 创建图层动画对话框 图 9.70 导入路径生成动画工具 图 9.71 沿路径飞行动画对话框 342 5) 点击 Import 输入路径。 6) 预览动画,方法同前。 以上是 ArcGIS 中五种基本的动画制作方法。读者可以根据具体的工作需要进行选择, 也可组合搭配,达到最好的表达效果。 2. 编辑和管理动画属性 动画的帧或轨迹创建完成之后,可以用动画管理器编辑和管理组成动画的帧和轨迹。 另外,还可改变帧的时间属性,并能预览动画播放效果。 (1) 启动动画管理器。单击 Animation 下拉菜单中的 Animation Manager 命令(图 9.72); (2) 打开的动画管理器如图 9.73 所示。 3. 保存动画 在 ArcScene 中制作的动画可以存储在当前的场景文档中,即保存在 SXD 文档中;也 能存储成独立的 ArcScene 动画文件(*.asa)用来与其他的场景文档共享;同时也能将动 画导出成 AVI 文件,被第三方软件调用。 (1) 将动画存储为独立的 ArcScene 动画文件 1) 在 Animation 下拉菜单下选择 Save Animation File 项(图 9.74); 2) 在弹出的对话框中指定存储路径及文件名即可(图 9.75)。 (2) 将动画导出为 AVI 文件 1) 点击 Animation 菜单下的 Export to Video 项(图 9.76); 图 9.74 存储动画文件 图 9.75 存储动画文件对话框 图 9.73 动画管理器 图 9.72 打开动画管理器 343 2) 在弹出的导出对话框中指定保存路径及文件名即可(图 9.77)。 4. 使用 Fly 工具飞行 此外,ArcScene 工具条提供了飞行(Fly)工具 ,可用以实现对场景的飞行浏览。 选择该工具后,鼠标将变为一只小鸟的形状,单击场景,鼠标会再次变形。此时,可以通 过鼠标的移动控制飞行方向与速度。再次单击鼠标,则可从当前视点沿鼠标所指方向向下 方向飞行,途中,点击左键加快飞行速度,右键减速飞行。 9.4 数据转换 ArcGIS 的三维分析模块提供了诸多数据转换工具,包括:将二维要素转换为三维;栅 格转换为要素;TIN 表面与栅格表面之间的转换以及由 TIN 转换为要素。另外在 ArcToolbox 中还提供了更多的数据转换工具。本节将就其中的二维要素到三维转换工具(Features to 3D)、栅格转换为要素工具(Raster to Features)以及由 TIN 表面转换为要素工具(TIN to Features)做一详细介绍,TIN 表面与栅格表面之间的转换在本章第一节表面创建中已有涉 及,此处不再赘述。 9.4.1 二维要素三维化 尽管可通过设置某表面为基准高程对二维要素进行三维显示,但是很多时候具有三维 几何的要素更有用,可不依赖于表面数据独立地快速显示。通常,有三种方法将现有的二 维要素数据转换为三维数据:1)由某一表面获取要素的高程属性值;2)由要素的某一属 性值作为高程值;3)将要素的高程属性值赋为某一常量。 1. 从表面获得现有要素的高程值 1) 将二维要素图层及表面添加到地图或场景中,并且选择三维分析模块中的 Featues to 3D 工具(图 9.78),打开的 Convert Features to 3D 对话框如图 9.79; 图 9.76 导出动画文件 图 9.77 导出动画文件对话框 344 2) 选择欲转换为三维数据的要素图层(Input Features); 3) 设置要素的高程值数据源(选择一 TIN 或栅格表面),这一操作在 Source of Heights 中选择 Raster of TIN Surface 选项中实现。 最后,设置输出路径及要素文件名即可完成。 2. 通过要素属性获取要素高程值 此方法与上述第一种实现过程类似,只是在选择要素的高程值数据源时选择 Input Feature Attribute 选项,并选择用以作为高程数据源的字段(图 9.80)。 3. 以某一常量作为要素高程属性 此方法与上述两种方法实现过程类似,不同之处在于在选择要素高程数据源时选择 Numeric Constant 选项并在其后文本框中输入指定值作为要素的高程值。见图 9.81。 9.4.2 表面数据的矢量转换 表面中可能会包含有一些有用的信息,而有时需要将其用于基于矢量的 GIS 操作中。 本小节将就栅格数据及 TIN 表面数据转换为矢量数据的方法做一介绍。 1. 栅格数据的矢量转换 通常,将栅格数据转换成所需的要素的步骤是: (1)将栅格表面数据转换成某种特定类别的数据,如高程、坡度、坡向; (2)将各类别转换成多边形; 图 9.78 将要素三维化 图 9.79 将要素三维化对话框 图 9.80 选择属性作为要素高程值 图 9.81 以某一常量作为要素高程属性 345 (3)将多边形数据与其它矢量数据一起使用,选择符合某个标准的区域。 可以将表面转换为点、线或多边形要素以供要素选择、叠加分析或编辑之用。例如, 可由某一栅格高程数据中得出海拔高度大于 2500 米的地区并转换为矢量多边形要素以用 于某项分析。 栅格数据通常是一连续表面,在转换前,必须先将其进行重新分类。例如,将坡度或 高程值转换为分级数据。在 ArcGIS 中转换步骤如下: (1)选择将栅格转换为要素工具(图 9.82); (2)在打开的 Raster to Feature 对话框(图 9.83)中,选择输入的栅格数据、需要拷贝到 输出要素中的字段及输出要素类型。 最后指定输出路径及文件名即可。图 9.84 为一栅格数据及由其转换得到的多边形要 素。 2. TIN 数据的矢量转换 将 TIN 转换为矢量要素较为简单。如:可以从 TIN 表面上直接提取坡度与坡向多边形, 或将 TIN 的节点高程值提取为点要素类。 转换步骤如下: 1. 选择三维分析模块中的将 TIN 转换为要素工具(图 9.85),弹出 Convert TIN To Features 对话框如图 9.86; 图 9.84 栅格图像及其转换所得矢量要素 图 9.83 将栅格转换为要素对话框 图 9.82 将栅格转换为要素工具 346 2. 选择输入的 TIN 数据(Input TIN); 3. 设置进行转换的类型(Conversion); 4. 指定输出路径及文件名。 图 9.87 为某区域 TIN 及由其提取的点要素 类。 9.5 实例与练习 本节将介绍几个实例与练习,以帮助读者加深对三维分析理论与方法的理解,熟练各 种分析工具的操作和使用。 9.5.1 地形指标提取 1. 背景 地形指标是最基本的自然地理要素,也是对人类的生产和生活影响最大的自然要素。 地形特征制广泛应用于诸多研究和应用领域。地形指标的提取对水土流失、土地利用、土 地资源评价、城市规划等方面的研究起着重要的作用。根据研究区域尺度的不同,地形指 标有许多因子。基于 ArcGIS 的地形指标的提取,大多均是基于 DEM 数据完成。 2. 目的 通过本实验,使读者加深对各基本地形指标的概念及其应用意义的理解。熟练掌握使 用 ArcGIS 软件提取这些地形指标的方法和步骤。 3. 实验数据 图 9.86 将 TIN 转换为要素对话框 图 9.85 将 TIN 转换为要素 图 9.87 TIN 及由其三角形顶点提取所得点要素 347 本实验采用某区域栅格 DEM,存放于随书光盘(..\Chp9\Ex1\)。 图 9.88 是某区域的分辨率为 5 米的 DEM 数据。下文中关于地形指标的提取都是以这 个数据为基础。 4. 要求 利用所提供 DEM 数据,提取该区域坡度变率、坡向变率、地形起伏度、地面粗糙度 等四个基本地形指标的栅格图层。 5. 实验步骤 (1) 坡度变率 地面坡度变率,是地面坡度在微分空间的变化率,是依据坡度的求算原理,在所提取 的坡度值的基础上对地面每一点再求算一次坡度。即坡度之坡度(Slope of Slope, 简称 SOS)。坡度是地面高程的变化率的求解,因此,坡度变率表征了地表面高程相对于水平面 变化的二阶导数。 坡度变率在一定程度上可以很好反映剖面曲率信息,其提取方法如下: 1) 选中 DEM 图层数据,表面分析中的坡度(Slope)工具,提取 DEM 主题的坡度, 得到坡度数据层,命名为 Slope of DEM(图 9.89); 图 9.88 DEM 数据 348 2) 选中坡度数据层 Slope of DEM,再对其用上述的方法提取坡度,得到坡度变率数 据,命名为 SOS(图 9.90)。 (2) 坡向变率 地面坡向变率,是指在提取坡向基础上,提取坡向的变化率,亦即坡向之坡度(Slope of Aspect, SOA)。它可以很好地反映等高线弯曲程度。 图 9.89 坡度数据 图 9.90 坡度变率 349 地面坡向变率在所提取的地表坡向矩阵的基础上沿 袭坡度的求算原理,提取地表局部微小范围内坡向的最大 变化情况。需要注意:SOA 在提取过程中在北面坡将会 有误差产生。北面坡坡向值范围为 0~90°和 270°~360 °,在正北方向附近, 如 15°和 345°两个坡向之间坡 向差值只是 30°,而计算结果却是 330°(如图 9.91 所 示)。所以要将北坡地区的坡向变率误差进行纠正,具体 的操作方法为: 1) 求取原始 DEM 数据层的最大高程值,记为 H; 通过Spatial Analysis下的栅格计算器Calculator, 公式为(H-DEM),得到与原来地形相反的 DEM 数据层,即反地形 DEM 数据; 2) 基于反地形 DEM 数据求算坡向值; 3) 利用 SOA 方法求算反地形的坡向变率,记为 SOA2,由原始 DEM 数据求算出的 坡向变率值为 SOA1; 4) 在 Spatial Analysis 下使用栅格计算器 Calculator,公式为 SOA = (( [SOA1]+[SOA2])-Abs([SOA1]-[SOA2])) / 2,即可求出没有误差的 DEM 的 坡向变率,如图 9.92。 (3) 地形起伏度 地形起伏度是指特定的区域内,最高点海拔高度与最低点海拔高度的差值。它是描述 一个区域地形特征的宏观性指标。 求地形起伏度的值,可先求出一定范围内海拔高度的最大值和最小值,然后对其求差 值即可。可以使用 Spatial Analysis 中的栅格邻域计算工具 Neighborhood Statistics 求得 图 9.92 坡向变率 图 9.91 北坡坡向差值示意图 Aspect=345° Aspect=15° 北 350 最大值和最小值,邻域的设置可以为圆,也可以为矩形,邻域的大小可根据自己的要求来 确定。 地形起伏度的提取方法如下: 1) 选中 DEM 数据,在 Spatial Analysis 下使 用栅格邻域计算工具 Neighborhood Statistics(图 9.93)。设置 Statistic type 为最大值,邻域的类型为矩形(也 可以为圆),邻域的大小为 11×11(这个 值也可以根据自己的需要进行改变),则 可得到一个邻域为 11×11 的矩形的最大 值层面,记为 A; 2) 重复第 1 步,只是把 Statistic type 值 设置为最小值,即可得到 DEM 数据的最 小值层面,记为 B; 3) 在 Spatial Analysis 下使用栅格计算器 Calculator,公式为[A]-[B],即可得到一 个新层面,其每个栅格的值是以这个栅格为中心的确定邻域的地形起伏值。提取 的结果如图 9.94。 (4) 地面粗糙度: 地面粗糙度是特定的区域内地球表面积与其投影面积之比。它也是反映地表形态的一 个宏观指标。 根据地面粗糙度的定义,求每个栅格单元的表面积与其投影面积之比,可以用如下方 图 9.94 地形起伏度 图 9.93 邻域统计 351 法来完成。如图 9.95,假如 ABC 是一个栅格单元的纵 剖面,α为此栅格单元的坡度,则 AB 面的面积为此栅 格的表面积,AC 面为此栅格的投影面积(也既是此栅 格的面积),根据公式: Cosα=AC/AB 则可得出此栅格单元的地面粗糙度 M 为: M =“AB 面的面积”/“AC 栅格单元的面积” = (AC * AB )/ (AC * AC) = 1 / Cosα 地面粗糙度的提取步骤如下: 1) 点击 DEM 数据层,选择表面分析中的坡度(Slope)工具,提取得到坡度数据层, 命名为 Slope of DEM; 2) 点击 Slope of DEM 数据层,在 Spatial Analysis 下使用栅格计算器 Calculator, 公式为: 1 / Cos([Slope of DEM]*3.14159/180),即可得到地面粗糙度数据层, 如图 9.96。 需要注意的是,在 ArcGIS 中, Cos 使用弧度值作为角度单位,而提取得到的坡度是 角度值,所以在计算时必须把角度转为弧度。 此外,地形指标还包括一些常用的水文因子,如坡长、沟壑密度等,该类因子的提取 一般通过水文方法实现,详情参见本书第十一章水文分析。 图 9.96 表面粗糙度 A B Cα 图 9.95 栅格单元剖面图 352 9.5.2 地形特征信息提取 1. 背景 特征地形要素,主要是指对地形在地表的空间分布特征具有控制作用的点、线或面状 要素。特征地形要素构成地表地形与起伏变化的基本框架。与地形指标的提取主要采用小 范围的邻域分析不同的是,特征地形要素的提取更多地应用较为复杂的技术方法,如山谷 线、山脊线、沟沿线等的提取采用了全局分析法(global process),成为栅格数据地学分析 中很具特色的数据处理内容。 特征地形要素从表示的内容上可分为地形特征点和特征线两大类。地形特征点主要包 括山顶点(peak)、凹陷点(pit)、脊点(ridge)、谷点(channel)、鞍点(pass),平地点(plane) 等。利用 DEM 提取地形特征点,可利用一个 3×3 或更大的栅格窗口,通过中心格网点与 8 个邻域格网点的高程关系来进行判断会获取。 山脊线和山谷线构成了地形起伏变化的分界线(骨架线),因此它对于地形地貌研究 具有重要的意义。另一方面,对于水文物理过程研究而言,由于山脊、山谷分别表示分水 性与汇水性,山脊线和山谷线的提取实质上也是分水线与汇水线的提取。 山顶点、谷底点的提取在第八章实例中已有介绍,下文通过山脊线和山谷线的提取, 进一步介绍如何基于 ArcGIS 完成地形特征信息的提取。 自动提取山脊线和山谷线的主要方法都是基于规则格网 DEM 数据的,从算法设计原 理上来分,大致可以分为以下五种: (1) 基于图像处理技术的原理; (2) 基于地形表面几何形态分析的原理; (3) 基于地形表面流水物理模拟分析原理; (4) 基于地形表面几何形态分析和流水物理模拟分析相结合的原理; (5) 平面曲率与坡形组合法。 其中,平面曲率与坡形组合法提取的山脊、山谷的宽度可由选取平面曲率的大小来调 节,方法简便,效果好。该方法基本处理过程为:首先利用 DEM 数据提取地面的平面曲 率及地面的正负地形,取正地形上平面曲率的大值即为山脊,负地形上平面曲率的大值为 山谷。实际应用中,由于平面曲率的提取比较繁琐,而坡向变率(SOA)在一定程度上可 以很好地表征平面曲率。因此,下面的提取过程以 SOA 代替平面曲率。 2. 目的 通过本实例,使读者掌握山脊线和山谷线这两个基本地形特征信息的理论及其基于 DEM 的提取方法与原理。同时,熟练掌握利用 ArcGIS 软件对这两个特征信息的提取。 3. 实验数据 某区域栅格 DEM,数据存放于随书光盘(\Chp9\Ex2)。 4. 要求 利用所给区域 DEM 数据,提取该区域山脊线、山谷线栅格数据层。 具体提取过程为: 353 (1) 点击 DEM 数据,使用表面分析中的坡向(Aspect)工具,提取 DEM 的坡向数据层, 命名为 A; (2) 点击数据层 A,使用表面分析中的坡度(Slope)工具,提取数据层 A 的坡度数据, 命名为 SOA1; (3) 求取原始 DEM 数据层的最大高程值,记为 H;使用空间分析工具集中的栅格计算器 (Raster Calculator),公式为(H-DEM),得到与原来地形相反的 DEM 数据层, 即反地形 DEM 数据; (4) 基于反地形 DEM 数据求算坡向值; (5) 利用 SOA 方法求算反地形的坡向变率,记为 SOA2; (6) 使用空间分析工具集中的栅格计算器(Raster Calculator),公式为 SOA = (( [SOA1]+[SOA2])-Abs([SOA1]-[SOA2])) / 2 , 即 可 求 出 没 有 误 差 的 DEM 的坡向 变率 SOA; (7) 再次点击初始 DEM 数据,使用空间分析工具集中的栅格邻域计算工具(Neighborhood Statistics);设置统计类型(Statistic type)为平均值(Mean),邻域的类型为 矩形(也可以为圆),邻域的大小为 11×11(这个值也可以根据自己的需要进行改变), 则可得到一个邻域为 11×11 的矩形的平均值数据层,记为 B; (8) 使用空间分析工具集中的栅格计算器(Raster Calculator),公式为 C =[DEM]-[B], 即可求出正负地形分布区域(图 9.97); (9) 使用空间分析工具集中的栅格计算器(Raster Calculator),公式为 shanji =[C] >0 & SOA > 70,即可求出山脊线,图 9.98; 图 9.97 正负地形分布示意图 354 (10) 同理,在栅格计算器(Raster Calculator)中,公式为 shangu =[C] < 0 & SOA > 70,即可求出山谷线,图 9.99。 图 9.99 山谷线 图 9.98 山脊线 355 9.5.3 表面创建及景观图制作 1. 背景 随着社会经济的发展,旅游业在国民经济中所占比重加大。开发某一地区的旅游资源, 制作景区的三维景观图,直观形象地向游人展示该区域的地形地貌、秀美景观,对加强景 区监管,具有重要的意义和实际应用价值。 2. 目的 通过本实验,使读者加深对表面概念及生成方法的的理解,掌握三维场景中表面及矢 量要素的立体显示原理与方法,熟练掌握 ArcGIS 软件中表面生成、表面及矢量要素在场 景中的三维显示及其叠加显示。此外,本实例还允许读者自行设计要素的符号化显示方案。 3. 实验数据 (1) 景区等高线矢量数据 Arc_Clip(..\Chp9\Ex3); (2) 景区道路矢量数据 Arc_Clip_road(..\Chp9\Ex3); (3) 景区水系矢量数据 Arc_Clip_river(..\Chp9\Ex3); (4) 景区休憩地数据层 Arc_Clip_urb(..\Chp9\Ex3); 4. 要求 (1) 利用所给等高线数据建立景区栅格表面; (2) 在 ArcScene 三维场景中,实现表面与其它要素叠加三维显示; (3) 设计各要素如道路、水系等的符号化显示; (4) 综合考虑表面及各要素,生成美观大方的区域景观图; 5. 实验方法及其制作步骤 (1) 启动 ArcScene,打开场景文件 Exercise3.sxd(光盘中..\Chp9\Ex3\Exercise3.sxd),其 中已添加以下数据层:等高线数据层 Arc_Clip,道路数据层 Arc_Clip_road,水系数 据层 Arc_Clip_river,休憩地数据层 Arc_Clip_urb(图 9.100); 356 (2) 创建区域 TIN 表面; 1) 选择并点击 3D Analyst 菜单栏中的 Create\Modify Tin 选项栏中的 Create TIN From Features 命令(图 9.101),弹出由要素创建对话框(图 9.102); 2) 在 Layer 框中勾选等高线图层 Arc_Clip,在 右 边 的 Height Source 中选择 Elevation 字段,在 Triangulate as 中选择 soft line。 3) 指定输出路径及文件名即可生成的地形表面景观(图 9.103)。 图 9.100 添加了休憩地数据层的实验场景 图 9.101 创建区域 TIN 表面 图 9.102 由等高线创建 TIN 对话框 357 (3) 创建栅格表面; 1) 关闭显示所有已添加的图层; 2) 点击Spatial Analyst模块的下拉箭头,选择Convert并点击TIN to Raster(图9.104); 3) 在弹出 Convert TIN to Raster 对话框中作如下设置:在 Input TIN 选项栏中选择 tin,在 Attribute 栏中点选 Elevation.在 Output raster 栏中键入生成的 DEM 保存地 址(图 9.105),点击 OK; 4) 生成 DEM 如图 9.106。 图 9.105 由 TIN 转换为栅格对话框 图 9.104 将 TIN 转换为 DEM 图 9.103 TIN 358 (4) 符号化设计; 1) 单击左边内容列表中每一图层下的符号样式,在弹出的 Symbol Seclector 对话框 中选择合适的体例样式; 2) 关闭等高线(Arc_Clip)图层及 tin 图层。显示如图 9.107。 (5) 建立三维景观图。 图 9.106 由TIN 生成的 DEM 图 9.107 平面景观图 359 其它要素如道路、水系是景区三维景观图中游客向导的重要识别特征信息。在 ArcScene 中通过设置要素的基准高程,可以实现其三维显示。此外,还可以将纹理、遥感 影像或二维地理要素与表面叠加。 依次打开需要叠加显示的道路、水系、休憩地要素图层的属性对话框,设置其基准高 程为区域 TIN 表面,实现要素与地形的三维叠加显示。此外,根据需要可对地形起伏程度 进行拉伸以夸大或缩小起伏度,可通过设置各图层数据高程转换系数实现。最后生成景观 图如图 9.108。 9.5.4 污染物在蓄水层中的可视化 1. 背景 如果在某地区蓄水层中包含挥某种污染物,根据已有污染数据,可以创建三维场景, 直观地显示污染情况。 2. 目的 通过本实例,使读者熟练掌握 ArcScene 三维场景中要素、表面的多种可视化表达方 法。 3. 实验数据 (1) 污染物浓度栅格图层数据 contamination(..\Chp9\Ex4); (2) 水井位置点数据层 wells.shp(..\Chp9\Ex4),其中包含水井深度属性; (3) 需要清理的污染源(工业设施)数据 facility.shp(..\Chp9\Ex4),其属性中包括需要 进行清理的优先级; 图 9.108 地形表面与其它要素的叠加显示 360 (4) 污染物空间的 TIN 表面 C_TIN(..\Chp9\Ex4); 4. 要求 利用所给数据,实现污染物状况的三维可视化显示、点状水井矢量要素的突出显示、 污染源的符号化突出显示。 5. 实验方法。 使用 ArcGIS 的三维分析工具,包括三维场景中数据的加载、数据在场景中的三维立 体显示方法(包括设置基准高程显示和突出显示要素两种方法)。对污染物在蓄水层中的 分布做直观的观察和分析,并研究区域内分布的水井受其影响的情况。最后然后分析污染 源的情况,确定污染源需要清理的优先级,以为决策提供科学支持。 (1) 首先打开场景 Exercise4.sxd(..\Chp9\Ex4),可以看到所需实验数据已经加载(图 9.109); (2) 显示污染物的体积与污染程度; 将污染物浓度的栅格图层叠加到污染空间表面上,可以显示蓄水层中污染物的体积与 污染物程度。 1) 打开污染物浓度图层 contamination 的属性对话框(图 9.110); 图 9.109 实验场景 361 2) 选择其空间 TIN 表面(C_TIN)为基准高程,同时设置 Z 值转换系数为 200; 3) 在 Symbology 选项卡中选择一合适渐变色系; 4) 在内容列标表中取消 TIN 表面的显示,此时可以在三维空间中察看污染物空间的 形状及其受污染的强度(图 9.111)。 (3) 显示污染物空间与水井的关系; 从数据中可以看出一些水井位于污染物空间中。可以通过水井的深度属性对其进行突 出显示,即可查找出哪些水井与污染物空间相交,受污染较严重。 图 9.111 污染物空间 图 9.110 Contamination 数据层属性对话框 362 1) 打开水井数据层属性对话框并选择 Extrusion 选项卡; 2) 计算突出表达式为其深度属性字段 Depth,同时选择将表达式应用为各个要素的 基准高程,水井的深度以负值表示,使其向下突出。 关闭 C-TIN 数据层的显示。此时,可以直观地察看与污染物空间相交或相邻的水井(图 9.112)。 (4) 优先显示需要清理的污染源。 如前所述,根据各个污染源需要进行清理的紧急程度,对其进行分级归类,然后将其 突出显示,并用颜色标志出来,以突出需要进行清理的优先级。 1) 打开污染源 facility 数据层属性对话框并选择 extrusion 对话框; 2) 计算突出表达式为 Priority1*100; 3) 在 Symbology 选项卡中设置符号为渐变色(Graduated colors),选择值域(Value) 为 PRIORITY1,将符号分为 5 级显示。 此时,工业设施根据其优先级按比例突出显示。场景中可以看得出污染的形状及强度、 水井与污染物空间的关系,以及为阻止地下水进一步污染而需要进行清理的污染源(图 9.113)。 图 9.112 突出显示水井的场景 363 9.5.5 模拟场景飞行 1. 背景 在获得某一地区的表面数据的基础上,可以制作该地区的飞行动画。飞行动画可以直 观动态地显示某一地区从宏观到微观的图像,显示某一实体随时间的发展变化等动态信 息,还可通过视角、场景属性、地理位置以及时间的变化来观察对象。如对一景区各个景 点进行鸟瞰;模拟风蚀洼地的形成过程;模拟并预测洪水淹没区扩张速度及范围等等。 2. 目的:通过本实例掌握地形的三维显示与飞行动画的制作方法。 3. 实验数据:某区域场景(..\ Chp9\ Ex5\Exercise5.sxd)。 4. 要求:基于所提供 TIN 数据,采用两种方法实现模拟场景飞行。1)抓取一系列场景 图片然后向其中插入平滑帧形成动画;2)通过记录实时飞行场景生成动画。最后将 生成的动画保存为 AVI 文件。 5. 实验方法:本实例采用两种方法来生成飞行动画。 (1) 抓取一系列场景图片然后向其中插入平滑桢来形成动画 步骤如下: 1) 打开 ArcScene,打开实验场景(\ Chp9\ Ex5\ \Exercise5.sxd),见图 9.114; 图 9.113 实验最终结果 364 2) 打开 Animation 模块,抓取景区场景; A. 在工具条上单击右键,在 弹 出 快捷菜菜单选择 Animation 项,打开动画工具条( 图 9.115); B. 点击拍照按钮 ,拍下当前场景。改变场景后再次拍 照; C. 反复操作,抓取动画放映主干帧,直至将感兴趣场景拍摄完全。 3) 调节动画参数,生成动画,并预览; A 点击动画控按钮 ,打开动画控制器。 B 修改动画录制时间 Duration 栏,控制动画片长,在动画播放片断控制 Play Only From 栏填入合适时间。点击 Play 按钮 预览动画。 4) 动画导出。 点击 Animation 下拉菜单,选择 Export to Video 命令,将动画输出为可用多媒体播放 器播放的文件(E:\Chp9\Ex1\result\飞行动画1.avi )。 (2) 通过记录实时飞行场景来生成动画 1) 点击 按钮,将鼠标放置到场景中合适位置。此时 鼠标为一栖息鸟状; 2) 点击 按钮,弹出动画控制器; 图 9.114 区域场景 图 9.115 将栅格转换为 TIN 图 9.116 动画控制器 图 9.115 动画工具条 365 3) 点击 Options 按钮,将其扩展(图 9.116); 4) 在 Duration 栏中键入合适的动画时长,在 Play only from 栏中选择播放的片断时 段; 5) 点击沿路径飞行按钮 ,此时在场景中开始飞行; 6) 飞行结束后,再次点击沿路径飞行按钮 ,结束录制; 7) 点击播放按钮浏览播放动画; 8) 动画导出。 A 点击 Animation 下拉菜单,选择 Export to Video 命令,弹出对话框(图 9.117); B 设置输出文件的存放路径及名称,导出文件类型为 AVI 格式; C 点击 Export 按钮,弹出视频压缩对话框(图 9.118),此时选择合适的压缩程 序及压缩质量,点击确定即可将动画输出为可用多媒体播放器播放的 AVI 文 件。 图 9.117 将动画输出为 AVI 文件 图 9.118 视频压缩 366 第十章 地统计分析 地统计分析方法被广泛应用于许多领域,已成为空间统计学的一个重要分支。很长时 间以来,地统计分析一直没能很好的和 GIS 分析模型紧密结合在一起,成为 GIS 软件一大 遗憾。ArcGIS 地统计分析模块在地统计学与 GIS 之间架起了一座桥梁,使得复杂的地统 计方法可以在软件中得以实现,体现了以人为本、可视化发展的趋势。ArcGIS 与地统计方 法的结合具有重要的开创性意义,通过测定预测表面的统计误差,GIS 应用人员首次能够 对预测表面的模型质量进行量化。本章主要通过对地统计分析的概念介绍,逐步引导读者 应用 ArcGIS 地统计分析解决实际问题。 10.1 地统计基础 10.1.1 基本原理 地统计(Geostatistics)又称地质统计,是法国著名统计学家 G. Matheron 在大量理论 研究的基础上逐渐形成的一门新的统计学分支。它是以区域化变量为基础,借助变异函数, 研究既具有随机性又具有结构性,或具有空间相关性和依赖性的自然现象的一门科学。凡 是与空间数据的结构性和随机性,或空间相关性和依赖性,或空间格局与变异有关的研究, 并对这些数据进行最优无偏内插估计,或模拟这些数据的离散性、波动性时,皆可应用地 统计学的理论与方法。 地统计学与经典统计学的共同之处在于:它们都是在大量采样的基础上,通过对样本 属性值的频率分布、均值、方差等关系及其相应规则的分析,确定其空间分布格局与相关 关系。但地统计学区别于经典统计学的最大特点是:地统计学既考虑到样本值的大小,又 重视样本空间位置及样本间的距离,弥补了经典统计学忽略空间方位的缺陷。 地统计分析理论基础包括前提假设、区域化变量、变异分析和空间估值。 1. 前提假设 (1) 随机过程 与经典统计学相同的是,地统计学也是在大量样本的基础上,通过分析样本间的规律, 探索其分布规律,并进行预测。地统计学认为研究区域中的所有样本值都是随机过程的结 果,即所有样本值都不是相互独立的,是遵循一定的内在规律的。因此地统计学就是要揭 示这种内在规律,并进行预测。 (2) 正态分布 在统计学分析中,假设样本是服从正态分布的,地统计学也不例外。在获得数据后首 先应对数据进行分析,若不符合正态分布的假设,应对数据进行变换,转为符合正态分布 367 的形式,并尽量选取可逆的变换形式。 (3) 平稳性 对于统计学而言,重复的观点是其理论基础。统计学认为,从大量重复的观察中可以 进行预测和估计,并可以了解估计的变化性和不确定性。对于大部分的空间数据而言,平 稳性的假设是合理的。这其中包括两种平稳性:一类是均值平稳,即假设均值是不变的并 且与位置无关;另一类是与协方差函数有关的二阶平稳和与半变异函数有关的内蕴平稳。 二阶平稳是假设具有相同的距离和方向的任意两点的协方差是相同的,协方差只与这两点 的值相关而与它们的位置无关。内蕴平稳假设是指具有相同距离和方向的任意两点的方差 (即变异函数)是相同的。二阶平稳和内蕴平稳都是为了获得基本重复规律而作的基本假 设,通过协方差函数和变异函数可以进行预测和估计预测结果的不确定性。 2. 区域化变量 当一个变量呈现一定的空间分布时,称之为区域化变量,它反映了区域内的某种特征 或现象。区域化变量与一般的随机变量不同之处在于,一般的随机变量取值符合一定的概 率分布,而区域化变量根据区域内位置的不同而取不同的值。而当区域化变量在区域内确 定位置取值时,表现为一般的随机变量,即,它是与位置有关的随机变量。在实际分析中, 常采用抽样的方式获得区域化变量在某个区域内的值,即此时区域化变量表现为空间点函 数: ),,()( wvu xxxZxZ = (10.1) 根据其定义,区域化变量具有两个显著特征:即随机性和结构性。首先,区域化变量 是一个随机变量,它具有局部的、随机的、异常的特征;其次,区域化变量具有一定的结 构特点,即变量在点 x 与偏离空间距离为 h 的点 x+h 处的值 Z(x)和 Z(x+h)具有某种程度的 相似性,即自相关性,这种自相关性的程度依赖于两点间的距离 h 及变量特征。除此之外, 区域化变量还具有空间局限性(即这种结构性表现为一定范围内)、不同程度的连续性和 不同程度的各向异性(即各个方向表现出的自相关性有所区别)等特征。 3. 变异分析 (1) 协方差函数 协方差又称半方差,表示两随机变量之间的差异。在概率论中,随机变量 X 与 Y 的 协方差定义为: )]Y())(X([(),( EYEXEYXCov --= (10.2) 借鉴上式,地统计学中的协方差函数可表示为: å = +-+-= )( 1 )]()()][()([)( 1)( hN i iiii hxZhxZxZxZhNhC (10.3) 其中,Z(x)为区域化随机变量,并满足二阶平稳假设,即随机变量 Z(x)的空间分布规 律不随位移而改变;h 为两样本点空间分隔距离; )( ixZ 为 Z(x)在空间点 ix 处的样本值; 368 )( hxZ i + 是 Z(x)在 ix 处距离偏离 h 的样本值[i=1,2,…,N(h)];N(h)是分隔距离为 h 时的样 本点对总数; )( ixZ 和 )( hxZ i + 分别为 )( ixZ 和 )( hxZ i + 的样本平均数,即: å = = n i ii xZnxZ 1 )(1)( (10.4) å = +=+ n i ii hxZnhxZ 1 )(1)( (10.5) 上式中,n 为样本单元数。一般情况下, )()( hxZxZ ii +¹ (特殊情况下可以认为近 似相等)。 (2) 半变异函数 半变异函数又称半变差函数、半变异矩,是地统计分析的特有函数。区域化变量 Z(x) 在点 x 和 x+h 处的值 Z(x)与 Z(x+h)差的方差的一半称为区域化变量 Z(x)的半变异函数,记 为 r(h),2r(h)称为变异函数。 根据定义有: )]()([2 1),( hxZxZVarhxr +-= (10.6) 即 22 )]}([)]([{2 1)]()([2 1),( hxZExZEhxZxZEhxr +--+-= (10.7) 区域化变量 Z(x)满足二阶平稳假设,因此对于任意的 h 有: )]([)]([ xZEhxZE =+ (10.8) 因此,半变异函数可改写为: 2)]()([2 1),( hxZxZEhxr +-= (10.9) 由上式可知,半变异函数依赖于自变量 x 和 h,当半变异函数 r(x,h)仅仅依赖于距离 h 而与位置 x 无关时,r(x,h)可改写为 r(x),即: 2)]()([2 1)( hxZxZEhr +-= (10.10) 具体表示为: å = +-= )( 1 2)]()([)(2 1)( hN i ii hxZxZhNhr (10.11) 369 各变量的含义同前。也有将 r(h)称为变异函数,两者使用上不引起本质上的差别。 (3) 变异分析 半变异函数和协方差函数把统计相关系数的大小作为一个距离的函数,是地理学相近 相似定理的定量化。图 10.1 和图 10.2 为一典型的半变异函数图和其对应的协方差函数图。 图 10.1 和图 10.2 显示,半变异值的变化随着距离的加大而增加,协方差随着距离的 加大而减小。这主要是由于半变异函数和协方差函数都是事物空间相关系数的表现,当两 事物彼此距离较小时,它们是相似的,因此协方差值较大,而半变异值较小;反之,协方 差值较小,而半变异值较大。此外,协方差函数和半变异函数随着距离的加大基本呈反向 变化特征,它们之间的近似关系表达式为: )()( hCsillhr -= (10.12) 半变异函数曲线图和协方差函数曲线反映了一个采样点与其相邻采样点的空间关系。 此外,它们对异常采样点具有很好的探测作用,在 ArcGIS 地统计分析模块中可以使用两 者中的任意一个,一般采用半变异函数。在半变异曲线图中有两个非常重要的点:间隔为 0 时的点和半变异函数趋近平稳时的拐点,由这两个点产生四个相应的参数:块金值 (Nugget)、变程(Range)、基台值(Sill)和偏基台值(Partial Sill)。其含义如下: 块金值(Nugget):理论上,当采样点间的距离为 0 时,半变异函数值应为 0;但由于 存在测量误差和空间变异,使得两采样点非常接近时,它们的半变异函数值不为 0,即存 在块金值。测量误差是仪器内在误差引起的,空间变异是自然现象在一定空间范围内的变 化。它们任意一方或两者共同作用产生了块金值。 基台值(Sill): 当 采样点间的距离 h 增大时,半变异函数 r(h)从初始的块金值达到一 个相对稳定的常数时,该常数值称为基台值。当半变异函数值超过基台值时,即函数值不 随采样点间隔距离而改变时,空间相关性不存在。 偏基台值(Partial Sill):基台值与块金值的差值。 变程(Range): 当 半 变异函数的取值由初始的块金值达到基台值时,采样点的间隔距 离称为变程。变程表示了在某种观测尺度下,空间相关性的作用范围,其大小受观测尺度 的限定。在变程范围内,样点间的距离越小,其相似性,即空间相关性越大。当 h>R 时, c(h) 图 10.2 协方差函数图 r(h) 图 10.1 半变异函数图 偏基台值 (Partial Sill) 块金 (Nugget) 基台值 (Sill) 变程(Range) 距离(h) 距离(h) 偏基台值 (Partial Sill) 块金 (Nugget) 变程(Range) 基台值 (Partial Sill) 370 区域化变量 Z(x)的空间相关性不存在,即当某点与已知点的距离大于变程时,该点数据不 能用于内插或外推。 当限定的样本点间隔过小时,可能出现曲线图上所有 r(h)≈ Nugget,即曲线为一近似 平行于横坐标的直线,此时半变异函数表现为纯块金效应。这是由于所限定的样本间隔内, 点与点的变化很大,即各个样点是随机的,不具备空间相关性,区域内样点的平均值即是 最佳估计值。此时只有增大样本间隔,才能反映出样本间的空间相关性。 空间相关性的强弱可由 Partial_Sill/Sill 来反映,该值越大,空间相关性越强。相应地, Nugget/Sill 称为基底效应,表示样本间的变异特征,该值越大,表示样本间的变异更多得 是由随机因素引起的。 4. 空间估值 一个完整的地统计分析过程,或者说空间估值过程,一般为:首先,获取原始数据, 检查、分析数据,找寻数据暗含的特点和规律,比如是否为正态分布、有没有趋势效应、 各向异性等等;然后,选择合适的模型进行表面预测,包括半变异模型的选择和预测模型 的选择;最后,检验模型是否合理或对几种模型进行对比。尽管在 ArcGIS 中利用地统计 分析模块完成上述过程非常简单,但是遵循一个结构化处理过程仍很重要,如图 10.3 所示。 (1) 数据显示 在 ArcMap 数据视图窗口中添加并显示待分析的数据图层。 (2) 数据检查 分析数据集的统计属性,对数据进行深入了 解。数据检查内容包括检验数据分布、寻找数据 离群值、全局趋势分析、探测空间自相关及方向 变异,以及多数据集协变分析。 (3) 模型拟合 基于对数据的认识,初步选择一个认为合适 的模型创建表面。全面的数据检查有助于选择出 合适的模型。 (4) 模型诊断 评估模型的输出(表面),了解所选模型对 未知值的预测效果。诊断的主要内容包括:①预 测的准确性;②模型的有效性。 (5) 模型比较 通过设置不同参数或者选择多个可选模型 创建表面,通过对比分析可以确定哪个模型能更好得预测未知值。 10.1.2 克里格插值 克里格插值(Kriging)又称空间局部插值法,是以变异函数理论和结构分析为基础, 数据显示 数据检查 模型拟合 模型诊断 模型比较 1 3 2 4 5 图 10.3 空间估值流程图 371 在有限区域内对区域化变量进行无偏最优估计的一种方法,是地统计学的主要内容之一。 南非矿产工程师 D.R.Krige(1951 年)在寻找金矿时首次运用这种方法,法国著名统计学 家 G.Matheron 随后将该方法理论化、系统化,并命名为 Kriging,即克里格方法。 克里格方法的适用范围为区域化变量存在空间相关性,即如果变异函数和结构分析的 结果表明区域化变量存在空间相关性,则可以利用克里格方法进行内插或外推;否则不适 用。其实质是利用区域化变量的原始数据和变异函数的结构特点,对未知样点进行线性无 偏、最优估计。无偏是指偏差的数学期望为 0,最优是指估计值与实际值之差的平方和最 小。也就是说,克里格方法是根据未知样点有限邻域内的若干已知样本点数据,在考虑了 样本点的形状、大小和空间方位,与未知样点的相互空间位置关系,以及变异函数提供的 结构信息之后,对未知样点进行的一种线性无偏最优估计。 地统计分析的核心就是通过对采样数据的分析、对采样区地理特征的认识选择合适的 空间内插方法创建表面。插值方法按其实现的数学原理可以分为两类:一是确定性插值方 法,另一类是地统计插值,也就是克里格插值,如图 10.4 所示。 确定性插值方法以研究区域内部的相似性(如反距离加权插值法)、或者以平滑度为 基础(如径向基函数插值法)由已知样点来创建表面。地统计插值方法(例如克里格法) 利用的则是已知样点的统计特性。地统计插值方法不但能够量化已知点之间的空间自相关 性,而且能够说明采样点在预测区域范围内的空间分布情况。 确定性插值方法可以分为两种:即全局性插值方法和局部性插值方法,如图 10.4 所示。 全局性插值方法以整个研究区的样点数据集为基础来计算预测值,局部性插值方法则使用 一个大研究区域内较小的空间区域内的已知样点来计算预测值。 空间插值 确定性插值 全局性插值: 全局多项式插值 局部性插值 径向基插值 地统计插值 反距离权插值 局部多项式插值 普通克里格插值 概率克里格插值 简单克里格插值 泛克里格插值 析取克里格插值 协同克里格插值 图 10.4 空间插值分类图一 372 克里格方法与反距离权插值方法有些类似,两者都通过对已知样本点赋权重来求得未 知样点的值,可统一表示为: å = = n i ii xZxZ 1 0 )()( λ (10.13) 式中,Z(x0)为未知样点的值,Z(xi)为未知样点周围的已知样本点的值, iλ 为第 i 个已 知样本点对未知样点的权重,n 为已知样本点的个数。 不同的是,在 赋权重时,反距离权插值方法只考虑已知样本点与未知样点的距离远近, 而克里格方法不仅考虑距离,而且通过变异函数和结构分析,考虑了已知样本点的空间分 布及与未知样点的空间方位关系。 根据是否能保证创建的表面经过所有的采样点,空间插值方法又可以分为精确性插值 和非精确性插值(图 10.5)。精确性插值法预测值在样点处的值与实测值相等,非精确性 插值法预测值在样点处的值与实测值一般不会相等。使用非精确性插值法可以避免在输出 表面上出现明显的波峰或波谷。反距离权插值和径向基插值属于精确性插值方法,而全局 多项式插值、局部多项式插值,以及克里格插值都属于非精确性插值方法。 10.1.3 ArcGIS 地统计分析 1. 功能模块介绍 ArcGIS 地统计分析模块主要由三个功能模块组成:探索性数据分析(Explore Data)、 地统计分析向导(Geostatistical Wizard),以及生成数据子集(Create Subsets)。利用这些 基本功能模块,可以方便的完成多种地统计分析,创建完善的专题地图(表面预测)。 (1) 探索性数据分析(Explore Data) 空间插值 精确性插值 非精确性插值 反距离权插值 全局多项式插值 局部多项式插值 克里格插值 径向基插值 普通克里格插值 概率克里格插值 简单克里格插值 泛克里格插值 析取克里格插值 协同克里格插值 图 10.5 空间插值分类示意图二 373 数据分析工具可以让用户 更全面地了解所使用的数据,以 便 于 选取合适的参数及方法,如 数据是否服从正态分布,是否存 在某种趋势等。在 ArcGIS 地统 计分析模块中,内嵌了多种探索 性空间数据分析工具,包括 Histogram(直方图)、Voronoi Map(Voronoi 地图)、Normal QQPlot(正态 QQPlot 分布图)、General QQPlot(普通 QQPlot 分布图)、Trend Analysis(趋势分 析)、Semivariogram/Covariance Cloud(半变异/协方差函数云)和 Crosscovariance Cloud(正交 协方差函数云)。这些工具对数据从不同的视图,提供给用户用多种方式检测空间数据。 (2) 地统计分析向导(Geostatistical Wizard) 地统计分析模块提供了一系列利用已知样点进行内插生成研究对象表面图的内插技 术。地统计分析向导通过完善的图形用户界面,引导用户逐步了解数据、选择内插模型、 评估内插精度、完成表面预测(模拟)和误差建模。地统计分析向导能提供用户的主要图 形界面包括: 1) 内插方法与数据集选择界面(如图 10.7) 通过此界面可选择所用数据、实验方法以及检验数据等。在 DataSet1 中,选择输入数 据及其属性;在 Validation 中,选择检验数据及其属性;在 Methods 中,选择相应的内插 方法。 2) 参数设置界面(图 10.8) 图 10.6 地统计模块菜单 图 10.7 内插方法及数据选择对话框面 374 通过此界面设置模型所用的各项参数,如模型所用的幂指数(Power)、最少包含的样 点数(Include at Least)等,参数设置应根据实例而定。 3) 精度评定界面(图 10.9) 主要包括误差分布图、误差标准化值分布图等,通过这些界面可以了解模型的精确度, 为模型的改进也提供了必要的信息。对于不同的内插方法,上述界面提供的信息一般不同, 弹出的对话框的个数、参数设置界面或精度评定界面有时不止一个,应根据具体内容具体 对待。 4) 生成数据子集(Create Subsets) 图 10.8 参数设置界面 图 10.9 精度评定图 375 对输出表面质量评价的最严格方法就是将观测值与预测值进行比较。通常情况下,这 种作法需到研究区采集独立的验证数据集。一个办法就是将原始数据分割成两部分,一部 分用来空间结构建模及生成表面,另一部分用来比较和验证预测的质量。Create Subsets 对 话框(图 10.10)可以让用户生成测试和训练数据集。 2. Geostatistical Analyst 的启动 (1) 右击工具栏,启动地理统计模块 Geostatistical Analyst。 (2) 单击 Geostatistical Analyst 下的 Explore Data 菜单。 10.2 探索性数据分析 探索性数据分析是利用 ArcGIS 提供的一系列图形工具和适用于数据的插值方法。可 以确定统计数据属性、探测数据分布、全局和局部异常值(过大值或过小值)、寻求全局 的变化趋势、研究空间自相关和理解多种数据集之间相关性。探索性空间数据分析能让用 户更深入了解数据,认识研究对象,从而对与其数据相关的问题做出更好的决策。 10.2.1 数据分析工具 1. 刷光(Brushing)与链接(Linking) 刷光指在 ArcMap 数据视图或某个 ESDA 工具中选取对象,被 选 择 的 对象高亮度显示。 链接指在 ArcMap 数据视图或某个 ESDA 视图中的选取对象操作。在所有视图中被选取对 象均会执行刷光操作。如在下面章节将要叙述的探索性数据分析过程中,当某些 ESDA 工 具(如直方图、Voronoi 地图、QQplot 图以及趋势分析)中执行刷光时,ArcMap 数据视图 中相应的样点均会被高亮度显示。当在半变异/协方差函数云中刷光时,ArcMap 数据视图 中相应的样点对及每对之间的连线均被高亮度显示。反之,当样点对在 ArcMap 数据视图 图 10.10 生成数据子集界面 376 中被选中,在半变异/协方差函数云中相应的点也将高亮度显示。 2. 直方图 直方图指对采样数据按一定的分级方案(等间隔分级、标准差分等)进行分级,统计 采样点落入各个级别中的个数或占总采样数的百分比,并通过条带图或柱状图表现出来。 直方图可以直观的反映采样数据分布特征、总体规律,可以用来检验数据分布和寻找数据 离群值。 在 ArcGIS 中,可以方便的提取采样点数据的直方图,基本步骤为: (1) 在ArcMap 中加载地统计数据点图层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Histogram 命令; (3) 设置相关参数,生成直方图。 1) Bars:直方图条带个数,也就是分级数; 2) Translation:数据变换方式; 3) None:对原始采样数据的值不作变换,直接生成直方图; 4) Log:首先对原始采样数据取对数,再生成直方图; 5) Box-cox:首先对原始采样数据进行博克斯-考克斯变换(也称幂变换),再生成直 方图; 6) Layer:当前正在分析的数据图层; 7) Attribute:生成直方图的属性字段。 从图 a 和图 b 的对比分析可以看出,该地区 GDP 原始数据并不服从正态分布,经过 对数变换处理,分布具有明显的对数分布特征,并且在最右侧有一个明显的离群值。 在直方图右上方的窗口中,显示了一些基本统计信息,包括个数(Count)、最小值 (Min)、最大值(Max)、平均值(Mean)、标准差(Std. Dev.)、峰度(Kurtosis)、偏态 (Skewness)、1/4 分位数(1-st Quartile)、中数(Median)和 3/4 分位数(3-rd Quartile), 通过这些信息可以对数据有个初步的了解。 图 10.11 直方图示意图 图 b 数据变换后的直方图 图 a 原始数据直方图 377 四分位数(1-st Quartile): 如 果 将 N 个 数 值 由 小 至 大 排 列 , 第 N4 1 个 数 就 是 第 一个四 分位数,通常以 Q 1 来表示;第 N4 2 个 数 就 是 第 二 个 四 分 位 数(Q 2 ),即中位数;第 N4 3 个 数 就 是 第三个四分位数( Q 3 )。四 分 位距即为:Q= Q3- Q1,它将极端的前 1/4 和后 1/4 去除, 而利用第三个与第一个分位数的差距来表示分散情形,因此避免了极端值的影响。但它需 要将数据由小到大排序,且没有利用全部数据。 峰度(Kurtosis): 用于描述数据分布高度的指标,正态分布的峰度等于 0。如果数据 的峰度大于 0,那么该数据的分布就会比正态分布高耸且狭窄,此时数据比正态分布集中 于平均数附近;反之,如果峰度小于 0,数据的分布就比正态分布平坦且宽阔,此时数据 比正态分布分散。 偏态(Skewness): 用于描述数据分布左右对称性的指标,正态分布的偏态等于 0。如 果数据的直方图向右延伸,即大部分的数据集中于左边,则偏态大于 0,称为正偏态或右 偏态。如果数据的直方图向左延伸,即大部分的数据集中于右边,则偏态小于 0,称为负 偏态或左偏态。如图 10.11,由原始数据的直方图上可看出,原始数据的分布属于正偏态, 经过变换后的数据比正态分布的数据更加集中于平均值附近。 3. Voronoi 地图 Voronoi 地图是由在样点周围形成的一系列多边形组成的。某一样点的 Voronoi 多边形 的生成方法是:多边形内任何位置距这一样点的距离都比该多边形到其它样点的距离要 近。Voronoi 多边形生成之后,相邻的点就被定义为具有相同连接边的样点。 在ArcGIS 中生成数据的 Voronoi 地图的基本步骤为: (1) 在 ArcMap 中加载点图层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Voronoi Map 命 令; (3) 设置参数,生成 Voronoi 图,如图 10.12 所示。 1) Type:分配和计算多边形值的方法; 2) Layer:当前正在分析的数据图层; 3) Atrribute:生成直方图的属性字段。 Voronoi Map 对话框 Type 选项提供了多种分配和计算多边形值的方法: l 简化(Simple): 分 配 到 某 个多边形单元的值是该多边形单元的值; l 平均(Mean): 分 配 到 某 个多边形单元的值是这个单元与其相邻单元的平均值; l 模式(Mode): 所 有的多边形单元被分为五级区间,分配到某个多边形单元的值是这 个单元与其相邻单元的模式(即出现频率最多的区间); l 聚类(Cluster): 所 有的多边形单元被分配到这五级区间中,如果某个多边形单元的 级区间与它的相邻单元的级区间都有不同,这个单元用灰色表示,以 区 别 于 其 它 单元; l 熵(Entropy): 所 有 单元都根据数据值的自然分组分配到这五级中。分配到某个多边 形单元的值是根据该单元和其相邻单元计算出来的熵; l 中值(Median): 分 配 给 某 多 边 形 的 值 是 根 据 该单元和其相邻单元的频率分布计算的 378 中值; l 标准差(StDev): 分 配 给 某 多 边 形 的 值 是 根 据 该单元和其相邻单元计算出的标准差; l 四分位数间间隔(IQR): 第 一和第三四分位数是根据某单元和其相邻单元的频率分布 得出的。分配给某多边形单元的值是用第三四分位数减去第一四分位数得到的差。 Voronoi 地图可以了解到每个采样点控制的区域范围,也可以体现出每个采样点对区 域内插的重要性。利用 Voronoi 地图中就可以找出一些对区域内插作用不大且可能影响内 插精度的采样点值,可以将它剔除。用聚类和熵的方法生成的 Vonoroi 图可也可用来帮助 识别可能的离群值。自然界中,距离相近的事物比距离远的事物具有更大的相似性。熵值 是量度相邻单元相异性的一个指标。因此,局部离群值可以通过高熵值的区域识别出来。 同样,一般认为某个特定单元的值至少应与它周围单元中的某一个的值相近。因此聚类方 法也能将那些与周围单元不相同的单元识别出来。 4. QQPlot 分布图 QQ 图提供了另外一种度量数据正态分布的方法,利用 QQ 图,可以将现有数据的分 布与标准正态分布对比,如果数据越接近一条直线,则它越接近于服从正态分布。 (1) 正态 QQPlot(Normal QQPlot)分布图 正态 QQPlot 分布图主要用来评估具有 n 个值的单变量样本数据是否服从正态分布。 构建正态 QQPlot 分布图的通用过程为(图 10.13): 1 ) 首 先 对 采样值进行排序; 2) 计算出每个排序后的数据的累积值(低于该值的数据的百分比); 3) 绘制累积值分布图; 图 10.12 Voronoi 地图 379 4) 在累积值之间使用线性内插技术,构建一个与其具有相同累积分布的理论正态分 布图,求出对应的正态分布值; 5) 以横轴为理论正态分布值,竖轴为采样点值,绘制样本数据相对于其标准正态分 布值的散点图,图 10.13 为样本数据的正态 QQPlot 分布图。 如果采样数据服从正态分布,其正态 QQPlot 分布图中采样点分布应该是一条直线。 如果有个别采样点偏离直线太多,那么这些采样点可能是一些异常点,应对其进行检验。 此外,如果在正态 QQ 图中数据没有显示出正态分布,那么就有必要在应用某种克里格插 值法之前将数据进行转换,使之服从正态分布。 在 ArcGIS 中生成数据的正态 QQPlot 分布图的主要步骤为: 1) 在 ArcMap 中加载地统计数据点图层; 2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Normal QQPlot 的命令; 3) 设置参数,生成 Normal QQPlot 图(图 10.14)。 A Translation:数据变换方式; a) None:对原始采样数据的值不作变换,直接生成 QQPlot 图; b) Log:首先对原始采样数据取对数,再生成 QQPlot 图; c) Box-cox:首先对原始采样数据进行博克斯-考克斯变换(也称幂变换), 再生成正态 QQPlot 图; B Layer:当前正在分析的数据图层; C Atrribute:生成 Normal QQPlot 分布图使用的属性字段。 从图 a 可以看出,该地区 GDP 的采样数据不符合正态分布,但对其进行对数变换处 理后(图 b),数据近似符合正态分布。仅从采样点值的分布看,在小值区域和大值区域, 图 10.13 正态 QQPlot 示意图 380 存在个别离群点值。 (2) 构建一个普通 QQPlot 分布图 普通 QQPlot(General QQPlot)分布图用来评估两个数据集的分布的相似性。普通 QQPlot 分布图通过两个数据集中具有相同累积分布值作图来生成,如图 10.15 所示。累积 分布值的作法参阅正态 QQPlot 分布图内容。 在 ArcGIS 中生成数据的普通 QQPlot 分布图的主要步骤为: 1) 在 ArcMap 中加载地统计数据点图层; 2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 General 图 10.15 普通QQPlot 示意图 a. 原始数据正态 QQPlot 图 b. 经 log 变换后的正态 QQPlot 图 图 10.14 正态 QQPlot 分布图 381 QQPlot 命令; 3) 设置参数,生成 General QQPlot 图。 普通 QQPlot 图揭示了两个物体(变量)之间的相关关系,如果在 QQPlot 图中曲线呈 直线,说明两物体呈一种线性关系,可以用一元一次方程式来拟合。如果 QQPlot 图中曲 线呈抛物线,说明两物体的关系可以用个二次多项式来拟合。 5. 趋势分析工具 趋势分析工提供用户研究区采样点转换为以感兴趣的属性值为高度的三维透视图,允 许用户从不同视角分析采样数据集的全局趋势。 在 ArcGIS 中对使用趋势分析的主要步骤有: (1) 在 ArcMap 中加载地统计数据点图层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Trend Analysis 的 命令; (3) 检查数据层层名对话框(Layer)的设置是否正确,在字段属性对话框(Attribute) 选择参与趋势分析的字段名称; (4) 在 Rotate 下拉菜单中选择 Locations,通过其右侧旋转水平螺旋按钮可以任意改变投 影视角;若在 Rotate 下拉菜单中选择 Graph,则通过其右侧旋转按钮可以任意改变 整个投影视图的视角,即此时投影图已经固定,只是用户在不同水平方向观察它, 而视图右侧上下螺旋按钮可以动态改变透视图的仰角(观测者与视图的相对高低位 置); (5) 趋势分析工具 Graph Options 中提供了多种显示功能: 1) Grid:调整 X、Y、Z 方向上的格网数,以及格网线条的粗细; 2) Projected Data:选择落在 X、Y、Z 方向格网上投影点的颜色及点的大小; 3) Trend on Projection:选择东西、南北方向趋势面投影线用多项式拟合的次数以及 图 10.16 普通 QQPlot 分布图 382 趋势线的粗细; 4) Sticks:选择点到 X、Y 平面垂线的粗细和颜色; 5) Axes:选择 X、Y、Z 坐标轴的粗细和颜色; 6) Input Data Points:选择高程点的颜色和大小。 趋势分析图中的每一根竖棒代表了一个数据点的值(高度)和位置。这些点被投影到 一个东西向的和一个南北向的正交平面上。通过投影点可以作出一条最佳拟合线,并用它 来模拟特定方向上存在的趋势。如果该线是平直的,则表明没有趋势存在。如图 10.17 所 示,可以看到投影到东西向上的较细的趋势线,从东向西呈阶梯状平滑过渡;而南北方向 上,趋势线(较粗的黑色线条)呈 U 形。可以得知,此区域的地势为从东向西逐渐下降, 南北方向上两边高、中间低的地形。分析出的结果和此区域的真实地形基本吻合。可见趋 势分析工具对观察一个物体的空间分布具有简单、直观的优势,还可以找出拟合最好的多 项式对区域中的散点进行内插,得到趋势面。 6. 方差变异分析工具 (1) 半变异/协方差函数云 半变异/协方差函数云表示的是数据集中所有样点对的理论半变异值和协方差,并把 它们用两点间距离的函数来表示,用此函数作图来表示。 在 ArcGIS 中生成数据的半变异/协方差函数云图主要步骤有: 1) 在 ArcMap 中加载地统计数据点图层; 2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Semivariogram/Covariance Cloud 的命令; 3) 检查数据层层名对话框(Layer)的设置是否正确,在字段属性对话框(Attribute) 图 10.17 趋势分析图 383 选择对应的字段名称; 4) Lag Size 为最大步长,Number of Lags 为步长分组个数,如图 10.18.a 所示; 5) 如果空间变异具有方向性,可以选择 Show Search Direction(方向搜索),然后单 击方向控制条,重设它或改变它的方向来浏览半变异函数云的某个方向子集,如 图 10.18.b 所示。 (2) 正交协方差函数云 正交协方差函数云表示的是两个数据集中所有样点对的理论正交协方差,并把它们用 两点间距离的函数来表示。 在 ArcGIS 中生成数据的正交协方差函数云图的主要步骤: 1) 在 ArcMap 中加载地统计数据点图层; 2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Crosscovariance Cloud 的命令; 3) 在数据集选择对话框中检查数据层层名( Layer)的设置是否正确,在字段属性对 话框(Attribute)选择对应的字段名称; 4) Lag Size 为最大步长,Number of Lags 为步长分组个数; 5) 如果空间变异具有方向性,可以选择 Show Search Direction(方向搜索),再单击 方向控制条,重设它或改变它的方向来浏览半变异函数云的某个方向子集,如图 10.19 所示。具体方向的确定应根据形成该现象的成因及各方向结果的比较。 a. 无方向性的半变异/协方差函数云图 b. 有方向性的半变异/协方差函数云图 图 10.18 半变异/协方差函数云图 384 10.2.2 检验数据分布 在地统计分析中,克里格方法是建立在平稳假设的基础上,这种假设在一定程度上要 求所有数据值具有相同的变异性。另外,一些克里格插值(如普通克里格法、简单克里格 法和泛克里格法等)都假设数据服从正态分布。如果数据不服从正态分布,需要进行一定 的数据变换,从而使其服从正态分布。因此,在进行地统计分析前,检验数据分布特征, 了解和认识数据具有非常重要的意义。数据的检验可以通过直方图和正态 QQPlot 分布图 完成。 1. 用直方图检测数据的分布 (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Histogram 命令。 2. 用 Normal QQplot 图检测数据分布 (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Normal QQPlot 命令。 如果数据服从正态分布,数据的直方图应该呈钟形曲线。在 QQPlot 图中,数据的分 a. 无方向性的正交协方差函数云图 b. 有方向性的正交协方差函数云图 图 10.19 正交协方差函数云图 385 布近似成为一条直线。否则,需要通过直方图和 QQPlot 图工具提供的对数变换(Log)和 幂变换(Cox-Box)功能,对数据进行变换处理,尽可能让变换后的数据服从正态分布。 10.2.3 寻找数据离群值 数据离群值分为全局离群值和局部离群值两大类。全局离群值是指对于数据集中所有 点来讲,具有很高或很低的值的观测样点。局部离群值值对于整个数据集来讲,观测样点 的值处于正常范围,但与其相邻测量点比较,它又偏高或偏低。 离群点的出现有可能就是真实异常值,也可能是由于不正确的测量或记录引起的。如 果离群值是真实异常值,这个点可能就是研究和理解这个现象的最重要的点;反之,如果 它是由于测量或数据输入的明显错误引起的,在生成表面之前,就需要改正或剔除它们。 对于预测表面,离群值可能引起多方面的有害影响,包括影响半变异建模和邻域分析的取 值。 离群值的寻找可以通过三种方式实现: 1. 利用直方图查找离群值 (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Histogram 命令。 离群值在直方图上表现为孤立存在或被一群显著不同的值包围,如图 10.20,直方图 最右边被选中的一个柱状条即是该数据的离群值。相应地,数据点层面上对应的样点也被 刷光。但在直方图中孤立存在或被一群显著不同的值包围的样点不一定是离群值。 2. 用半变异/协方差函数云识别离群值 如果数据集中有一个异常高值的离群值,则与这个离群值形成的样点对,无论距离远 近,在半变异/协方差函数云图中都具有很高的值。如图 10.21 所示,这些点可大致分为上 下两层,对于上层的点,无论位于横坐标的左端或右端(即无论距离远近)都具有较高的 图 10.20 直方图查找离群值图 386 值。刷光上层的一些点,右图是对应刷光的样点对。可以看到,这些高值都是由同一个离 群值的样点对引起的,因此,需要对该点进行剔除或改正。 其具体操作步骤如下: (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单 击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并 单 击 Semivariogram/Covariance Cloud 命令。 3. 用 Voronoi 图查找局部离群值 用聚类和熵的方法生成的 Voronoi 图可用来帮助识别可能的离群值。熵值是量度相邻 单元相异性的指标。通常,距离近的事物比距离远的事物具有更大的相似性。因此,局部 离群值可以通过高熵值的区域识别出来。同理,聚类方法也可将那些与它们周围单元不相 同的单元识别出来。 (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Voronoi Map 命令; (3) 选择 Type 类型为 TQR; (4) 选择 Voronoi Map 图中颜色和周围所有邻接面域颜色皆然不同的面域,如图 10.22 中 的晕线所示区域,这些面域所代表的点可能就是离群值点。 图 10.21 半变异/协方差函数云识别离群值图 387 10.2.4 全局趋势分析 通常一个表面主要由两部分组成:确定的全局趋势和随机的短程变异。空间趋势反映 了空间物体在空间区域上变化的主体特征,它主要揭示了空间物体的总体规律,而忽略局 部的变异。趋势面分析是根据空间抽样数据,拟合一个数学曲面,用该数学曲面来反映空 间分布的变化情况。它可分为趋势面和偏差两大部分,其中趋势面反映了空间数据总体的 变化趋势,受全局性、大范围的因素影响。如果能够准确识别和量化全局趋势,在 ArcGIS 地统计建模中可以方便的剔除全局趋势,从而能更准确地模拟短程随机变异。 在 ArcGIS 中使用趋势分析工具分析全局趋势的具体操作步骤如下: (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Trend Analysis。 在 ArcGIS 中使用趋势分析工具探测全局趋势的关键在于选择合适的透视角度,准确 的判定趋势特征。同样的采样数据,透视角度不同,反映的趋势信息也不相同。图 10.23 (a)为显示东西方向和南北方向的趋势图。图 10.23(b)逆时针旋转 45 度后,显示东南 -西北方向和西南-东北方向的趋势图。 图 10.22 Voronoi 图查找局部离群值 388 对比分析可以发现,图 10.23(a)显示采样数据在东西方向和南北方向具有微弱的 U 型趋势;图 10.23(b)显示采样数据在东南-西北方向具有明显的 U 型趋势,而在南北方 向基本不具有任何趋势。 趋势分析过程中,透视面的选择应尽可能使采样数据在透视面上的投影点分布比较集 中,通过投影点拟合的趋势方程才具有代表性,才能有效反映采样数据集全局趋势。图10.24 (a)反映的趋势比图 10.24(b)更为准确。 图 10.23(a) 图 10.23(b) 图 10.23 趋势面分析图 图 10.24(a) 图 10.24 趋势面分析透视面图 图 10.24(b) 389 10.2.5 空间自相关及方向变异 大部分的地理现象都具有空间相关特性,即距离越近的两事物越相似。这一特性也是 地统计分析的基础。半变异/协方差函数云图就是这种相似性的定量化表示。 在 ArcGIS 中使用趋势分析工具分析全局趋势的具体操作步骤如下: (1) 在 ArcMap 目录表中单击需要进行数据检测分析的点要素层; (2) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Semivariogram/Covariance Cloud; (3) 设置相关参数。 半变异/协方差函数值越小,就越相 似。如图 10.25 所示,jsJDP1 中 GDP 采 样值具有很强的空间相关性,空间相关 半径(变程值)约在 16 附近。如图 10.26 (a)所示,jsJDP2 中 GDP 采样值在空 间基本不具有空间相关性。虽然在左侧 有一个明显的突变局势,但它反映的采 样点(图 10.26(b)中线段相连接的数 据点)的连线距离过于短小,不具有实 际意义。 图 10.25 半变异/协方差函数云图 390 空间相关性也可能仅仅与两点间距离有关,这时称为各向同性。在实际应用中,各向 异性现象更为普遍,也就是说,当考虑方向影响时,有可能在某个方向距离更远的事物具 有更大的相似性,这种现象在半变异和协方差分析中成为方向效应。分析各向异性具有很 重要的意义,如果能探测出自相关中方向效应,就可以在半变异或协方差拟合模型中考虑 这个因素。 选择 Semivariogram/Covariance Cloud 视图中的 Show Search Direction,动态改变 搜索方向和角度,观察半变异/协方差视图中半变异/协方差函数云的变化,确定方向效应。 从图 10.27 中 a、b 可以看出,采样数据在西北-东南方向比东西方向具有更远距离的空间 相关性。 图 10.26 半变异/协方差函数云对比分析图 图 10.26(a) 图 10.26(b) 391 10.2.6 多数据集协变分析 事物都是处于广泛得联系之中,发展发生都会受相互的制约和影响,绝对独立的事物 是不存在的。协变分析主要通过分析多因素(数据集)关联特征,在地统计空间分析中可 以有效利用这种相关特征增强建模效果,如协同克里格插值分析。 正交协方差云用来研究两个数据集间的交叉相关。在 ArcGIS 中生成数据的正交协方 差函数云图的主要步骤: (1) 在 ArcMap 中加载地统计数据点图层; (2) 单 击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并 单 击 Crosscovariance Cloud 的命令; (3) 设置相关参数。 图 10.28 为某地区 GDP 与人口的正交协方差云图。从图中可以看出,该地区人口数量 和 GDP 的交叉相关性似乎并不对称,具有明显的西北-东南方向性。首先,选择 Crosscovariance Cloud 视图中的 Show Search Direction,改变搜索方向为西北,观察半变 异/协方差视图中半变异/协方差函数云的变化(图 10.29(a)); 然 后 , 改 变 搜 索 方 向 为 东 南 , 观察半变异/协方差视图中半变异/协方差函数云的变化(图 10.29(b))。可以发现, 该地区人口数量和 GDP 的交叉相关性具有的西北-东南方向性,并且该两个方向的交叉相 关性比较稳定。交叉相关性的分析可以为地统计分析中的协同克里格插值分析提供重要的 建模依据。 图 10.27(a) 图 10.27(b) 图 10.27 半变异/协方差函数云方向图 392 10.3 空间确定性插值 确定性插值方法以研究区域内部的相似性、或者以平滑度为基础,由已知样点来创建 表面。本节主要对确定性空间插值中的反距离权插值、全局多项式插值、局部多项式插值 和径向基函数插值的概念、原理及在 ArcGIS 中的实现过程进行详细介绍。 10.3.1 反距离加权插值 反距离权(Inverse Distance Weighted,简称 IDW)插值法是基于相近相似的原理:即 两个物体离得近,它们的性质就越相似,反之,离得越远则相似性越小。它以插值点与样 本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大。 图 10.28 正交协方差云图 图 10.29(a) 图 10.29(b) 图 10.29 正交协方差云方向图 393 反距离加权插值法的一般公式如下: 其中, )(ˆ 0sZ 为 s0 处的预测值; N 为预测计算过程中要使用的预测点周围样点的数量; iλ 为预测计算过程中使用的各样点的权重,该值随着样点与预测点之间距离的 增加而减少; )( isZ 是在 is 处获得的测量值。 确定权重的计算公式为: 其中,P 为指数值; di0 是预测点 s0 与各已知样点 si 之间的距离。 样点在预测点值的计算过程中所占权重的大小受参数 p 的影响,即随着采样点与预测 值之间距离的增加,标准样点对预测点影响的权重按指数规律减少。在预测过程中,各样 点值对预测点值作用的权重大小是成比例的,这些权重值的总和为 1。 在 ArcGIS 中利用反距离加权工具进行空间插值的基本步骤为: 1. 在 ArcMap 中加载地统计数据点图层; 2. 单击 Geostatistical Analyst 模块的下拉箭头单击 Geostatistical Wizard 命令, 弹出输入数据与方法选择对话框,如图 10.30 所示; 图 10.30 输入数据和方法选择对话框 394 参数说明: (1) Dataset1 1) Input:选择进行内插的实验数据; 2) Attribute: 选择进行内插的实验数据的属性。 (2) Validation 1) Input:选择进行内插的检验数据; 2) Attribute: 选择进行内插的检验数据的属性。 (3) Method:选择数据的内插方法。 为了检验内插精度,在此选择检验数据。为了能够将表面精确地描绘出来,需保证训 练数据集中有足够的样本。若训练数据集中数据太少或含有异常值,会造成模型参数错误 及输出结果变形。 3. 选择 Inverse Distance Weighting ,单击 Next 按钮, 弹出反距离权内插参数设置对 话框,如图 10.31 所示; 参数设置: (1) Power:即公式中的 p 参数值; (2) Symbol:设置上图中点符号的大小; (3) Preview type 1) Neighbors:预览预测点的效果图; 2) Surface: 预览反距离内插表面生成的效果图。 (4) Method 1) Neighbors to:在搜索半径内使用预测点最大的个数; 2) Include at least:在搜索半径内使用预测点最小的个数; 3) Shape:区域扇区形状的选择。 图 10.31 反距离权内插参数设置对话框 395 4. 单击 Next 按钮, 弹出反距离权内插正交验证对话框,如图 10.32 所示; 图 10.32 中,X 轴代表样点的真实值,Y 轴代表内插出来的样点值,虚线代表理论上的 点值的拟和曲线,实线代表内插出点值的拟合曲线。实线的趋势越与虚线吻合,说明内插 的效果越好。 5. 单击 Next 按钮, 弹出反距离权内插验证对话框,如图 10.33 所示,各参数含义同上; 6. 单击 Finish 按钮, 完成操作,其生成的内插结果图如图 10.34 所示。 利用该方法进行插值时,样点分布应尽可能均匀,且布满整个插值区域。对于不规则 分布的样点,插值时利用的样点往往也不均匀的分布在周围的不同方向上,每个方向对插 图 10.33 反距离权内插验证对话框 图 10.32 反距离权内插正交验证对话框 396 值结果的影响是不同的,插值结果的准确度也会降低。 10.3.2 全局多项式插值 全局性插值方法以整个研究区的样点数据集为基础,用一个多项式来计算预测值,即 用一个平面或曲面进行全区特征拟合。全局多项式插值所得的表面很少能与实际的已知样 点完全重合,所以全局插值法是非精确的插值法。利用全局性插值法生成的表面容易受极 高和极低样点值的影响,尤其在研究区边沿地带,因此用于模拟的有关属性在研究区域内 最好是变化平缓的。全局多项式插值法适用的情况有:1.当一个研究区域的表面变化缓慢, 即这个表面上的样点值由一个区域向另一个区域的变化平缓时,可以采用全局多项式插值 法;2.检验长期变化的、全局性趋势的影响时一般采用全局多项式插值法,在这种情况下 应用的方法通常被称为趋势面分析。 在 ArcGIS 中利用全局多项式插值方法进行空间插值的基本步骤为: 1. 在 ArcMap 中加载地统计数据点图层; 2. 单击 Geostatistical Analyst 模块的下拉箭头单击 Geostatistical Wizard 命令, 弹出输入数据与方法选择对话框,如图 10.35 所示; 3. 选择 Global Polynomial Interpolation 方法,单击 Next 按钮, 弹出全局多项式趋 势拟合对话框,如图 10.36 所示; 参数说明: Power:设置拟合表面多项式的次数。次数越低,拟合的表面越粗糙,实际表面拟合的 图 10.35 输入数据与方法选择对话框 397 效果越差,大致代表了此区域的宏观趋势;次数越高,拟合面越光滑,拟合的结果更 接近实际的表面。但并不是次数越高越好,次数过高使得计算量大大增加而精度提高 不大。因此,一般选用到三次即可。图 10.36(a)和图 10.36(b)分别为二次拟合 及三次拟合的结果图,三次拟合的结果更接近真实情况。 4. 单击 Next 按钮, 弹出全局多项式拟合正交验证对话框,如图 10.37 所示,各参数含 义同前; 5. 单击 Next 按钮, 弹出全局多项式拟合的交叉检验结果,如图 10.38 所示; a. 二次趋势拟合 b. 三次趋势拟合 图 10.36 全局多项式趋势拟合对话框 图 10.37 全局多项式拟合正交验证结果 398 6. 单击 Finish 按钮, 弹出全局多项式内插结果,如图 10.39 所示。 图 10.38 全局多项式拟合的交叉检验结果 图 10.39 全局多项式内插结果 399 10.3.3 局部多项式插值 局部多项式插值采用多个多项式,每个多项式都处在特定重叠的邻近区域内。通过使 用搜索邻近区域对话框定义搜索的邻近区域。局部多项式插值法并非精确的插值方法,但 它能得到一个平滑的表面。建立平滑表面和确定变量的小范围的变异可以使用局部多项式 插值法,特别是数据集中含有短程变异时,局部多项式插值法生成的表面就能描述这种短 程变异。 在局部多项式插值法中,邻近区域的形状、要用到的样点数量的最大值和最小值以及 扇区的构造都需要进行设定。还可以使用另外一种方法,就是通过拖动一个滑块改变参数 值定义邻近区域的宽度,这个参数以预测点与已知样点之间的距离为基础,所用的邻近区 域内的采样点的权重随着预测点与标准点之间距离的增加而减小。因此,局部多项式插值 法产生的表面更多地用来解释局部变异。 在 ArcGIS 中利用局部多项式插值方法进行空间插值的基本步骤为: 1. 在 ArcMap 中加载地统计数据点图层; 2. 单击 Geostatistical Analyst 模块的下拉箭头单击 Geostatistical Wizard 命令, 弹出输入数据与方法选择对话框,如图 10.40 所示; 3. 选择 Local Polynomial Interpolation ,单击 Next 按钮, 弹出局部多项式趋势拟合 对话框,如图 10.41 所示; 参数说明: Power: 设置拟合表面多项式的次数。 滑块值用来设置局部和全局插值的程度。 图 10.40 输入数据与方法选择对话框 400 4. 单击 Next, 弹出局部多项式插值方法的交叉验证结果图,如图 10.42 所示; 5. 单击 Next 按钮, 弹出局部多项式拟合的交叉检验结果图,如图 10.43 所示; 图 10.41 局部多项式趋势拟合对话框 图 10.42 局部多项式插值方法的交叉验证结果 401 6. 单击 Finish 按钮, 完成操作,生成的结果图如图 10.44 所示。 图 10.43 局部多项式拟合的交叉检验结果 图 10.44 局部多项式内插的结果图 402 10.3.4 径向基函数插值 从概念上来说,径向基函数插值法如同将一个软膜插入并经过各个已知样点,同时又 使表面的总曲率最小。它不同于全局多项式和局部多项式插值方法,属于精确插值方法。 所谓精确插值方法就是指表面必须经过每一个已知样点。径向基函数包括五种不同的基本 函数:平面样条函数、张力样条函数、规则样条函数、高次曲面函数和反高次曲面样条函 数。选择何种基本函数意味着将以何种方式使径向基表面穿过一系列已知样点。 径向基函数插值法适用于对大量点数据进行插值计算,同时要求获得平滑表面的情 况。将径向基函数应用于表面变化平缓的表面,如表面上平缓的点高程插值,能得到令人 满意的结果。而在一段较短的水平距离内,表面值发生较大的变化,或无法确定采样点数 据的准确性,或采样点数据具有很大的不确定性时,径向基函数插值的方法并不适用。 在 ArcGIS 中利用径向基函数插值方法进行空间插值的基本步骤为: 1. 在 ArcMap 中加载地统计数据点图层; 2. 单击 Geostatistical Analyst 模块的下拉箭头并单击 Geostatistical Wizard 命令, 弹出方法与数据选择对话框,如图 10.45 所示; 3. 选择 Radial Basis Function ,单击 Next 按钮, 弹出径向基插值方法的参数设置对 话框,如图 10.46 所示; 参数说明: Kernel 下拉菜单中提供了几种进行插值的基本函数: (1) Thin-plate spline:平面样条函数 (2) Spline with tension:张力样条函数 图 10.45 方法与数据选择对话框 403 (3) Completely regularized spline:规则样条函数 (4) Multiquadric functions:高次曲面函数 (5) Inwerse multiquadric spline:反高次曲面样条函数 在 Parameter 对话框中可以设置控制表面光滑度的参数。对于反高次曲面样条函数而 言,控制表面光滑度的参数越大,得到的表面越不平滑;对于其它径向基函数而言,控制 表面光滑度的参数越大,得到的表面越平滑。 4. 单击 Next 按钮, 弹出径向基插值方法的交叉验证结果,如图 10.47 所示; 图 10.47 径向基插值方法的交叉验证结果 图 10.46 径向基插值方法参数设置对话框 404 5. 单击 Next 按钮, 弹出径向基插值方法的验证结果,如图 10.48 所示; 6. 单击 Finish 按钮, 完成操作,生成的内插结果如图 10.49 所示。 图 10.48 径向基插值方法的验证结果 图 10.49 径向基插值结果图 405 10.4 地统计插值 10.4.1 克里格插值基础 1. 克里格方法概述 克里格方法(Kriging)是以空间自相关性为基础,利用原始数据和半方差函数的结 构性,对区域化变量的未知采样点进行无偏估值的插值方法,是地统计学的主要内容之一。 南非矿产工程师 D.R.Krige(1951 年)在寻找金矿时首次运用这种方法,法国著名统计学 家 G.Matheron 随后将该方法理论化、系统化,并命名为 Kriging,即克里格方法。 用克里格方法进行插值的主要步骤如图 10.50 所示。 在克里格插值过程中,需注意以下几点: (1) 数据应符合前提假设; (2) 数据应尽量充分,样本数尽量大于 80,每一种距离间隔分类中的样本对数尽量多于 导入数据 数据分析 是否服从 正态分布 是 否 是否存 在趋势 否 是 数据变换 泛克里格方法 根据数据选择 合适的方法 计算样点间的 距离矩阵 计算样点间的 属性方差 按距离分组 按组统计平均距离 及对应的平均方差 绘制方差 变异云图 绘制经验半变 异函数图 拟合理论半变 异函数图 计算克里格系数 进行预测 图 10. 50 克里格方法的主要步骤 406 10 对; (3) 在具体建模过程中,很多参数是可调的,且每个参数对结果的影响不同。 1) 块金值:误差随块金值的增大而增大; 2) 基台值:对结果影响不大; 3) 变程:存在最佳变程值; 4) 拟合函数:存在最佳拟合函数; (4) 当数据足够多时,各种插值方法的效果基本相同。 2. 克里格方法的分类及适用条件 目前,克里格方法主要有以下几种类型:普通克里格(Ordinary Kriging)、简单克 里格(Simple Kriging)、泛克里格(Universal Kriging)、协同克里格(Co-Kriging)、 对数正态克里格(Logistic Normal Kriging)、指示克里格(Indicator Kriging)、概率 克里格(Probability Kriging)和析取克里格(Disjunctive Kriging)等。下面简要介 绍 ArcGIS 中常用的几种克里格方法的适用条件,其具体的算法、原理可查阅相关文献资 料。 不同的方法有其适用的条件,按照图 10.50 所示步骤,当数据不服从正态分布时,若 服从对数正态分布,则选用对数正态克里格;若不服从简单分布时,选用析取克里格;当 数据存在主导趋势时,选用泛克里格;当只需了解属性值是否超过某一阈值时,选用指示 克里格;当同一事物的两种属性存在相关关系,且一种属性不易获取时,选用协同克里格 方法,借助另一属性实现该属性的空间内插;当假设属性值的期望值为某一已知常数时, 选用简单克里格;当假设属性值的期望值是未知的,选用普通克里格。 10.4.2 普通克里格插值 普通克里格(Ordinary Kriging)是区域化变量的线性估计,它假设数据变化成正态 分布,认为区域化变量 Z 的期望值是未知的。插值过程类似于加权滑动平均,权重值的确 定来自于空间数据分析。 ArcGIS 中普通克里格插值包括 4 部分功能:创建预测图(Prediction Map)、创建分 位数图(Quantile Map)、创建概率图(Probability Map)和创建标准误差预测图 (Prediction Standard Error Map)。 1. 创建预测图(Prediction Map) 在 ArcGIS 中的实现步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 模块的下拉箭头并单击 Geostatistical Wizard 命令; (4) 在弹出的对话框(图 10.51)中,在 Dataset 选择训练数据 jsGDP_test_training 及其属 性 GDP,在 Validation 中选择检验数据 jsGDP_test_test 及其属性 GDP,选择 Kriging 内插方法,单击 Next 按钮; 407 (5) 在弹出的对话框(图 10.52)中,展开普通克里格(Ordinary Kriging),单击预测图 (Prediction Map),DataSet1 的 Transformation 里选择 log 变换方式,单击 Next 按钮; (6) 在 Semivariogram/Covariance Modeling 对话框(图 10.53)中,选中 Show Search Direction 选项,移动左图中的搜索方向,单击 Next 按钮; 图 10.52 统计内插方法选择对话框 图 10.51 输入数据和方法选择对话框 408 (7) 在 Searching Neighborhood 对话框(图 10.54),单击 Next 按钮; (8) 在 Cross Validation 对话框(图 10.55)中,列出对上述参数的训练数据模型精度评价。 在对不同参数得到模型的比较中,可参考 Prediction Error 中的几个指标。符合以 下标准的模型是最优的:标准平均值(Mean Standardized)最接近于 0,均方根预 测误差(Root-Mean-Square)最小,平均标准误差(Average Mean Error)最接近 图 10.53 半变异/协方差模型对话框 图 10.54 邻域搜索对话框 409 于均方根预测误差(Root-Mean-Square),标准均方根预测误差(Root-Mean-Square Standardized)最接近于 1。单击 Next 按钮; (9) 在 Validation 对话框(图 10.56)中,单击 Finish 按钮。普通克里格法内插结果图如图 10.57。 图 10.55 交叉验证对话框 图 10.56 验证对话框 410 2. 创建分位数图(Quantile Map) 以类似方法可创建普通克里格的分位数图,对 jsGDP_training 创建分位数图的结果如 图 10.58 所示。 3. 创建概率图(Probability Map) 图10.57 普通克里格内插生成的预测图 图 10.58 普通克里格内插生成的四分位图 411 以类似方法可创建普通克里格的概率图,对 jsGDP_training 创建概率图的结果如图 10.59 所示。 4. 创建标准误差预测图(Prediction Standard Error Map) 以类似方法可创建普通克里格的标准误差预测图,对 jsGDP_training 创建标准误差预 测图的结果如图 10.60 所示。 图 10.59 普通克里格内插生成的概率图 图 10.60 普通克里格内插生成的标准误差预测图 412 10.4.3 简单克里格插值 简单克里格是区域化变量的线性估计,它假设数据变化成正态分布,认为区域化变量 Z 的期望值为已知的某一常数。ArcGIS 中简单克里格插值包括 4 部分功能:创建预测图 (Prediction Map)、创建分位数图(Quantile Map)、创建概率图(Probability Map)、 创建标准误差预测图(Prediction Standard Error Map)。 1. 创建预测图(Prediction Map) 在 ArcGIS 中的实现过程与普通克里格的方法相似,具体步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在弹出的对话框中,Dataset 选项卡中选择训练数据 jsGDP _training 及其属性 GDP, Validation 选项卡中选择检验数据 jsGDP _test 及其属性 GDP,选择 Kriging 内插方法, 单击 Next 按钮; (5) 在弹出的对话框中,展开简单克里格( Simple Kriging),单击预测图(Prediction Map), DataSet1 的 Transformation 里选择 Log 变换,平均值(Mean)设为 20651,单击 Next 按钮; (6) 在 Semivariogram/Covariance Modeling 对话框中,选中 Show Search Direction 复选框, 移动左图中的搜索方向,单击 Next 按钮; (7) 在 Searching Neighborhood 对话框,单击 Next 按钮; (8) 在 Cross Validation 对话框中,单击 Next 按钮; (9) 在 Validation 对话框中,单击 Finish 按钮。简单克立格法内插结果如图 10.61 所示。 图 10.61 简单克里格内插生成的预测图 413 2. 创建分位数图(Quantile Map) 以类似方法可创建简单克里格的分位数图,对 jsGDP_training 创建分位数图的结果如 图 10.62 所示。 3. 创建概率图(Probability Map) 以类似方法可创建简单克里格的概率图,对 jsGDP_training 创建概率图的结果如图 10.63 所示。 图 10.62 简单克里格内插生成的分位数图 图 10.63 简单克里格内插生成的概率图 414 4. 创建标准误差预测图(Prediction Standard Error Map) 以类似方法可创建简单克里格的标准误差预测图,对 jsGDP_training 创建标准误差预 测图的结果如图 10.64 所示。 10.4.4 泛克里格插值 泛克里格假设数据中存在主导趋势,且该趋势可以用一个确定的函数或多项式来拟 合。在进行泛克里格分析时,首先,分析数据中存在的变化趋势,获得拟合模型;其次, 对残差数据(即原始数据减去趋势数据)进行克里格分析;最后,将趋势面分析和残差分 析的克里格结果加和,得到最终结果。由此可见,克里格方法明显优于趋势面分析,泛克 里格的结果也要优于普通克里格的结果。 ArcGIS 中泛克里格插值包括 4 部分功能:创建预测图(Prediction Map)、创建分位 数图(Quantile Map)、创 建 概 率 图( Probability Map)、创 建 标 准 误差预测图(Prediction Standard Error Map)。 1. 创建预测图(Prediction Map) 在 ArcGIS 中的实现过程与普通克里格的方法类似,具体步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在弹出的对话框中,Dataset 选项卡中选择训练数据 jsGDP _training 及其属性 GDP, 图 10.64 简单克里格内插生成的标准误差预测图 415 Validation 选项卡中选择检验数据 jsGDP _test 及其属性 GDP,选择 Kriging 内插 方法,单击 Next 按钮; (5) 在弹出的对话框(图 10.65)中,展开泛克里格(Universal Kriging),单击预测图 (Prediction Map),DataSet1 的 Transformation 里选择 Log 变换,趋势选项中选择 Third(在前面的趋势分析中,jsGDP_training 存在三次趋势),单击 Next 按钮; (6) 在 Detrenting 对话框(图 10.66)中,单击 Next 按钮; 图 10.65 地统计内插方法选择对话框 图 10.66 剔出趋势对话框 416 (7) 在 Semivariogram/Covariance Modeling 对话框中,选中 Show Search Direction 复选框,移动左图中的搜索方向,单击 Next 按钮; (8) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (9) 在 Cross Validation 对话框中,单击 Next 按钮; (10) 在 Validation 对话框中,单击 Finish 按钮。泛 克 立 格 法 内插结果如图 10.67 所 示。 2. 创建分位数图(Quantile Map) 以类似方法可创建泛克里格的分位数图,对 jsGDP_training 创建分位数图的结果如图 10.68 所示。 图 10.67 泛克里格内插生成的预测图 417 3. 创建概率图(Probability Map) 以类似方法可创建泛克里格的概率图,对 jsGDP_training 创建概率图的结果如图 10.69 所示。 4. 创建标准误差预测图(Prediction Standard Error Map) 图 10.68 泛克里格内插生成的四分位图 图 10.69 泛克里格内插生成的概率图 418 以类似方法可创建泛克里格的标准误差预测图,对 jsGDP_training 创建标准误差预测 图的结果如图 10.70 所示。 10.4.5 指示克里格插值 多数情况下,并不需要了解区域内每一个点的属性值,而只需了解属性值是否超过某 一阈值,则可将原始数据转换为二进制变量,即以(0,1)值表示,选用指示克里格法 (Indicator Kriging)进行分析。应用二进制变量后,指示克里格法的预测精度超过了 普通克里格法。因为指示变量值是 0 或 1,所以未知点的插值结果在 0 到 1 之间,因此由 指示克里格法获得的预测结果可以解释成变量的预测值为 1 的概率。ArcGIS 中指示克里格 插值包括 2 部分功能:创建概率图(Probability Map)和创建标准误差指示图(Standard Error of Indicator Map)。 1. 创建概率图(Probability Map) 在 ArcGIS 中的实现步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在弹出的对话框中,Dataset1 选项卡中选择训练数据 jsGDP _training 及其属性 GDP, Validation 选项卡中选择检验数据 jsGDP _test 及其属性 GDP,选择 Kriging 内插方法, 单击 Next 按钮; 图 10.70 泛克里格内插生成的标准误差预测图 419 (5) 展开指示克里格( Indicator Kriging),单击概率图(Probability Map),Primary Threshold 对话框中的阈值按默认值设置,单击 Next 按钮; (6) 在 Additional Cutoffs Selection 对话框(图 10.71),单击 Next 按钮; (7) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (8) 在 Cross Validation 对话框中,单击 Next 按钮; (9) 在 Validation 对话框中,单击 Finish 按钮。指示克立格法内插结果如图 10.72 所示。 图 10.71 去除离群值对话框 图 10.72 指示克里格内插生成的概率图 420 2. 创建标准误差指示图(Standard Error of Indicators) 以类似方法可创建指示克里格的标准误差指示图,对 jsGDP_training 创建标准误差指 示图的结果如图 10.73 所示。 10.4.6 概率克里格插值 ArcGIS 中概率克里格插值包括 2 部分功能:创建概率图(Probability Map)和创建 标准误差指示图(Standard Error of Indicator Map)。 1. 创建概率图(Probability Map) 在 ArcGIS 中的实现过程与指示克里格的方法类似,具体步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在 Dataset 选项卡中选择训练数据 jsGDP _training 及其属性 GDP,在 Validation 选项 卡中选择检验数据 jsGDP _test 及其属性 GDP,选择 Kriging 内插方法,单击 Next 按 钮; (5) 展开概率克里格(Probability Kriging),单击概率图(Probability Map),单击 Next 按钮; (6) 在 Semivariogram/Covariance Modeling 对话框中,选中 Show Search Direction 复选框, 移动左图中的搜索方向,单击 Next 按钮; 图 10.73 指示克里格内插生成的标准误差指示图 421 (7) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (8) 在 Cross Validation 对话框中,单击 Next 按钮; (9) 在 Validation 对话框中,单击 Finish 按钮。概率克立格法内插结果如图 10.74 所示。 2. 创建标准误差指示图(Standard Error of Indicators) 以类似方法可创建概率克里格的标准误差指示图,对 jsGDP_training 创建标准误差指 示图的结果如图 10.75 所示。 图 10.74 概率克里格内插生成的概率图 图 10.75 概率克里格内插生成的标准误差指示图 422 10.4.7 析取克里格插值 如果原始数据不服从简单分布(高斯或对数正态等),则可选用析取克里格法 (Disjunctive Kriging),它可以提供非线性估值方法。ArcGIS 中析取克里格插值包括 4 部分功能:创建预测图(Prediction Map)、创建概率图(Probability Map)、创建标准 误差预测图(Prediction Standard Error Map)和创建标准误差指示图(Standard Error of Indicator Map)。 1. 创建预测图(Prediction Map) 在 ArcGIS 中的实现过程与普通克里格的方法类似,具体步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在 Dataset 选项卡中选择训练数据 jsGDP _training 及其属性 GDP,在 Validation 选项 卡中选择检验数据 jsGDP _test 及其属性 GDP,选择 Kriging 内插方法,单击 Next 按 钮; (5) 展开析取克里格(Disjunctive Kriging),单击预测图(Prediction Map),DataSet1 的 Transformation 里选择 Log 变换,单击 Next 按钮; (6) 在 Normal Score Transformation 对话框(图 10.76),单击 Next 按钮; (7) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (8) 在 Cross Validation 对话框中,单击 Next 按钮; 图 10.76 NST 变换对话框 423 (9) 在 Validation 对话框中,单击 Finish 按钮。析取克立格法内插结果如图 10.77 所示。 2. 创建概率图(Probability Map) 在 ArcGIS 中的实现过程与指示克里格的方法类似,对 jsGDP_training 创建概率图的 结果如图 10.78 所示。 图 10.77 析取克里格内插生成的预测图 图 10.78 析取克里格内插生成的概率图 424 3. 创建标准误差预测图(Prediction Standard Error Map) 在 ArcGIS 中的实现过程与普通克里格的方法类似,对 jsGDP_training 创建标准误差 预测图的结果如图 10.79 所示。 4. 创建标准误差指示图(Standard Error of Indicators) 在 ArcGIS 中的实现过程与指示克里格的方法类似,对 jsGDP_training 创建标准误差 指示图的结果如图 10.80 所示。 图 10.80 析取克里格内插生成的标准误差指示图 图 10.79 析取克里格内插生成的标准误差预测图 425 10.4.8 协同克里格插值 当同一空间位置样点的多个属性之间存在某个属性的空间分布与其它属性密切相关, 且某些属性获得不易,而另一些属性则易于获取时,如果两种属性空间相关,可以考虑选 用协同克里格法。协同克里格法把区域化变量的最佳估值方法从单一属性发展到二个以上 的协同区域化属性。但它在计算中要用到两属性各自的半方差函数和交叉半方差函数,比 较复杂。 其在 ArcGIS 中的实现步骤为: (1) 在 ArcMap 中加载 jsGDP _training 和 jsGDP _test; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 下的 Geostatistical Wizard 命令; (4) 在弹出的对话框(图 10.81)中,在 Dataset1 选项卡中选择训练数据 jsGDP _training 及其属性 GDP,在 Validation 选项卡中选择检验数据 jsGDP _test 及其属性 GDP,单 击 Dataset2,选择训练数据 jsGDP _training 及其属性 POPULATION,选择 CoKriging 内插方法,单击 Next 按钮; (5) 根据数据情况可选择上述六种克里格方法中的任意一种,例如选择展开普通克里格 (Ordinary Kriging),单击预测图(Prediction Map),单击 Next 按钮; (6) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (7) 在 Cross Validation 对话框中,单击 Finish 按钮。协同克立格法内插结果如图 10.82 所示。 图 10.81 输入数据和方法选择的对话框 426 10.5 练习:克里格方法内插生成高程曲面 1. 背景:现有某地区一系列高程采样点,需要通过内插生成该地区的高程层面,为后续 研究提供合理的数据层面信息。 2. 目的:地统计模块中提供了六种克里格插值方法,每种方法的原理及适用范围不尽相 同。通过练习熟练掌握并理解每种克里格方法的原理及实现过程,体会在具体应用中 的适应性。 3. 要求:根据数据特征,至少选用一种克里格方法内插生成高程表面,并分析对于此例, 该方法的适用性。有能力的同学可选用多种克里格方法进行插值,并比较对于此例不 同方法的优劣。 4. 数据:某地区的高程采样点(jyg.shp);数据存放于…\ChP10\ex1,请将其拷贝到 E: /ChP10/Ex1。结果数据存放于…\ChP10\Ex1\Result 中。 5. 操作步骤: (1) 在 ArcMap 中加载 jyg.shp; (2) 右击工具栏,启动地理统计模块 Geostatistical Analyst; (3) 单击 Geostatistical Analyst 模块的下拉箭头并单击 Create Subsets 命令; 图 10.82 协同克里格内插生成的预测图 427 (4) 在弹出的对话框中,Input 选项选择 需要生成子集的数据 jyg,单击 Next 按钮; (5) 通过滑块设置训练子集与检验子集 的 比 例 ,在 Output Personal Geodatabase 中设置子集的输出路 径 及 名称,单击完成按钮(图 10.83); (6) 单击选中 jyg_training 层面,再单 击 Geostatistical Analyst 模块的 下拉箭头选择 Explore Data 并单击 Histogram 命 令 , 或 单 击 Geostatistical Analyst 模块的下 拉箭头选择 Explore Data 并单击 Normal QQPlot 命令,生成结果如图 10.84 所示。 由图 10.84 可知,数据分布符合正态分布的假设,不需要进行数据变换; (7) 单击 Geostatistical Analyst 模块的下拉箭头选择 Explore Data 并单击 Trend Analysis 命令,查看数据是否存在趋势,如图 10.85 所示。由图可看出,南北方向 (较粗的黑线)不存在趋势,而东西方向上(较细的黑线)有明显的东高西低的趋 势出现,因此需要用一次曲面拟合,在后续剔出趋势的操作中选择 First; 图 10.83 生成数据子集的参数设置对话框 a. 数据的直方图 b. 数据的正态 QQPlot 图 图 10.84 数据分布检验图 428 (8) 单击 Geostatistical Analyst 模块的下拉箭头并单击 Geostatistical Wizard 命令; (9) 在 Dataset1 选项卡中选择训练数据 jyg_training 及其属性 STATION,在 Validation 选项卡中选择检验数据 jyg_test 及其属性 STATION,在 Methods 中选择 Kriging 内 插方法,最后单击 Next 按钮; (10) 展开泛克里格( Universal Kriging),单击预测图(Prediction Map),在 DataSet1 选项卡中的 Transformation 里选择 None 变换方式,在 Order of Trend 里选择 First, 单击 Next 按钮(图 10.86); 图 10.85 数据趋势检验对话框 图 10.86 内插方法选择对话框 429 (11) 在 Detrending 对话框中,单击 Next 按钮。(图 10.87); (12) 在 Semivariogram/Covariance Modeling 对话框中(图 10.88),先按照默认参数 进行操作,在得到对模型精度评定的结果后,发现结果误差太大,返回更改该对话 框中的参数。经比较发现,将分组数 Number of 设为 10 得到的结果较好。需注意的 是,在设置分组数时,尽量保证每组中的样点对数大于 10。最后单击 Next 按钮; 图 10.87 趋势去除示意图 图 10.88 半变异/协方差建模参数设置对话框 430 (13) 在 Searching Neighborhood 对话框中,单击 Next 按钮; (14) 在 Cross Validation 对话框中,显示了对模型的精度的评价,如图 10.89 所示。 在对不同参数得到模型的比较中,可参考 Prediction Error 中的几个指标。符合以 下标准的模型是最优的:标准平均值(Mean Standardized)最接近于 0,均方根预 测误差(Root-Mean-Square)最小,平均标准误差(Average Mean Error)最接近 于均方根预测误差(Root-Mean-Square),标准均方根预测误差(Root-Mean-Square Standardized)最接近于 1。最后单击 Next 按钮; (15) 在 Validation 对话框中,单击 Finish 按钮。泛克立格法内插结果如图 10.90 所 图 10.89 交叉验证结果 图 10.90 泛克里格内插生成的预测图 431 示; (16) 双击 jyg 层面,在 弹 出 的 属 性 对 话框中,选择 Symbology 选项卡,展开 Quantities 列表,选中 Graduated Symbols,在 Value 中选择 STATION,将符号大小的变化范围 Symbol Size from…to…里改为 4 到 16,如图 10.91 所示,单击应用按钮,再单击 确定按钮; (17) 将内插生成的层面与 jyg 叠加显示,如图 10.92 所示; 图 10.91 层面属性设置对话框 图 10.92 叠加显示结果图 432 (18) 右 键 单 击 Universal Kriging 图层,单击 Data 菜单 下 Export to Raster 命令,将 图层输出为栅格数据,在弹出 的对话框中设置栅格数据的栅 格大小、保存路径、名称等参 数,设置完成后点击 OK 按钮(如 图 10.93 所示),并将生成的栅 格层面 jyggrid 添加到视图中。 双击 jyggrid 层面,在弹出的 属性对话框中,选择 Symbology 选项卡,点击 Classified,在 分级级数对话框 Classes 中选择 10 级,在 Color Ramp 下拉菜单中选择黄色渐变色, 如图 10.94 所示,单击确定,最后单击菜单 File 下的 Save 命令保存此地图文档, 命名为 chp10.mxd。 由图上可以看出,原始数据点层按高程值的大小以符号大小来表示,预测表面也是按 高程值的大小以颜色深浅来表示。两个层面都表现出东高西低的趋势,与前面趋势分析的 结果也一致。在 图 幅 的中心位置,数据点的值相差不大,在预测表面上也以同一颜色表示。 而在图幅的右上角,两侧的数据点比中间的数据点高程值略大,在预测表面上也表现出这 一特点。通过以上分析可以看出,对于此例,利用泛克里格方法进行内插是适合的。 图 10.93 转换为栅格数据的参数设置对话框 图 10.94 层面属性设置对话框 433 第十一章 水文分析 水文分析是 DEM 数据应用的一个重要方面。利用 DEM 生成的集水流域和水流网络, 成为大多数地表水文分析模型的主要输入数据。表面水文分析模型研究与地表水流有关的 各种自然现象例如洪水水位及泛滥情况,划定受污染源影响的地区,预测当某一地区的地 貌改变时对整个地区将造成的影响等。 基于 DEM 地表水文分析的主要内容是利用水文分析工具提取地表水流径流模型的水 流方向、汇流累积量、水流长度、河流网络(包括河流网络的分级等)以及对研究区的流 域进行分割等。通过对这些基本水文因子的提取和分析,可再 现水流的流动过程,最终完成水文分析过程。 本章主要介绍 ArcGIS 水文分析模块的应用。ArcGIS 提供 的水文分析模块主要用来建立地表水的运动模型,辅助分析地 表水流从哪里产生以及要流向何处,再现水流的流动过程。同 时,通过水文分析工具的应用,有 助 于 了解排水系统和地表水 流过程的一些基本概念和关键过程。 ArcGIS 将水文分析中的地表水流过程集合到 ArcToolbox 里,如图 11.1 所示。主要包括水流的地表模拟过程中的水流 方向确定、洼地填平、水流累计矩阵的生成、沟谷网络的生成 以及流域的分割等。 本章 1 至5 节主要是依据水文分析中的水文因子的提取过 程对 ArcGIS 中的水文分析工具逐一介绍。文中所用的 DEM 数据在光盘中 chp11 文件夹下的 tutor 文件夹里面,每个计算 过程以及每一节所产生的数据存放在tutor 文件夹的result文件 夹里面,文 件名与书中所命名相同,读者可以利用该数据进行 参照练习。本章最后一节还提供了三个水文分析应用的实例。 11.1 无洼地 DEM 生成 DEM 一般被认为是比较光滑的地形表面的模拟,但是由于内插的原因以及一些真实 地形(如喀斯特地貌)的存在,使得 DEM 表面存在着一些凹陷的区域。这些区域在进行 地表水流模拟时,由于低高程栅格的存在,使得在进行水流流向计算时在该区域得到不合 理的或错误的水流方向。因此,在进行水流方向的计算之前,应该首先对原始 DEM 数据 进行洼地填充,得到无洼地的 DEM。 洼地填充的基本过程是先利用水流方向数据计算出 DEM 数据中的洼地区域,然后计 图 11.1 ArcToolBox 中的 水文分析模块 434 算出这些的洼地区域的洼地深度,最后以这些洼地深度为参考而设定填充阈值进行洼地填 充。 11.1.1 水流方向提取 水流方向是指水流离开每一个栅格单元时的指向。在 ArcGIS 中通过将中心栅格的 8 个邻域栅格编码,水流方向便可由其中的某一值来确定,栅格 方向编码如图 11.2 所示。 例如:如果中心栅格的水流流向左边,则其水流方向被赋 值为 16。输出的方向值以 2 的幂值指定是因为存在栅格水流 方向不能确定的情况,此时需将数个方向值相加,这样在后续 处理中从相加结果便可以确定相加时中心栅格的邻域栅格状 况。 水流的流向是通过计算中心栅格与邻域栅格的最大距离权落差来确定。距离权落差是 指中心栅格与邻域栅格的高程差除以两栅格间的距离,栅格间的距离与方向有关,如果邻 域栅格对中心栅格的方向值为 2、8、32、128,则栅格间的距离为 2 倍的栅格大小,否 则距离为 1。 ArcGIS 中的水流方向是利用 D8 算法(最大距离权落差)来计算水流方向的。具体计 算步骤如下: 1. 在 ArcMap 中单击 ArcToolbox 图标,启动 ArcToolbox; 2. 展开 Spatial Analysis Tools 工具箱,打开 Hydrology 工具集; 3. 双击 Flow Direction 工具,弹出(如图 11.3 所示)水流方向(Flow Direction) 计算对话框; (1) Input surface data 文本框中选择输入的 DEM 数据:dem。 (2) 在 Output flow direction raster 文本框中 命名计算出来的水流方向文件名为 flowdir,并选择保存路径; (3) 若选中 Force all edge cells to flow outward(Optional)前的复选框,指所有 在 DEM 数据边缘的栅格的水流方向全 部是流出 DEM 数据区域。默认为不选择。这一步为可选步骤; (4) 输出 drop raster。drop raster 是该栅格在其水流方向上与其临近的栅格之间的高程差与 距离的比值,以百分比的形式记录,它反映了在整个区域中最大坡降的分布情况。这 一步为可选步骤; (5) 单击 OK 按钮,完成操作。按钮,完成操作。计算出的水流方向数据结果如图 11.4 图 11.2 水流流向编码 图 11.3 水流方向 Flow Direction 计算对话框 435 所示。 11.1.2 洼地计算 洼地区域是水流方向不合理的地方,可以通过水流方向来判断哪些地方是洼地,然后 对洼地填充。但是,并不是所有的洼地区域都是由于数据的误差造成的,有很多洼地是地 表形态的真实反映。因此,在进行洼地填充之前,必须计算洼地深度,判断哪些地区是由 于数据误差造成的洼地而哪些地区又是真实的地表形态,然后在洼地填充的过程中,设置 合理的填充阈值。 1. 洼地提取 (1) 双击 Hydrology 工具集中的 Sink 工具, 弹出洼地计算对话框,如图 11.5 所示; (2) 在 Input flow direction raster 文本框中, 选择水流方向数据 flowdir; (3) 在 Output raster 文本框中,选择存放的 路径以及重新命名输出文件为 sink; 图 11.4 利用 Flow Direction 工具计算出来的水流方向图 图 11.5 洼地计算对话框 436 (4) 单击 OK 按钮,完成操作。计算结果如图 11.6 所示,深色的区域是洼地。 2. 洼地深度计算 (1) 双击 Hydrology 工具集中的 Watershed 工具,弹出流域计算对话框,如图 11.7 所示, 它用来计算洼地的贡献区域; (2) 在 Input flow direction raster 文本框中 选择水流方向数据 flowdir,在 Input raster or feature pour point 文本框中选 择洼地数据 sink,在 pour point field 文本框中选择 value; (3) 在 Output raster 文本框中设置输出数 据的名称为 watershsink; (4) 单击 OK 按钮,完成操作。计算出的 洼地贡献区域如图 11.8 所示; 图 11.7 洼地贡献区域计算对话窗口(watershed) 图 11.6 计算出来的洼地区域 437 (5) 计算每个洼地所形成的贡献区域的最低高程; 1) 打开 Spatial Analysis Tools 工具箱中 Zonal 工具集,双击 Zonal Statistic 工具,弹 出如图 11.9 所示的分区统计对话 框; 2) 在 Input raster or feature zonal data 文本框中,选择洼地贡献区域数据 watershsink; 3) 在 Input value raster 文本框中选择 dem 作为 value raster; 4) 在 Output raster 文本框中将输出数 据文件命名为 zonalmin,存放路径 保持不变; 5) 在统计类型选择的下拉菜单中选 择最小值(MINIMUM)作为统计 类型; 6) 单击 OK 按钮,完成操作。 (6) 计算每个洼地贡献区域出口的最低高程即洼地出水口高程; 1) 打开 Spatial Analysis Tools 工具箱中 Zonal 工具集,双击 Zonal Fill 工具,弹出如 图 11.10 所示的 Zone Fill 对话框; 2) 在 Input zone raster 文本框中选择 watershsink,在 Input weight raster 文本框中选择 dem,在 Output raster 文本框中将输出数据命名改为 zonalmax; 3) 单击 OK 按钮,完成操作。 图 11.8 计算出来的洼地贡献区域 图 11.9 分区统计对话框 438 (7) 计算洼地深度。 1) 在 ArcMap 中加载 Spatial Analyst 模块,单击 Spatial Analyst 模块的下拉箭头,单 击 Raster Calculator 命令,弹出 Raster Calculator 对话框,如图 11.11 所示; 2) 在文本框里面输入 sinkdep = ( [zonalmax] - [zonalmin]),然后单击 evaluate 按钮进 行计算。 对于以上(5)、(6)步的计算,可以利用 Spatial Analysis Tools 工具箱中的 Map Algebra 工具集的 Multi Map Output 工具。如图 11.12 所示。 对于第(5)步,在文本框中输入:E:\chp11\tutor\result\zonalmin = zonalmin (E:\chp11\tutor\result\watershsink, E:\chp11\tutor \dem); 对于第(6)步,在文本框中输入:E:\chp11\tutor\result\zonalmax = zonalfill (E:\chp11\tutor\result \watershsink, E:\chp11\tutor \dem); 经过以上七步的运算,就可到所有洼地贡献区域的洼地深度,如图11.13所示。通过对 研究区地形的分析,可以确定出哪些洼地区域是由数据误差而产生,哪些洼地区域又是真 实的反映地表形态,从而根据洼地深度来设置合理的填充阈值。 图 11.11 洼地深度计算对话框 图 11.10 洼地贡献区域边缘最低高程计算对话框 图 11.12 map algebra 计算对话框 439 11.1.3 洼地填充 洼地填充是无洼地 DEM 生成的最后一个步骤。通过洼地提取之后,可以了解原始的 DEM 上是否存在着洼地,如果 没 有 存在洼地,原始 DEM 数据就可以直接用来进行河网生 成、流域分割等。而洼地深度的计算又为在填充洼地时设置填充阈值提供了很好的参考。 1. 双击 Hydrology 工具集中的 Fill 工具,弹出如图 11.14 所示的洼地填充对话框; 2. 在 Input surface raster 文本框中,选择 需要进行洼地填充的原始DEM数据; 3. 在 Output surface raster 文本框中设置 输出文件名为 filldem; 4. 在 Z limit 文本框中输入阈值,在洼地 填充过程中,那些洼地深度大于阈值 的地方将作为真实地形保留,不予填 充;系统默认情况是不设阈值,即所 有的洼地区域都将被填平。 5. 单击 OK 按钮,完成操作。计算后的 无洼地 DEM 如图 11.15 所示。 图 11.14 洼地填充对话框 图 11.13 计算出的洼地深度图 440 当一个洼地区域被填平之后,这个区域与附近区域再进行洼地计算,可能还会形成新 的洼地。因此,洼地填充是一个不断反复的过程,直到所有的洼地都被填平,新的洼地不 再产生为止。 11.2 汇流累积量 在地表径流模拟过程中,汇流累积量是基于水流方向数据计算得到的。汇流累积量的 基本思想是认为以规则格网表示的数字地面高程模型每点处有一个单位的水量,按照自然 水流从高处流往低处的自然规律,根据区域地形的水流方向数据计算每点处所流过的水量 数值,便得到了该区域的汇流累积量。由水流方向数据到汇流累积量计算的过程如图 11.16 所示。 图 11.15 经过洼地填充生成的无洼地 DEM 图 11.16 汇流累积量的计算 水流方向数据 汇流累积数据 441 1. 基于无洼地 DEM 的水流方向的计算。计算过程同上一节水流方向的计算一样,使用 的 DEM 数据是无洼地 DEM。将生成的水流方向文件命名为 fdirfill; 2. 在得到水流方向之后,可以利用水流方 向数据计算汇流累积量。双击 Hydrology 工具集中的 Fill Accumulation 工具,打开汇流累积量计算对话框。如 图 11.17 所示; (1) 在 Input flow direction raster 文本框中, 选择由无洼地 DEM 生成的水流方向栅 格数据 fdirfill; (2) 在 Output accumulation raster 文本框中 输出数据命名为 flowacc; (3) 在 Input weight raster 文本框中输入权重数据,权重数据一般是考虑到降水、土壤以 及植被等对径流影响的因素分布不平衡而得到的,对每一个栅格赋权重能更详细模 拟该区域的地表特征。如果无权重数据,系统默认所有的栅格的权重为 1; (4) 单击 OK 按钮,完成操作。结果如图 11.18 所示。 11.3 水流长度 水流长度通常是指在地面上一点沿水流方向到其流向起点(或终点)间的最大地面距 图 11.18 通过计算生成的汇流累积量数据 图 11.17 汇流累积量计算对话框 442 离在水平面上的投影长度。水流长度直接影响地面径流的速度,从而影响对地面土壤的侵 蚀力。因此,水流长度的提取和分析在水土保持工作中有很重要的意义。目前,在 ArcGIS 中水流长度的提取方式主要有两种:顺流计算和溯流计算。顺流计算是计算地面上每一点 沿水流方向到该点所在流域出水口的最大地面距离的水平投影;溯流计算是计算地面上每 一点沿水流方向到其流向起点的最大地面距离的水平投影。 ArcGIS 中水流长度的提取操作如下: 1. 双击 Hydrology 工具集中的 Flow Length 工具,弹出计算水流长度的对话 框,如图 11.19 所示; 2. 在 Input flow direction raster 文本框中 选择基于无洼地 DEM 提取出的水流方 向数据 fdirfill; 3. 在 Output raster 文本框中命名输出的水 流长度栅格数据文件名称。分 别 进行顺 流计算和溯流计算,输 出 的数据文件分 别命名为 Flowlendown 和 Flowlenup; 4. 计算方向可以选择 Downstream(顺流 计算)或 Upstream(朔流计算); 5. 输入权重数据。顺流计算时,结果表示沿着水流方向到下游流域出水口中最长距离所 流经的栅格数;溯流计算时,结果表示沿着水流方向到上游栅格的最长的距离的栅格 数; 6. 当设置完成后,单击 OK 按钮,完成操作。 两种方向计算出的结果如图 11.20 和图 11.21 所示。 图 11.19 flow length 的计算窗口 443 11.4 河网的提取 基于 DEM 的水文分析,其中一个内容就是要得到地表的水流网络。目前常用的河网 提取方法是地表径流漫流模型:首先在无洼地 DEM 上利用最大坡降法得到每一个栅格的 水流方向;然后利用水流方向栅格数据计算出每一个栅格在水流方向上累积的栅格数,即 汇流累积量。假设每一个栅格携带一份水流,那么栅格的汇流累积量就代表着该栅格的水 流量。基于上述思想,当汇流量达到一定值的时候,就会产生地表水流,所有汇流量大于 临界值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。 11.4.1 河网的生成 1. 河网的生成是基于汇流累积量数据的,其计算步骤见 11.2 节,这里用 11.2 节计算的 汇流累计栅格数据 flowacc 作为基础数据; 2. 设定阈值。不同级别的沟谷对应不同的阈值,不同研究区域相同级别的沟谷对应的阈 值也是不同的。所以,在设定阈值时,应通过不断的实验和利用现有地形图等其它资 料辅助检验的方法来确定合适的阈值; 3. 栅格河网的形成。利用 Map Algebra 工具集中的 Multi Map Output 工具中的 Con 命令 或者 Setnull 命令进行有条件的查询可得到栅格河网。其思想是利用所设定的阈值对整 个区域分析并生成一个新的栅格图层,其中汇流量大于设定阈值的栅格的属性值设定 为 1,而小于或等于设定阈值的栅格的 属性值设定为无数据。栅格河网的生成 也 可以利用 ArcMap 中 的 Spatial Analysis 分析模块下的 Raster Calculator 计算。将计算出来的栅格河 网命名为 streamnet; 图 11.20 顺流方向上的水流长度 图 11.21 逆流方向上的水流长度 444 4. 栅格河网矢量化。在 Hydrology 工具集中双击 Stream to Feature 工具,如 图 11.22 所示; 在 Input stream raster 文本框中,选择 streamnet;在 Input flow direction raster 文本框中, 输入由无洼地计算出来的水流方向数据 fdirfill;在 Output polyline features 文本框中将 输出的数据命名为 streamfea。生成的矢量数据如图 11.23 所示。 11.4.2 Stream Link 的生成 Stream link 记录河网中一些节点之间的连接 信息,主要记录河网的结构信息。如 图 11.24 所示, Stream link 的每条弧段连接着两个作为出水点或 汇合点的结点,或者连接着作为出水点的结点和 河网起始点。 因此通过提取 Stream link 可以得到每一个河 图 11.24 Stream link 示意图 弧段 结点 图 11.23 栅格河网转换成的矢量河网框 445 网弧段的起始点和终止点。同样,也可以得到该汇水区域的出水点。这些出水点对于水量、 水土流失等研究具有重要意义。出水口点的确定,为进一步的流域分割做好了准备。操作 如下: 1. 在 ArcMap 里加载水流方向数据 fdirfill 和栅格河网数据 streamnet; 2. 双击 Hydrology 工具集中的 Stream Link 工具,弹出如图 11.25 所示的 stream link 计算 的对话框。在 Input stream raster 文本框中选择 streamnet,在 Input flow direction raster 文本框中选择 fdirfill。在 Output raster 文本框中将输出数据命名为 StreamLink。 3. 单击 OK 按钮,完成操作。 Stream link 的生成将栅格河网分成不包含汇合点的栅格河网片段,并对片断进行记录, 其属性表中除了记录该片段的 ID 号之外,还记录着每个片段所包含的栅格个数。如 图 11.26 所示。 11.4.3 河网分级的生成 河网分级是对一个线性的河流网络以数字标识的形式划分级别。在地貌学中,对河流 的分级是根据河流的流量、形态等因素进行。不同级别的河网所代表的汇流累积量不同, 级别越高,汇流累积量越大,一般是主流,而那些级别较低的河网则是支流。这对于研究 水流的运动、汇流模式,及水土保持等具有重要的意义。 在 ArcGIS 的水文分析中,提 供 两 种 常 用的河网分级方法:Strahler 分级和 Shreve 分级。 如图 11.27 所示, Strahler 分级是将所有河网弧段中没有支流河网弧段分为第 1 级,两个 1 图 11.26 StreamLink 的属性框 图 11.25 StreamLink 计算对话框 Strahler 分级 1 1 1 1 1 1 1 2 2 2 2 2 3 Shreve 分级 1 1 1 1 1 1 1 2 3 2 7 4 3 446 级河网弧段汇流成的河网弧段为第 2 级,如此下去分别为第 3 级,第 4 级,……,一直到 河网出水口。在这种分级中,当且仅当同级别的两条河网弧段汇流成一条河网弧段时,该 弧段级别才会增加,对于那些低级弧段汇入高级弧段的情况,高级弧段的级别不会改变; Shreve 分级的第 1 级河网的定义与 Strahler 分级是相同的,所不同的是以后的分级,两条 1 级河网弧段汇流而成的河网弧段为 2 级河网弧段,那么对于以后更高级别的河网弧段, 其级别的定义是由其汇入河网弧段的级别之和,如图所示,当一条 3 级河网弧段和一条 4 级河网弧段汇流而成的新的河网弧段的级别为 7,这种河网分级到最后出水口的位置时, 其河网的级别数刚好是该河网中所有的 1 级河网弧段的个数。 在 ArcGIS 中对河网分级的步骤如下: 1. 在 ArcMap 里加载水流方向数据 fdirfill 和栅格河网数据 streamnet; 2. 双击 Hydrology 工具集中的 Stream Order 工具,弹出 Stream Order 对话框。在 Input stream raster 文本框中选择 streamnet,在 Input flow direction raster 文本框中选择 fdirfill。 分别用 Strahler 分级和 Shreve 分级对河网进行分级,将输出数据分别命名为 Streamostr 和 Streamoshr; 3. 单击 OK 按钮,完成操作。计算出的两种河网分级分别结果如图 11.28 和图 11.29 所示。 对于 stream link 和 stream order 计算出的栅格数据同样可以利用 Hydrology 工具集中 的 stream to feature 工具将其转化成矢量数据便于进一步的研究和分析。 11.5 流域的分割 流域(watershed)又称集水区域,是指流经其中的水流和其它物质从一个公共的出水 口排出从而形成的一个集中的排水区域,如图 11.30 所示。也可以用流域盆地(basin)、集 水盆地(catchment)或水流区域(contributing area)等来描述流域。Watershed 数据显示了 区域内每个流域汇水面积的大小。汇水面积是指从某个出水口(或点)流出的河流的总面 积。出水口(或点)即流域内水流的出口,是整个流域的最低处。流域间的分界线即为分 水岭。分水线包围的区域称为一条河流或水系的流域,流域分水线所包围的区域面积就是 流域面积。 图 11.28 河网的 Strahler 分级结果 图 11.29 河网的 Shreve 分级结果 447 11.5.1 流域盆地的确定 流域盆地是由分水岭分割而成的汇水区域,是通过对水流方向数据的分析确定出所有 相互连接并处于同一流域盆地的栅格。首先要确定分析窗口边缘的出水口的位置,所有的 流域盆地的出水口均处于分析窗口的边缘。流域盆地集水区的确定是找出所有流入出水口 的上游栅格的位置。 在 ArcGIS 中,流域盆地的计算的操作如下: 1. 双击 Hydrology 工具集中的 Basin 工具,打开流域盆地计算的对话框。如 图 11.31 所示。 2. 输入水流方向数据 fdirfill,设置输出数 据文件名为 basin。 3. 单击 OK 按钮,完成操作。 在 ArcMap 中加载上一节计算出的矢量 河网数据在以及刚得到的 basin 数据,如图 11.32 所示。所有流域盆地的出口都在研究区 域的边界上,利用流域盆地分析,可将感兴 趣的流域划分出来。 图 11.30 集水区域 集水区域边界 分水岭 水流网络 集水区域出口 子集水区域 图 11.31 流域盆地计算的对话框 448 11.5.2 汇水区出水口的确定 在水文分析中,通常需要基于更小的流域单元进行分析,这样就需要进行流域的分割。 流域的分割首先要确定小级别流域的出水口的位置,可以通过 Spatial Analysis Tools 工具 箱下的 Hydrology 工具集中的 Snap Pour Point 的工具来寻找。它的思想是利用一个记录着 潜在但并不准确的小级别流域的出水口的位置的数据层,在该点位置上在以指定距离在汇 流累积量的数据层上搜索那些具有较高汇流累积量栅格点的位置,这些搜索到的栅格点就 是小级别的流域的出水点。也可以利用已有的出水点的矢量数据。 如果没有出水点的栅格或矢量数据,可以用已生成的 stream link 数据作为汇水区的出 水口数据。因为 stream link 数据中隐含着河网中每一条河网弧段的联结信息,包括弧段的 起点和终点等,而弧段的终点可以看作是该汇水区域的出水口所在位置。 11.5.3 集水流域的生成 对于一个小集水流域的生成,思想如下:先确定出水点,即该集水区的最低点,然后 结合水流方向数据,分析搜索出该出水点上游所有流过该出水口的栅格,直到搜索到流域 的边界,即分水岭的位置。 1. 首先在 ArcMap 中打开水流方向数据 fdirfill 和流域出口点数据 streamlink; 图 11.32 计算出的流域盆地(线状图形为矢量河网数据) 449 2. 双击 Hydrology 工具集中的 Watershed 工具,打开集水区域(贡献区域)计算的对话 框。分别在水流方向数据和出水口数据的文本框中选择 fdirfill 和 streamlink 数据,设 置输出数据文件名为 watershed。 3. 单击 OK 按钮,完成操作。结果如图 11.33 所示,为了更好的表现流域的分割效果, 在此窗口中还加载了流域盆地和矢量河网的数据。可以看出:通过 streamlink 作为流 域的出水口数据所得到的集水区域是每一条河网弧段的集水区域,也就是要研究的最 小沟谷的集水区域。 11.6 实例与练习 11.6.1 利用水文分析方法提取山脊、山谷线 1. 背景:作为地形特征线的山脊线、山谷线对地形、地貌具有一定的控制作用。它们与 山顶点、谷底点以及鞍部点等一起构成了地形及其起伏变化的骨架结构。同时由于山 脊线具有分水性,山谷线具有合水性特征使得它们在工程应用方面具有特殊的意义。 因此在数字地形分析中,山脊线和山谷线的提取和分析是具有很大应用价值的。 2. 目的:了解基于 DEM 的水文分析方法提取出山脊线和山谷线的原理;掌握水流方向、 汇流累积量的提取原理及方法;能够利用水文分析的方法与其它空间分析方法相结合 以解决实际应用问题。 3. 要求: 图 11.33 集水区域的计算结果 450 (1) 利用水文分析思想和工具提取研究区域的山脊线; (2) 利用水文分析思想和工具提取研究区域的山谷线。 4. 数据:一幅 25m 分辨率的黄土地貌 DEM 数据,区域面积大约有 140 km2。数据存放 于随书光盘…/ChP11/Ex1 目录中。 5. 算法思想: 山脊线和山谷线的提取实质上也是分水线与汇水线的提取。因此,可以利用水文 分析的方法进行提取。 对于山脊线而言,由于它同时也是分水线,而分水线的性质即为水流的起源点。 所以,通过地表径流模拟计算之后,这些栅格的水流方向都应该只具有流出方向而不 存在流入方向,也就是其栅格的汇流累积量为零。通过对零值的汇流累积值的栅格的 提取,就可以得到分水线,即山脊线;对于山谷线而言,可以利用反地形的特点,即 利用一个较大的数值减去原始的 DEM 数据,得到与原始地形完全相反的地形数据, 使得原始的 DEM 中的山脊变成反地形的山谷,而原始 DEM 中的山谷在反地形中就 变成了山脊,再利用山脊线的提取方法就可以实现山谷线的提取。但是这种方法会出 现提取出的山脊和山谷位置有些偏差,可以利用正、负地形来加以纠正。 基于 DEM 利用水文分析的方法提取山脊线和山谷的技术流程如图 11.34 所示。 6. 操作步骤 (1) 正负地形的提取 1) 启动 ArcToolbox,展开 Analysis Tools 工具箱,打开 Hydrology 工具集。在 ArcMap 中加载研究区域的原始 DEM 数据,如图 11.35 所示; 2) 加载 Spatial Analyst 模块,单击 Spatial Analyst 模块的下拉箭头,单击 Neighborhood Statistics 菜单工具,利用邻域分析的方法以 11×11 的窗口计算平均值。计算结果 命名为 meandem; 3) 单击 Spatial Analyst 中的 Raster Calculator 菜单工具,对原始 DEM 数据与邻域分 析之后的数据 meandem 做减法运算,并将运算结果重分为两级,分级界线为 0, 则大于 0 的区域在原始 DEM 上就是正地形区域,小于 0 的区域在原始 DEM 上 就是负地形区域。 图 11.34 山脊线和山谷线的提取流程图 原始 DEM 无洼地 DEM 水流方向数据 汇流累计量 山脊线 反地形 DEM 水流方向数据 汇流累计量 山谷线 求均值后的 DEM 负地形 正地形 邻域分析 求交 求交 451 4) 对上一步得到的二值化数据进行两次重分类,一 次 将 正 地 形 区域属性值赋值为 1, 负地形区域属性赋值为 0,命名为 zhengdixing;另一次将正地形区域属性值赋值 为 0,负地形区域属性赋值为 1,命名为 fudixing。结果分别如图 11.36、图 11.37 所示。 (2) 山脊线的提取 1) 在 ArcMap 中加载研究区域的原始 DEM 数据,如图 11.35 所示; 2) 洼地填充:双击 Hydrology 工具集中的 Fill 工具,进行原始 DEM 的洼地点填充。 在 Input surface raster 文本框中选择原始 DEM 数据 dem,将输出数据命名为 filldem,因为选择的是将所有洼地全部填充,所以 Z limit 为默认值; 3) 基于无洼地的水流方向的计算:双击 Hydrology 工具集中的 Flow Direction 工具, 在 Input surface raster 文本框中选择填充过的无洼地 DEM 数据 filldem,将输出的 水流方向数据命名为 flowdirfill; 4) 汇流累积量的计算:双击 Hydrology 工具集中的 Flow Accumulation 工具。选择 flowdirfill 作为输入的水流方向数据;输出数据命名为 flowacc1; 5) 汇流累积量为零值的提取:加 载 Spatial Analyst 模块,单击 Spatial Analyst 模块的 下拉箭头,单击 Raster Calculator 菜单,打开栅格计算对话框,在文本框中填写 汇流累积量为零值的提取公式:facc0 = (flowacc = 0),然后单击 evaluate 进行计 算; 6) 在 ArcMap 中打开 facc0,会发现有很多的地方并不是山脊线,因此需对此数据做 如下处理:利用邻域分析的方法,对 facc0 进行 3×3 邻域分析,求均值,使数据 变得光滑,处理后的数据命名为 neiborfacc0; 图 11.37 负地形区域(图中深色区域) 图 11.36 正地形区域(图中深色区域) 图 11.35 研究区域的 DEM 数据 452 7) 单击 Spatial Analyst 模块中的 Surfer Analyst 中的 Countline 和 Hillshade 菜单命令, 分别生成原始 DEM 的等值线图 ctour 和晕渲图 hillshade。 8) 在 neiborfacc0 数据上单击右键,单击 Properties 命令,进行重新分级,将数据分 为两级,这时需要不断调整分级临界点,并以等值线图和晕渲图作为辅助判断。 属性值越接近于 1 的栅格越有可能是山脊线的位置,最终确定的分界阈值为 0.5541; 9) 将进行过二值化的 neiborfacc0 进行重分类为 reneibor,将属性值接近 1 的那一类 的属性值赋值为 1,其余的赋值为 0。 10)利用 Spatial Analyst 菜单下的 Raster Calculator 将重分类过后的 neiborfacc0 数据与 正地形数据 zhengdixing 相乘,就消除了那些存在于负地形区域中的错误的山脊 线。然后将计算结果进行重分类,所有属性不为 1 的栅格属性值赋为 NO DATA。 就得到了山脊线,如图 11.38 所示。 (3) 山谷线的提取 1) 在 ArcMap 中加载原始 DEM 数据,如图 11.35 所示; 2) 加载 Spatial Analyst 模块,单击 Spatial Analyst 模块的下拉箭头,单击 Raster Calculator 菜单工具,打开栅格计算对话框;在文本框中填写反地形的计算公式: fandem =Abs (dem-2000),单击 evaluate 按钮进行计算。得到与原始 DEM 地形完 全相反的反地形数据,如图 11.39 所示。反地形计算完毕之后,山谷线的提取就 和山脊线的提取步骤一样的,直到最终利用重分类的方法将重新分级的邻域分析 后的结果二值化为止。这里不需要对反地形 DEM 进行洼地填充。计算过程中的 数据名称分别为:水流方向数据为 flowdirfan,汇流累积数据为 flowacc2,零值汇 图 11.38 计算出的研究区域的山脊线 (图中深色区域为山脊线,背景为该区域的晕渲图) 453 流累积量提取数据为 flowacc0fan,对 flowacc0fan 进行 3×3 邻域分析求均值后的 结果数据为 nbfacc0fan,并将其分级改为两级,分级阈值为 0.65677。 3) 利用 Spatial Analyst 菜单下的 Raster Calculator 将重分类过后的数据与负地形数据 fudixing 相乘,消除了那些存在于正地形区域中的错误的山谷线。然后将计算结 果进行重分类,所有属性不为 1 的栅格属性值赋为 NO DATA。就得到了山谷线, 如图 11.40 所示。 图 11.39 计算出的研究区域的反地形 DEM 图 11.40 计算出的研究区域的山谷线 (图中深色区域,背景为该区域的晕渲图) 454 11.6.2 黄土地貌鞍部的提取 1. 背景:相邻两山头之间呈马鞍形的低凹部分称为鞍部,鞍部是两个山脊和两个山谷会 合的地方。鞍部点是重要的地形控制点,它和山顶点、山谷点以及山脊线、山谷线等 构成地形特征点线,对地形具有很强的控制作用。因此,对这些地形特征点、线的分 析研究在数字地形分析中具有很重要的意义。同时,由于鞍部点的特殊地貌形态,使 得鞍部点的提取方法较山顶点和山谷的提取更难,目前没有什么有效的方法来提取鞍 部点,利用水文分析的方法可以来提取一些鞍部点,但还存在一定局限性。 2. 目的:结合水文分析的思想来提取研究区域内的地形鞍部点;开拓思维,拓展水文分 析工具的应用,学会利用水文地质分析的思想来解决一些地形、地貌等方面的问题。 3. 要求:结合水文地质分析的方法和空间分析的方法提取研究区域的地形鞍部点 4. 数据:一幅 25m 分辨率的黄土地貌 DEM 数据,区域面积大约有 59 km2。数据存放于 随书光盘…/ChP11/Ex2 中。 5. 算法思想:由于鞍部是两个山脊和两个山谷会合的地方,那么对于鞍部点的提取,就 可以分别提取山脊线和山谷线,再计算两者的交点,所求出的交点便是鞍部点的位置。 鞍部点的提取流程如图 11.41 所示。 6. 操作步骤 (1) 正地形、等高线和晕渲图的提取 同山脊线与山谷线的提取中一样,由于鞍部点的整体位置是处于山脊上的,需 要提取出正地形以舍弃那些在负地形上的错误的提取结果。正地形的提取过程与第 一个例子完全相同。提取过程分别是:利用 11×11 窗口进行求平均值的邻域分析, 结果为 meandem;原始 DEM 与 meandem 相减并以 0 为界进行重分类,大于 0 的属性 重新赋值为 1,小于 0 的赋值为 0,结果命名为 zhengdixing。 利用 Spatial Analyst 菜单下的 Surface Analysis 菜单中的 Contour 和 Hillshade 工 具分别提取研究区域的等高距为 40m 的等高线数据 ctour 和研究区域的晕渲图 hillshade。 (2) 山脊的提取 山脊的提取与练习 1 中山脊的提取过程是完全相同的,分别是进行洼地填充、 然后在无洼地的 DEM 上提取水流方向、基于水流方向计算汇流累积量数据、提取 图 11.41 鞍部点的提取流程图 DEM 山谷 山脊 鞍部点 求交 455 汇流累积量数据等于零的栅格。提取过程产生的各个数据分别为:filldem、flowdir、 flowacc 以及 flowacc0。 (3) 山谷的提取 山谷的提取也与练习 1 中山谷的提取过程是完全相同的,分 别 是基于原始 DEM 计算出反地形 DEM 数据(计算中是利用原始 DEM 减去常数 3000)、基于反地形 DEM 数据提取水流方向数据、基于水流方向数据进行汇流累积量数据、提取汇流 累积量数据等于零的栅格。提取过程中产生的数据分别为:fandem、flowfdirfan、 flowaccfan 以及 fanfacc0。 (4) 鞍部点的提取 1) 利用 Spatial Analyst 菜单下的 Raster Calculator 的工具将提取出的山脊线数据 flowacc0 和山谷线数据 fanfacc0 相乘,运算结果命名为 anbuqu。 2) 利用同样的方法将上一步中提取出的数据 anbuqu 和正地形数据 zhengdixing 相 乘,就得到了鞍部点的栅格数据,命名为 rasteranbu。 3) 将栅格数据 rasteranbu 进行重分类,所有 0 值和 NO DATA 数据赋为 NO DATA 数 据,属性为 1 的值保持不变,重分类之后数据为 rasteranbu2。 4) 将栅格数据 rasteranbu2 转成矢量结构数据 anbudian,并配合等高线数据和晕渲图 对矢量形式的鞍部点数据进行编辑,剔除那些处于研究区域边缘以及内部的伪鞍 部点。最后得到的鞍部点数据如图 11.42 所示。 图 11.42 提取出的鞍部点图(底图为研究区 40m 等高距的等高线图) 456 11.6.3 沟谷网络的提取及沟壑密度的计算 1. 背景: 沟壑密度是描述地面被水道切割破碎程度的一个指标。沟壑密度越大,地面越破碎。 破碎的地面必然起伏不平,多 斜 坡 。这 样 就会使地表物质稳定性降低,且易形成地表径流。 沟壑密度越大,地面径流和土壤冲刷速度越快,沟蚀发展越快。沟壑密度是气候、地形、 岩性、植被等因素综合影响的反映,对于水土流失监测、水土保持规划有着重要的意义。 沟壑密度也称沟谷密度或沟道密度,指单位面积内沟壑的总长度。以 km/km2 为单位 表示,数学表达为: 式中:DS指沟壑密度;∑L 指研究区域内的沟壑总长度(单位:km),A 指特定研究区域 的面积(单位:km2)。 2. 目的:能熟悉掌握水文分析中的沟谷网络的提取原理及过程。 3. 要求: (1) 利用水文分析工具提取研究区域的沟谷网络; (2) 计算出该研究区域的沟壑密度。 4. 数据:一幅 25m 分辨率的黄土地貌 DEM 数据,区域面积大约有 59 km2。数据存放于 随书光盘…/ChP11/Ex3 中。 5. 操作步骤 (1) 沟谷网络的提取: 1) 在 ArcMap 中加载研究区域的原始 DEM 数据; 2) 启动 ArcToolbox,展开 Analysis Tools 工具箱,打开 Hydrology 工具集; 3) 原始 DEM 数据提取水流方向数据:双击 Hydrology 工具集中的 Flow Direction 工 具,打开 Flow Direction 计算对话框。在 Input surface data 文本框选择原始 DEM 数据作为输入表面数据,将输出的水流方向数据命名为 flowdir。单击 OK 按钮, 进行水流方向数据的计算; 4) 洼地的计算:双击 Hydrology 工具集中的 Sink 工具,选择上一步计算的水流方向 数据 flowdire 作为输入数据,将输出数据命名为 sink; 5) 计算得知原始 DEM 上有洼地,需要进行洼地填充。双击 Hydrology 工具集中的 Fill 工具,进行原始 DEM 的洼地点填充。在 Input surface raster 文本框中选择原 始 DEM 数据 dem,将输出数据命名为 filldem; 6) 基于无洼地的水流方向的计算:同步骤 3)中 一样 ,打开 Flow Direction 计算对话 框,选择的输入表面数据是无洼地 DEM 数据 filldem,将输出的水流方向数据命 名为 flowdirfill; 7) 汇流累积数据的计算:双击 Hydrology 工具集中的 Flow Accumulation 工具,打开 Flow Accumulation 计算对话框。在 Input flow direction raster 文本框中选择 flowdirfill 数据作为输入的水流方向数据;输出数据命名为 flowacc。单击 OK 按 A LDS å= 457 钮,进行运算; 8) 栅格河网的生成。在栅格河网的生成中,需设置一个汇流累积阈值,这里为 100。 双击 Spatial Analysis Tools 工具箱中的 Map Algebra 工具集中的 Multi Output Map 工具。在文本框中键入:E:\chp11\ex3\result\streamnet = con ( E:\chp11\ex3\result\flowacc > 100 , 1),计算出栅格河网数据 streamnet; 9) 栅格河网矢量化:双击 Hydrology 工具集中的 Stream To Feature 工具。选择 streamnet 作为栅格河网数据输入,将水流方向数据 flowdirrfill 作为输入的水流方 向数据。将输出的数据命名为 stream1,也就是矢量形式的沟谷网络; 10)伪沟谷的删除。由于基于 DEM 的河网的提取是采用最大坡降的方法,那么在平 地区域例如谷底等等地方的水流方向是随机的,容易生成平行状河流,这种平行 状的沟谷被称为伪沟谷,需以手工编辑剔除的。伪沟谷的剔除步骤为: A 加载 Editor 模块,单击 Editor 模块的下拉箭头,单击 Start Editing 菜单工具, 在操作目标层(target)中选择 stream1; B 单击编辑工具中的选择符号,在 ArcMap 地图显示窗口中选择那些平行状的 沟谷,单击右键,从弹出菜单中选择 Delete。研究区域边缘的很短的沟谷也 需进行删除; C 所有的伪沟谷删除完毕之后,单击 Editor 下拉菜单中的 Save Edits,对该层 数据的修改进行保存,并单击 Stop Edits 停止编辑。至此,完成了伪沟谷的 删除,见图 11.43。 (2) 沟壑密度的计算 1) 加载Xtools扩展模块。单击 Xtools下拉菜单,选择 Calculate area、Perimeter、Length、 图 11.43 删除伪沟谷后的沟谷网络 458 Acres and Hectares 菜单工具,弹出如图 11.44 的 对话框,在文本框中选择需要计算的矢量数据, 单击 OK 按钮,进行计算。计算结果将在属性表 中新建一个属性项记录。 2) 打开计算长度之后的矢量沟壑数据的属性表,在 属性字段 Length 上单击右键弹出如图 11.45 所示 的对话框,选择 Statistics 命令,进行该属性字段 下属性值的统计分析。 3) 通过统计计算得到的沟壑总长度是:∑L =729.395802263 km。 4) 计算研究区域的面积。在图层管理器中右键单击 DEM 数据层,单击 Propertie 命令, 进入 Source 选项卡,可以看到栅格数据的行、列以及栅格分辨率,这样就可计算 出研究区域的面积 A= 264.375625 km2。 5) 得到研究区的沟壑总长度以及研究区的面积后,研究区域的沟壑密度就是:DS= ∑L/A=2.759 km/km2。 图 11.45 沟壑长度的统计计算图 图 11.44 计算沟壑长度对话框 459 第十二章 空间分析建模 空间分析具有对空间信息的提取和传输功能,作为各类综合性地学分析模型的基础, 空间分析为建立复杂的模型提供了基本工具。空间分析模型是指用于 GIS 空间分析的数学 模型,空间分析建模是指运用 GIS 空间分析建立数学模型的过程,其过程包括:明确问题、 分解问题、组建模型、检验模型结果和应用分析结果。本章主要介绍如下内容: u 空间分析建模的概念和过程 u 图解模型的形成过程 u 模型生成器基本操作 u 脚本文件的编写与运行 u 空间建模操作过程 12.1 空间分析模型与建模 12.1.1 空间分析模型及其分类 模型是对现实世界中的实体或现象的抽象或简化,是对实体或现象中最重要的构成及 其相互关系的表述。建模的过程中,需要用到各种各样的工具。作为各类综合性地学分析 模型的基础,空间分析为人们建立复杂的模型提供了基本工具。空间分析是地理信息系统 的主要特征,也是评价一个地理信息系统功能的主要指标之一。它是基于地理对象的位置 和形态特征的数据分析技术,其目的在于提取和传输可见信息。空间分析模型是对现实世 界科学体系问题域抽象的空间概念模型,与广义的模型既有联系,又有区别: (1) 空间定位是空间分析模型特有的性质,构成空间分析模型的空间目标(点、弧段、 网 络、面域、复杂地物等)的多样性决定了空间分析模型建立的复杂性。 (2) 空间关系也是空间分析模型的一个重要特征,空间层次关系、相邻关系以及空间目 标的拓扑关系也决定了空间分析模型建立的特殊性。 (3) 包含坐标、高程、属性以及时序特征的空间数据极其庞大,大量的空间数据通常用 图形的方式来表示,这样由空间数据构成的空间分析模型也具有了可视化的图形特 征。 空间分析模型可以分为以下几类: 1. 空间分布模型 用于研究地理对象的空间分布特征。主要包括:空间分布参数的描述,如分布密度和 均值、分布中心、离散度等;空间分布检验,以确定分布类型;空间聚类分析,反映分布 的多中心特征并确定这些中心;趋势面分析,反映现象的空间分布趋势;空间聚合与分解, 460 图 12.1 图解模型的建立流程图 应用分析结果 检验模型 明确问题 组建模型 分解问题 反映空间对比与趋势。 2. 空间关系模型 用于研究基于地理对象的位置和属性特征的空间物体之间的关系。包括距离、方向、 连通和拓扑四种空间关系。其中,拓扑关系是研究得较多的关系;距离是内容最丰富的一 种关系;连通用于描述基于视线的空间物体之间的通视性;方向反映物体的方位。 3. 空间相关模型 用于研究物体位置和属性集成下的关系,尤其是物体群(类)之间的关系。在这方面, 目前研究得最多的是空间统计学范畴的问题。统计上的空间相关、覆盖分析就是考虑物体 类之间相关关系的分析。 4. 预测、评价与决策模型 用于研究地理对象的动态发展,根据过去和现在推断未来,根据已知推测未知,运用 科学知识和手段来估计地理对象的未来发展趋势,并做出判断与评价,形成决策方案,用 以指导行动,以获得尽可能好的实践效果。 12.1.2 空间分析建模 空间分析建模是指运用 GIS 空间分析方法建立数学模型的过程,运用数学分析方法建 立表达式,模拟地理现象的形成过程的模型称为过程模型,也叫处理模型。过程模型的类 型很多,用于解决各种各样的实际问题。例如: 适宜性建模:农业应用、城市化选址、道路选择等; 水文建模:水的流向; 表面建模:城镇某个地方的污染程度; 距离建模:从出发点到目的地的最佳路径的选择、邮递员的最短路径等; 这类模型的建立过程如下,流程如图 12.1 所示: 1. 明确问题:分析的问题的实际背景,弄清建立模型的目的, 掌握所分析的对象的各种信息,即明确实际问题的实质所 在,不仅要明确所要解决的问题是什么,要达到什么 样的目标,还要明确实际问题的具体解决途径和所需 要的数据; 2. 分解问题:找出与实际问题有关的因素,通过假设把 所研究的问题进行分解、简化,明确模型中需要考虑的因 素以及它们在过程中的作用,并准备相关的数据集; 3. 组建模型:运用数学知识和 GIS 空间分析工具来描述问题 中的变量间的关系; 4. 检验模型结果:运行所得到的模型、解释模型的结果或 把运行结果与实际观测进行对比。如果模型结果的解释 与实际状况符合或结果与实际观测基本一致,这 461 表明模型是符合实际问题的。如果模型的结果很难与实际相符或与实际很难一致,则 表明模型与实际不相符,不能将它运用到实际问题。如果图形要素、参数设置没有问 题的话,就需要返回到建模前关于问题的分解。检 查 对于问题的分解、假设是否正确, 参数的选择是否合适,是否忽略了必要的参数或保留了不该保留的参数,对假设做出 必要的修正,重复前面的建模过程,直到模型的结果满意为止。 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 模型生成器界面 462 如图 12.2 所示,模型生成器窗口由菜单条、工具条和图形窗口 3 部分组成。模型生成 器菜单包含了文件操作、编辑操作、视图操作、窗口操作和帮助共 5 个下拉菜单,每个菜 单又由一系列相关命令及功能组成。模型生成器工具面板中包含了 17 个常用的图形编辑 工具。 (3) 模型的基本组成 图解模型主要由三部分组成:输入数据、输出数据和空间处理工具。输入数据和输出 数据的类型多种多样,可以是栅格数据集、shapefile、coverage 等。不同空间处理工具要 求的数据不同,不同的应用目的也会得到不同类型的输出数据。空间处理工具包括 ArcToolbox 中所有的工具集,也可以是模型(models)、由脚本(scripts)定制的工具或者其 他工具箱(toolbox)中的系统工具。只有将以上模型要素有机的连接起来,才能组成一个完 整的图解模型。因此,连接也是模型中一个不可或缺的要素。连接指定了数据与操作间的 关系,因此符合条件的要素才能被连接。 2. 图解模型的基本类型 一个模型由一个或多个过程组成。每个过程都有一个共同的基本结构:输入→函数→ 输出,不同模型所包含的输入、函数、输出的数量可以不同,但整体的结构保持不变。同 时,在模型运行前,所有的组成部分必须彼此连接。 (1) 按其包含过程的数量可以分为单过程模型和多过程模型,如图 12.3 所示。 (a)图中 模型只有一个过程,(b)图中模型则包括多个过程,且第一个过程所产生的输出数据 作为第二个过程中的输入数据,在实际运用中多过程模型包括的过程会更多,更复 杂。 (2) 按照模型中过程的种类可以分为单一处理工具模型和复杂处理工具模型,如图 12.4 所示。(a)图中单一处理工具模型所用工具仅为空间分析工具一种,(b)图中复杂处理 工具模型所用模型则为空间分析和转换两种工具,在实际运用中复杂模型所用的工 具会更加的多样化。 (b) 多过程模型 图 12.3 单过程模型(a)和多过程模型(b) (a) 单过程模型 空间处理工具 输出 输入1 空间处理工具1 输出1 空间处理工具2 输入2 输入 输出 3 463 图 12.5 图解模型形成的流程图 添加输入数 添加空间处理工具 添加连接 设置参数 运行模型 12.2.2 图解模型的形成过程 模型的形成过程实际上就是解决问题的过程,不论是简单的或复杂的模型,都需要经 过以下几个步骤(流程如图 12.5 所示),同时,为了便于交换使用,还可以为模型添加注 释、转换模型为脚本。 1. 添加输入数据 有两种方法可向模型界面添加数据: 方法一:在 ArcMap 或 ArcCatalog 中打开数据,直接把 数据拖拽至图解模型界面即可。 方法二: (1) 在模型生成器中点击右键,选择 create variable ,在变量 列表中选择所要的数据类型。此时的图形没有颜色,表示 此变量还未赋值; (2) 双击新建的变量,选择所要添加的输入数据,或 直 接 输 入 数 据 的 值 。根 据 数 据 的类型不同,选择不同的操作。由于 变量已赋值,此时的图形便有颜色填充。 2. 添加空间处理工具 添加空间处理工具相对简单,只要将所需的添 (a) 单一处理工具模型 输入1 Spatial analyst tools1 输出1 Spatial analyst tools2 输入2 输出3 (b) 复杂处理工具模型 输入1 Spatial analyst tools 输出1 Conversion tools 输入2 输出3 464 加的工具拖拽至图解模型界面即可。但是处理的工具是多种多样的,可以是 ArcToolbox 中任何工具、脚本、模型,也可以是用户在应用程序中的共享工具,比如用模型(models) 或由脚本(scripts)定制的工具或者其他工具箱(Toolbox)中的系统工具。由于空间处理工具的 功能决定了输出数据的类型,因此输出数据也就随着空间处理工具的添加而自动产生。 3. 添加连接 只有将一个个的空间模型要素有机的连接起来,才能组成一个完整的图解模型。然而 对象间的连接是有前提的,若不符合连接的条件,两个图形则无法连接。添加连接后,模 型要素便有原来的无颜色填充,变为有颜色填充。 有两种方法添加连接: 方法一:单击模型生成器界面工具面板的 Add connection 图标 连接目标图形。 方法二:双击空间处理工具,在对话框中选择所要处理的数据,单击 OK 按钮,即为 数据和工具添加了连接 4. 保存模型 在 ModelBuilder 的菜单条中单击 File 下的 Save 命令,保存模型当前的状态;同时在 ArcToolbox 中保存设置,以便下次打开。方法 如下:右键 ArcToolbox,选择 Save Settings 命 令,保存为文件,则该设置被保存.xml 格式, 如图 12.6 所示。下次打开时,只要右键单击 ArcToolbox,选择 Load Settings 命令,以文件 形式打开(From File)( 如图 12.7 所示),选择 所要打开的设置即可。 5. 添加注释 为了更好地了解模型的结构和功能、更彻 底地理解模型和处理过程。同时也为了更好地 组织项目,明确多过程之间的关系,可以给输 入、输出、空间处理工具添加注释,还可以对 连接添加注释。 操作如下:选择所要添加注释的图形要素, 右键选中 create label 命令,双击矩形框输入注 释。 6. 设置参数 为模型设置参数,在打开模型的时就会出现参数输入对话框。直接输入数据、常数、 输出数据的路径。有两种方法设置参数: 方法一:右键单击所要设置为参数的图形要素,选择 Model Parameter 命令,所设置的 要素右上角便出现一个"P"表示设置成功,如图 12.8(a)所示,图中 DEM 和 SOA of DEM 设为模型参数; 图 12.6 保存 ArcToolbox 设置 图 12.7 打开 ArcToolbox 设置 465 方法二:右键单击模型 图标,选择 Properties 命令,进入 Parameter 选项卡, 单击 图标,增加所要设置为参数的要素,如图 12.8(b)所示,选择 DEM 和 SOA of DEM 设为参数即可。 7. 运行图解模型 模型建好后,需要运行模型以检查结果是否满意。有两种方法可以运行图解模型: 方法一:在工具条上,点击 运行模型。 (a) 设置参数方法一 图 12.8 为模型设置参数的两种方法 (b) 设置参数方法二 466 格式转换 设置阈值 DEM Filled DEM Flow Direction Flow Accumulation Stream Grid Stream Line 图 12.9 图解流程图 方法二:在菜单条中,单击 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 所示。 467 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.12 waternet 模型的参数 图 12.11 选择变量类型对话 468 如图 12.14 所示,设置输 入数据、输 出路径和阈值 的大小,单击 OK 按钮完 成操作。 在 Arcmap中打开生 成的水系,分析结果是否 满意,如果对结果不满意 就需要对模型进行调整。 提取结果如图 12.15 所 示,分别为汇流累积为 图 12.13 利用 DEM 提取水系的图解模型 图 12.14 提取水系模型对话框 图 12.15 水系提取结果对比 (a) 汇流累积大于 200 的水系 (b) 汇流累积大于 1000 的水系 469 200 和 1000 的水系。 (5) 运行和使用模型 经过模型验证并对模型结果满意后,即可双击模型图标 ,实现基于 DEM 的水系 自动提取。 12.3 脚本文件 12.3.1 简介 空间数据的处理常常是复杂而费时的,而且其过程具有很强的重复性,有必要进行自 动化的处理。任何可以支持 COM 的脚本语言都可以执行 ArcGIS9 的地理处理工具,如 Python、Jscript 和 VBScript 等。这些脚本语言都是公开的,而且易学易用。 脚本可以通过一个工具或多个工具实现一个简单或者复杂的处理,也可以通过循环操 作对输入数据进行批处理。因为数据不是特定的,所以脚本可以重用。脚本的高效性还体 现在可以独立于 ArcGIS9 桌面程序执行。 熟悉 ArcInfo Workstation 的 AML 用户转而使用一种新的脚本语言是非常容易的。在 ArcGIS9 中 AML 不仅可以执行 Arc 命令,而且任何 AML 程序都可以作为脚本添加到 ArcToolbox 中。对不熟悉脚本语言的用户,模型生成器是构建脚本的方便工具,只要先构 建一个模型再输出成脚本即可。但是模型不可以独立于 ArcToolbox 运行,脚本却可以脱离 ArcGIS 的环境独立运行。而这个脚本可以是任何支持 COM 的脚本语言。 12.3.2 脚本编写基础 通过脚本调用 ArcToolbox 进行空间处理,实 际上是通过 GPDispatch 组件类来实现的。 n GPDispatch组件类的作用就是调用和执行各种地理处理工具。它实现了IGPComHelper 接口和 IGPDispatch 接口。关于这两个接口的具体使用可以参考 ArcGIS 的在线帮助。 n 在 VBS 脚本中通过 WScript.CreateObject("esriGeoprocessing.GPDispatch.1");语句可以 创建一个 GPDispatch 对象。其中 esriGeoprocessing 指的是 GPDispatch 所在的类型库。 后面的“1”表示的是版本号。GPDispatch 最常用的方法是 CheckOutExtension()检查 扩展许可、AddToolbox()添加工具、RemoveToolbox()移除工具、Execute()执行工具。 n 其中 Execute()用法较为特殊下面为它的函数原型: Set variable = object.Execute (ToolName, params, trackcancel ) ToolName 为工具名称,params 为工具的一系列参数参数,trackcancel 用于跟踪 cancel 键是否被按下。 470 但是在 vbs 中一般的用法为: Object.toolname(toolparams1,toolparams2,……), toolparams1,toolparams2 分别为工具 参数。例如等高线工具的执行: gp.Contour_sa(input, output, "50", "0", "1"); 12.3.3 创建脚本文件 1. 单数据处理 所谓单数据处理,是指处理 过程中只涉及到单个数据集的处 理,数 据可以是 Geodatabase 中的 要素类、栅格数据集、ArcView 的 shapefile,也可以是 Arc/Info 的 coverage 等。在土地利用中, 坡度是很重要的信息,特别是对 一些坡度的分类具有很重要的意 义。以从 DEM 中自动提取坡度大 于 15 度的栅格为例,练习单数据 的脚本处理。 (1) 编写脚本 新建一个文本文档,改文件 名和类型为 slope.vbs,文本内容 如下: '建立处理对象 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" 如果没有指定路径的话,采用默认的路径 图 12.16 脚本参数设置 471 end if slope__2_ = "E:/ChP12/slope" Input_raster_or_constant_value_2 = "15" ' 提取坡度 gp.Slope_sa Raster_Dataset, slope__2_, "DEGREE", "1" ' 提取坡度大于 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.18 脚本运行结果状态栏 图 12.17 脚本运行对话框 472 设置完属性后,双击脚本图 标 ,在文本对话框中(图 12.17)设置好路径后,点击 OK 按钮,会出现结果运行状态栏, 如图 12.18 所示,显示脚本是否 成功的被执行,运行结果如图 12.19 所示,其中白色为坡度大 于 15 度的区域,黑色为坡度小 于 15 度的区域。 2. 批处理 所谓批处理就是成批处理 文件或操作,是 一次操作多个同 样格式数据的过程。脚本提供了 一种便捷的方式用于批处理,只 要在脚本中加入循环语句即可。 下面以两幅DEM提取坡度 大于 15 度的栅格为例子详细说明在 VBScript 中的实现过程。其中 DEM 数据存储在 “E:\ChP12\tutor3\DEM\dem50”和“E:\ChP12\tutor3\DEM\dem100” ;坡度文件存储在 “E:\ChP12\tutor3\slope\slope_50”,“ E:\ChP12\tutor3\slope\slope_100”;结果存储在 “E:\ChP12\tutor3\result\result_50”,“E:\ChP12\tutor3\result\result_100”。 (1) 第一步:新建一个文本。新建一个文本文档,改文件名和类型为 b_soa.vbs; (2) 第二步:建立处理对象; Set gp = CreateObject ("esriGeoprocessing.GPDispatch.1") (3) 第三步:检查扩展模块的 license; gp.CheckOutExtension "spatial" (4) 第四步:加载必要的 Toolbox。因为本例中提取等高线命令和将矢量数据转为栅格命 令均在 Spatial Analyst 扩展模块中,因此要引用这个模块; gp.AddToolbox "D:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx" (5) 定义变量; listdem =Array("E:\ChP12\tutor3\DEM\dem50","E:\ChP12\tutor3\DEM\dem100") listslope = Array("E:\ChP12\tutor3\slope\slope_50","E:\ChP12\tutor3\slope\slope_100") listresult= Array("E:\ChP12\tutor3\result\result_50","E:\ChP12\tutor3\result\result_100") Input_raster_or_constant_value_2 = "15" 图 12.19 提取坡度大于 15 度的结果图 473 (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", "1" Next (7) 运行 右键单击 toolbox,在 add 命令中选择 scrip 命令。右键单击 script,选择 properties 命 令弹出输入名字、标签、描述、风格对话框,单击下一步按钮;浏览到所要选择运行的脚 本,单击下一步按钮。由于是批处理不需要设置参数,直接单击确定按钮。双击 script 图 标 即可得到结果。 在创建脚本时,对于函数的使用可以查询 ArcGIS 帮助,或者 ArcGIS9 安装盘 Desktop\Documentation 下的 Geoprocessor.pdf 文件中可以查到接口、函数等信息。 12.4 实例与练习 12.4.1 明暗等高线制作 1. 背景 等高线是地图上最常用的表示地貌的方法,但其不足之处是所表示的地形立体感不 强,并非所有读者都能清楚读出它所描述的实际地表形态。对于如何用等高线表示地貌的 立体形态,1895 年,波乌林(J. Pauling)提出明暗等高线法,又称波乌林法。其基本论点 主要建立在以下三方面: (1) 根据斜坡所接受的光线方向确定等高线的明暗程度; (2) 将受光部分的等高线印为白色,背光部分的等高线印为黑色; (3) 地图的底色饰为灰色。 2. 数据 精度相对较高的某地区 DEM 数据,数据存放于随书光盘中(E:\ChP12\Ex1\DEM) 3. 要求 要求利用该 DEM 数据生成明暗等高线。首先,从 DEM 中提取一定等高距的矢量等 高线。把区域分为受光部分和背光部分,对原始的 DEM 数据提取坡向,并根据坡向对矢 474 量等高线进行分类,从而生成明暗等高线地图。背光和受光栅格要根据入射光的方向进行 确定,例如,假定光源位置定位于地面西北方向,则坡向为 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) 单击添加连接图标 ,连接 DEM 和 aspect 图形要素; 图 12.20 明暗等高线制作的流程图 DEM 坡向数据 等高线数据 受光面和背 光面的确定 转换为矢量 明暗等高线 图 12.21 数据类型选择框 475 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) 单击添加连接图标 ,分 别 连接 aspect 生成的栅格图形要素和 greater than、less than 图形要素; 9) 在 math 功能中选择 plus,将得出背光和受光面; 10)单击添加连接图标,分别连接 greater than、less than 生成的栅格图形要素和 plus 图形要素; 11)加载 conversion Tools 下的 from raster 工具集中的 Raster to polygon 工具,将以上 结果转换为矢量; 12)单击添加连接图标 ,连接步骤 10)生成的结果和 Raster to polygon 图形要素; 13)打开 spatial analyst tools 的 surface 工具集,将 contour 工具拖拽到模型生成器窗口 中,设置等高距为 50; 14)单击添加连接图标 ,连接 DEM 与 contour 图形要素; 15)选择 analysis Tools 下的 overlay 工具集,选中 identity 工具拖拽到模型生成器窗口 中; 16)单击添加连接图标 ,分别连接步骤 13)生成的等高线与步骤 11)生成的矢量数 据。 (2) 设置参数 右键单击模型图标 选择 Properties 命令。在 Parameter 对话框内选择该模型中 用到的参数 Raster Dataset,Output Feature Class,Input Raster or Constant Value2,Input Raster or Constant Value2(2)。模型如图 12.22 所示。 476 (3) 颜色配置 运行模型后,在 Arcmap 中打 开生成的结果,进行颜色设置。在 ArcMap 的 view 菜单下选择 data prosperities 命令,弹出 Data Frame properties 对话框,进入 Frame 选 项卡,将 Background 设为 Grey 40%,如图 12.23 所示。将明暗等 高线的受光部分设为白色,背光部 分设为黑色,明 暗 等高线结果如图 12.24 所示。 图 12.23Data Frame Properties 对话框 图 12.22 明暗等高线模型 Output raster (4) Aspect Output raster Output polygon features Raster to polygon Plus Output raster (3) Contour Output raster (2) Identity Raster dataset Greater Than Input raster or constant Greater Than Input raster or constant Output polyline feature Output Feature Class 477 12.4.2 提取坡向变率(SOA) 1. 背景 地面坡向变率是指在地表的坡向提取基础之上,进行对坡向变化率值的二次提取,亦 即坡向之坡度(Slope of Aspect, SOA)。地 面 坡 向 变 率 是 一个反映等高线弯曲程度的指标, 也可以反映出地表所有的山脊线、山谷线。 值得注意的是:在提取 SOA 过程中在不同的坡面 上将会有误差的产生,因为在坡面的南北两侧,由于坡 向算法的原因北面坡将会有误差产生,所以要对北坡的 SOA 结果进行纠正。从理论上讲 SOA 在地表北坡上将 产生误差,北坡上坡向值范围为 0—90°和 270°—360 °,在正北方向附近,15°和 345°之间坡向差值只是 30°,而在计算中却是差了 330°(如图 12.25 所示), 所以要利用反地形将北坡地区的坡向变率误差进行纠 正。 2. 数据 图 12.25 北坡坡向差值示意图 Aspect=345 Aspect=15° 北 图 12.24 明暗等高线地图 478 DEM 栅格数据,数据存放于随书光盘中(E:\ChP12\Ex1\DEM) 3. 要求 为了得到纠正后的 SOA,必须得到正地形的 SOA1 和反地形的 SOA2,修正的公式为 ((SOA1+ SOA2) – Abs(SOA1-SOA2))/2。其数据流向下图 12.26 所示: 4. 目标 通过纠正平面曲率的例子,练习如何在模型中调用用户自定义的模型,明晰模型嵌套 的过程。 5. 操作步骤 本例中需要建三个模型:生成 SOA 的模型,生成反地形的模型和纠正北坡误差的模 型。其中,前两个模型在最后一个模型中被调用。 (1) 建立生成 SOA 的模型 1) 打开 ArcMap,启动 ArcToolbox; 2) 右键单击 ArcToolbox,选择 New Toolbox 命令,生成 toolbox2; 3) 右键单击 toolbox2,在 New 命令中选择 Model 命令,生成 model1; 4) 右键单击图标 ,选择 Rename 命令,输入 generate SOA;; 5) 在模型窗口单击右键,选择 Create Variable 命令,在数据类型选择对话框中选中 Raster Layer; 12.27 生成 SOA 的模型 图 12.26 SOA 的提取流程图 DEM -DEM SOA1 SOA2 ((SOA1+ SOA2) - Abs (SOA1-SOA2))/2 479 6) 打开 Spatial Analyst Tools 的 Surface 工具集,分 别 将 Aspect 和 Slope 工具拖拽至模 型生成器窗口中; 7) 设置参数。右键单击模型图标 ,选择 Properties 命令。在 Parameter 选择对话框 中选择该模型中用到的参数 DEM 和 SOA of DEM,模型如图 12.27 所示。 (2) 建立生成反地形的模型 以同样的方法建立反地形的模型,模型重命名为 generate –DEM。其中,Input Raster or Constant 为在 ArcMap 中打开 DEM,找出高程的最大值,设置为 Max of Elevation。右键单 击模型图标 ,选择 Properties 命令。在 Parameter 内选择该模型中用到的参数 DEM 和 -DEM。模型如图 12.28 所示。 (3) 建立主模型 新建一个空模型,取名为 correct SOA。加载刚才所建的两个子模型,将子模型拖拽至 12.28 生成反地形的模型 12.29 correct SOA 模型 P P P DEM -DEM SOA DEM (2) SOA (2) SOA of DEM SOA of DEM Minus Plus Output raster (3) Output raster Abs Output raster (2) Minus (2) Output raster (4) Minus Correct SOA divided constant 480 模型界面内即可。打开 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.32 消除北坡误差后的 SOA 图 12.31 未消除北坡误差的 SOA
还剩482页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

wwlswj

贡献于2018-01-29

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf