目录

  • 1 第1章 GIS概述
    • 1.1 GIS 相关概念
    • 1.2 GIS组成
    • 1.3 GIS功能
    • 1.4 GIS类型与特点
    • 1.5 GIS简史与趋势
    • 1.6 实验项目(1)
    • 1.7 测验(1)
    • 1.8 讨论(1)
    • 1.9 思考题(1)
  • 2 第2章 GIS地理基础
    • 2.1 地球空间的认知及表达
    • 2.2 地球形状及空间模型
    • 2.3 空间参照基础的坐标系
    • 2.4 地球时间系统
    • 2.5 实验项目(2)
    • 2.6 测验(2)
    • 2.7 讨论(2)
    • 2.8 思考题(2)
  • 3 第3章 GIS数据结构和空间数据库
    • 3.1 GIS数据结构(1)
    • 3.2 GIS数据结构(2)
    • 3.3 GIS数据结构(3)
    • 3.4 GIS空间数据库
    • 3.5 GIS数据库设计、维护及管理
    • 3.6 GIS空间查询及数据探查
    • 3.7 实验项目(3A)
    • 3.8 测验(3)
    • 3.9 讨论(3)
    • 3.10 思考题(3)
  • 4 第4章 GIS数据采集和数据处理
    • 4.1 GIS数据源
    • 4.2 地理数据分类和编码
    • 4.3 GIS数据采集和输入
    • 4.4 GIS数据处理(1)
    • 4.5 GIS数据处理(2)
    • 4.6 GIS数据质量和精度控制
    • 4.7 实验项目(3B)
    • 4.8 测验(4)
    • 4.9 讨论(4)
    • 4.10 思考题(4)
  • 5 第5章 GIS空间分析方法
    • 5.1 基于矢量数据的GIS分析(1)
    • 5.2 基于矢量数据的GIS分析(2)
    • 5.3 基于栅格数据的GIS分析(1)
    • 5.4 基于栅格数据的GIS分析(2)
    • 5.5 实验项目(4)、(5)
    • 5.6 测验(5)
    • 5.7 讨论(5)
    • 5.8 思考题(5)
  • 6 第6章 GIS应用模型
    • 6.1 GIS应用模型概述
    • 6.2 常用GIS应用模型
    • 6.3 实验项目(6)
    • 6.4 测验(6)
    • 6.5 讨论(6)
    • 6.6 思考题(6)
  • 7 第7章 GIS可视化及其产品输出
    • 7.1 地理信息可视化理论
    • 7.2 地理信息可视化技术
    • 7.3 动态现象可视化
    • 7.4 GIS输出
    • 7.5 实验项目(7)
    • 7.6 测验(7)
    • 7.7 讨论(7)
    • 7.8 思考题(7)
  • 8 第8章 GIS设计方法及应用
    • 8.1 GIS设计开发简介
    • 8.2 GIS工程开发方法
    • 8.3 应用GIS开发案例(1)
    • 8.4 应用GIS开发案例(2)
    • 8.5 综合实验-for ArcGIS
    • 8.6 测验(8)
    • 8.7 讨论(8)
    • 8.8 思考题(8)
GIS数据库设计、维护及管理

                       空间数据库的设计、维护和管理





一、数据库的设计

空间数据库的设计问题,其实质是将地理空间实体以一定组织形式在数据库系统中加以表达的过程,也就是GIS中空间实体数据模型化问题。
1.空间数据库设计过程

GIS是人类认识客观世界、改造客观世界的实用工具。GIS的开发和应用需要经历一个由现实世界到概念世界,再到计算机信息世界的转化过程。然而,概念世界的建立是通过对错综复杂的现实世界的认识与抽象,即需要对各种不同专业领域的研究和系统分析,最终形成GIS的空间数据库系统和应用系统所需的概念化模型。进一步的逻辑模型设计,其任务就是把概念模型结构转换为计算机数据库系统所能够支持的数据模型。设计逻辑模型时应选择对某个概念模型结构设计得比较好的数据模型。然后再选定合适的、能支持这种数据模型的数据库管理系统。最后的存储模型则是指概念模型反映到计算机物理存储介质中的数据组织形式。

GIS的概念模型,是人们从计算机环境的角度出发和思考,对现实世界中各种地理现象、它们彼此的联系及其发展过程的认识及抽象的产物。具体地说,主要包括对地理现象和过程等客体的特征描述、关系分析和过程模拟等内容。这些内容在GIS的软件工具、数据库系统和应用系统研究中往往被抽象、概括为数据结构的定义、数据模型的建立及专业应用模型的构建等主要理论与技术问题。它们共同构成GIS基础研究的主要内容。

GIS的空间数据结构是对地理空间实体所具有的特性的一些最基本的描述。表现为四个最基本的类型,即点、线、面和体等。这些类型的关系既复杂又相互联系。一方面,线可以视为由点组成,面可由作为边界的线所包围而形成,体又可以由面所包围而形成。另一方面,随着观察这些实体的坐标系统的维数、视角及比例尺的变化,它们之间的关系和内容可能按照一定的规律相互转化(例如,由三维坐标系统变为二维坐标系统后,比如:通过地图投影变化,空间体可变成面,面可以部分地变成线,线可以部分地变成点;通过视角变化,也可将使某些实体由面变点等变化;通过比例尺改变,如坐标系统的比例尺缩小时,部分的体、面、线可能均变为点)。同时,所有地理现象和地理过程中的要素并非孤立存在,而是具有各种复杂的联系。这些联系可以从空间、时间和属性三个方面加以考察。

(1)实体间空间联系大体上可以分解为空间位置、空间分布、空间形态、空间关系、空间相关、空间统计、空间趋势、空间对比和空间运动等联系形式。其中,空间位置描述的是实体个体的定位信息;空间分布是描述空间实体的群体定位信息,且通常能够从空间概率、空间结构、空间聚类、离散度和空间延展等方面予以描述;空间形态反映空间实体的形状和结构;空间关系是基于位置和形态的实体关系;空间相关是空间实体基于属性数据上的关系;空间统计是描述空间实体的数量、质量信息,又称为空间计量;空间趋势反映实体空间分布的总体变化规律;空间对比可以体现在数量、质量、形态三个方面;空间运动则反映空间客体随时间的迁移或变化。以上种种空间信息基本上反映了空间分析所能揭示的信息内涵,彼此互有区别又有联系。

(2)实体之间的时间联系一般可以用通过实体变化过程来反映。有些实体数据的变化周期很长,如地质地貌等数据随时间的变化。而有些空间数据则变化很快,需要及时更新,如土地利用数据等。实体时间信息的表达和处理构成了空间事态GIS及数据库的基本内容。

(3)实体间的属性联系主要体现为属性多级分类体系中的从属关系、聚类关系和相关关系。从属关系主要反映各实体之间的上下级或包含关系;聚类关系是反映实体之间的相似程度及并行关系;相关关系则反映不同类实体之间的某种直接或间接的并发或共生关系。属性联系可以通过地理信息系统属性数据库的设计加以实现。

2.空间数据库的数据模型设计

对于上述地理空间实体及其联系的数学描述,可以用数据模型这个概念进行概括。建立空间数据库系统数据模型的目的,是揭示空间实体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。在GIS研究中,空间数据模型就是对空间实体进行描述和表达的数学手段,使之能反映实体的某些结构特征和行为功能。按数据模型组织的空间数据使得数据库管理系统能够对空间数据进行统一的管理,帮助用户查询、检索、增删和修改数据,保障空间数据的独立性、完整性和安全性,以利于改善对空间数据资源的使用和管理。空间数据模型是衡量地理信息系统功能强弱与优劣的主要因素之一。数据组织得好坏直接影响到空间数据库中数据查询、检索的方式、速度和效率。从这一意义上看,空间数据库的设计最终可以归结为空间数据模型设计。

数据库系统中通常采用的数据模型有层次模型、网状模型、关系模型,语义模型、面向对象的数据模型等。这是从数据的逻辑组织基于计算机存储表达角度的分类,在实际应用中GIS软件多采用关系模型,该模型有严格的理论基础――关系代数,后来该模型与面向对象模型结合,又发展了面向对象的关系模型。由于空间定位数据具有多维、多态、不定长等特性,很难纳入到关系表格存储管理,如早期的GIS数据库管理系统是把属性与空间定位数据分开。面向对象技术发展后,空间定位数据才真正纳入到数据库管理体系与属性数据管理融为一体,典型的代表便是Oracle公司推出的Oracle Spatial,以及ArcGIS的SDE GeoDataBase模块。

从空间数据组织来看,数据模型的设计有两种选择,即基于目标的和基于场的数据模型两种模型对空间的表达各有特点,但建模的侧重点不同。在GIS发展历史上,有关数据模型构建问题的争议,有人认为类似18世纪初物理学中对“波”与“粒子”的争论。

使用不同的数据系统分别存储空间数据和属性数据,通常称为地理相关模型,而基于对象数据模型则将空间数据和属性数据存储在统一的数据库中。空间数据和属性数据要通过要素ID联接起来。ESRI公司的产品ArcView对应Shape_file,Arc/Info对应Coverage,就是地理关系数据模型的代表。ArcGIS对于GeoDataBase是面向对象数据模型的代表。

3.空间数据库设计的原则、步骤和技术方法

随着地理信息系统空间数据库技术的发展,空间数据库所能表达的空间对象日益复杂,数据库和用户功能日益集成化,从而对空间数据库的设计过程提出了更高的要求。许多早期的空间数据库设计过程着重强调的是数据库的物理实现,注重于数据记录的存储和存取方法。设计人员往往只需要考虑系统各个单项独立功能的实现,从而也只考虑少数几个数据库文件的组织,然后选择适当的索引技术,以满足实现这个功能的性能要求。而现在,对空间数据库的设计已提出许多准则,其中包括:①尽量减少空间数据库的冗余量;② 提供稳定的空间数据结构,在用户需要改变时,该数据结构能迅速作相应的变化;③ 满足用户对空间数据及时访问的需求,并能高效地提供用户所需的空间数据查询结果;④在数据元素间维持复杂的联系,以反映空间数据的复杂性;⑤ 支持多种多样的决策需要,具有较强的应用适应性。

地理信息系统数据库设计往往是一件相当复杂的任务,为有效地完成这一任务特别需要一些合适的技术,同时还要求将这些设计技术有效地组织起来,构成一个有序的设计过程。设计技术和设计过程是有区别的。设计技术是指数据库设计者所使用的设计工具,其中包括各种算法、文本化方法、用户组织的图形表示法、各种转化规则、数据库定义的方法及编程技术;而设计过程则确定了这些技术的使用顺序。例如,在一个规范的设计过程中,可能要求设计人员首先用图形表示用户数据,再使用转换规则生成数据库结构,下一步再用某些确定的算法优化这一结构,这些工作完成后,就可进行数据库定义工作和程序开发工作。

一般说来,数据库设计技术分为下列两类:① 数据分析技术用于分析用户数据的语义的技术手段;②技术设计技术用于将数据分析结果转化为数据库的技术实现。

上述两类技术所处理的是两类不同的问题。第一类问题考虑的是正确的结构数据,这些问题通过使用诸如消除数据冗余技术、保证数据库稳定性技术、结构数据技术来解决,其目是使用户易于存取数据,从而满足用户对数据的各种需求。第二类问题是保证所实现的数据库能有效地使用数据资源,解决这个问题要用到一些技术设计技术,例如选择合适的存储结构以及采用有效的存取方法等。

数据库设计的内容包括了数据模型的三方面:数据结构、数据操作和完整性约束。具体区分为:①静态特性设计,又称结构特性设计。也就是根据给定的应用环境没,设计数据库的数据模型(即数据结构)或数据库模式。它包括概念结构设计和逻辑结构设计两个方面。② 动态特性设计,又称数据库的行为特性设计。设计数据库的查询、静态事务处理和报表处理等应用程序;③物理设计。根据动态特性,即应用处理要求,在选定的数据库管理系统环境之下,把静态特性设计中得到的数据库模式加以物理实现,即设计数据库的存储模式和存取方法。

数据库设计的整个过程包括以下几个典型步骤,在设计的不同的阶段要考虑不同的问题,每类问题有其不同的自然论域。在每个设计阶段必须选择适当的论述方法及与其相应的设计技术。这种方法强调的是,首先将确定用户需求与完成技术设计相互独立开来,而对其中每一个大的设计阶段再划分为若干更细的设计步骤。

(1)需求分析。根据GIS的应用领域和服务对象,把来自用户的信息加以分析、提炼,最后从功能、性能上加以描述,是用户需求分析阶段的任务。系统分析员从逻辑上定义系统功能,解决“系统干什么”,抛开了具体的物理实现过程,暂不解决“系统如何干”。面向空间管理的业务部门,其业务运作是基于大量的图形资料、图表资料、表格数据和文字资料的,这些数据的流程反映了其管理作业程序。通过结构化分析把业务过程细化, 对每个细化的业务子过程中的数据处理通过数据流程图来描述,由数据流向、加工、文件、源点和终点四种成份,得到数据操作的逻辑模型。


二、空间数据库的实现和维护

1.空间数据库的实现

根据空间数据库逻辑设计和物理设计的结果,就可以在计算机上创建起实际的空间数据库结构,装入空间数据,并测试和运行,这个过程就是空间数据库的实现过程,它包括:①建立实际的空间数据库结构;②装入试验性的空间数据对应用程序进行测试,以确立其功能和性能是否满足设计要求,并检查对数据库存储空间的占有情况;③ 装入实际的空间数据,即数据库的加载,建立起实际运行的空间数据库。

2.相关的其他设计

其他设计的工作包括加强空间数据库的安全性、完整性控制,以及保证一致性、可恢复性等,总之是以牺牲数据库运行效率为代价的。设计人员的任务就是要在实现代价和尽可能多的功能之间进行合理的平衡。这一设计过程包括:

(1)空间数据库的再组织设计。对空间数据库的概念、逻辑和物理结构的改变称为再组织,其中改变概念或逻辑结构又称为再构造,改变物理结构称为再格式化。再组织通常是由于环境需求的变化或性能原因而引起的。一般数据库管理系统,特别是关系型数据库管理系统都提供数据库再组织的实用程序。

(2)故障恢复方案设计。在空间数据库设计中考虑的故障恢复方案,一般是基于数据库管理系统提供的故障恢复手段,如果数据库管理系统已经提供了完善的软硬件故障恢复和存储介质的故障恢复手段,那么设计阶段的任务就简化为确定系统登录的物理参数,如缓冲区个数、大小、逻辑块的长度、物理设备等。否则就要定制人工备份方案。

(3)安全性考虑。许多数据库管理系统都有描述各种对象(记录、数据项)的存取权限的成分。在设计时根据用户需求分析,规定相应的存取权限。子模式是实现安全性要求的一个重要手段。也可在应用程序中设置密码,对不同的使用者给予一定的密码,以密码控制使用级别。

(4)事务控制。大多数数据库管理系统都支持事务概念,以保证多用户环境下的数据完整性和一致性。事务控制有人工和系统两种控制办法,系统控制以数据操作语句为单位,人工控制则以事务的开始和结束语句显示。大多数数据库管理系统也提供封锁粒度的选择,封锁粒度一般有库级、记录级和数据项级。粒度越大控制越简单,但并发性能差。这些在相关的设计中都要统筹考虑。

3.空间数据库的运行与维护

空间数据库投入正式运行,标志着数据库设计和应用开发工作的结束和运行维护阶段的开始。本阶段的主要工作是:①维护空间数据库的安全性和完整性。需要及时调整授权和密码,转储及恢复数据库;②监测并改善数据库性能。分析评估存储空间和响应时间,必要时进行数据库的再组织;③增加新的功能。对现有功能按用户需要进行扩充。④修改错误。包括程序和数据。

三、数据存储和管理

数据存储与管理是建立地理信息系统数据库的关键步骤,涉及到空间数据和属性数据的组织。栅格模型、矢量模型或栅格/矢量混合模型是常用的空间数据组织方法。

空间数据结构的选择在一定程度上决定了系统所能执行的数据分析的功能,在地理数据组织与管理中,最为关键的是如何将空间数据与属性数据融为一体。目前,大多数系统都是将二者分开存储,通过共同项(一般定义为地物标识码)来连接。这种组织方式的缺点是数据的定义与数据操作相分离,无法有效地记录地物在时间域上的变化属性。