GIS空间数据库
GIS空间数据主要有定位和属性两种。常规的数据库管理系统(DBMS)主要适用于属性数据的组织和管理,不能有效地用于存储、查询检索和管理定位数据。而一些GIS软件是通过计算机操作系统的文件来管理定位数据,依赖常规数据库管理系统存储和管理属性数据。还有一些GIS软件系统嫁接了常规DBMS,使之成为该GIS软件系统的一个组成部分;有的则提供了常规数据库管理系统的基本原理以及地理数据库设计的基本原则,并能成功用这些基本原理建立地理数据库,但大型GIS都是建立在空间(地理)数据库基础上的,系统既能管理定位数据又能管理属性数据。因此,设计有效的GIS空间数据库是极其重要的。
GIS空间数据存储结构主要有文件和数据库两种形式。文件是数据组织的较高层次形式之一,是指数据记录以某种结构方式在外存储设备上的组织,它们的方式有顺序文件、索引文件、直接存取文件、索引连接文件、多关键字文件。典型GIS空间数据文件存储形式见表3.14。数据库是由若干相关文件构成的系统,构建数据库将在本章下面部分专门介绍。
表3.14 典型GIS空间数据文件存储形式
| 典型GIS空间数据文件 | 包括文件 | 备注 |
| MapInfo 数据文件 | *.tab:头文件,软件版本号、存储坐标投影、地图边界、属性项名等,是ASCII码文件 | 包括文件系统和文件组织 |
| *.map:图形文件,存储所有GIS图形 | ||
| *.id :索引文件,存储图形与属性的关联关系 | ||
| *.dat:属性文件,存储所有属性项值 | ||
| ArcView 数据文件 | *.shp: 图形文件 | 包括文件系统和文件组织 |
| *.dbf:属性文件 | ||
| *.shx:索引文件 |
一、空间数据库
数据库的定义虽然目前没有统一的表达。但一般认为数据库(DataBase,DB)是一个存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。(2)数据库是数据管理的一种方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。数据库指的是按照数据结构来组织、存储和管理数据的仓库。在计算机中,数据组织的最基本的单位为数据项(Data Item)。数据库( Data Base )是由所有相关文件的总和构成。它是最高一层的数据组织,是信息系统的信息资源,是信息系统的一个重要组成部。数据库管理系统 ( DBMS ) 是处理数据存储、进行各种管理的软件系统;对数据库的操作全部通过DBMS 进行,这些操作也称为数据库应用程序。目前常用的数据库管理系统主要有:Access、SQL Server、Oracle等。
1.空间数据库概念
空间数据库(SDB)是GIS中空间数据的存储场所。空间数据库系统(SDBS)一般包括空间数据库、空间数据库管理系统和空间数据库应用系统三个部分。
(1)空间数据库:按照一定的结构组织在一起的相关数据的集合,是GIS在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的,如表3.15所示。
(2)空间数据库管理系统:该系统的实现是建立在常规的数据库管理系统之上的。常规数据库管理系统是提供数据库建立、使用和管理工具的软件系统;而空间数据库管理系统是指能够对物理介质上存储的地理空间数据进行语义和逻辑上的定义,提供必需的空间数据查询检索和存取功能,以及能够对空间数据进行有效的维护和更新的一套软件系统。空间数据库管理系统除了需要完成常规数据库管理系统所必备的功能外,还需要提供特定的针对空间数据的管理功能。实现方法①,直接对常规数据库管理系统进行功能扩展,加入一定数量的空间数据存储与管理功能,如Oracle系统;实现方法②,在常规数据库管理系统上添加一层空间数据库引擎,以获得常规数据库管理系统功能之外的空间数据存储和管理的能力,如ESRI的SDE(SpatialDatabase Engine)等。
空间数据库与一般数据库比较,具有以下特点:
①海量数据。地理系统是一个复杂的综合体,要用数据来描述各种地理要素的位置特征、属性特征、时间特征,其数据量往往很大。
②管理数据类型多。既能管理属性数据,又能管理空间数据。
③数据应用面广。目前GIS数据已涉及到地理研究、环境保护、土地利用与规划、资源开发、生态环境、市政管理、道路建设等领域。
(3)空间数据库应用系统:是为了满足特定的用户数据处理需求而建立起来的,具有数据访问功能的应用软件,它提供给用户一个访问和操作特定数据库的用户界面。
空间数据库系统在整个GIS中占有极其重要的地位,是GIS发挥作用的关键,也是所有分析、决策的重要基础。
2.数据库系统结构
数据库系统的基本结构:一般可分为三个层次,即内模式、概念模式和外模式。进一步介绍如下。
(1)内模式:数据库最内的一层,也称存储模式。它是对数据库在物理存储器上具体实现的描述,也就是对数据物理结构和存储方式的描述。
(2)概念模式:数据库的逻辑表示,也称模式。它是对数据库中全体数据的逻辑结构和特征的描述,包括每个数据的逻辑定义以及数据间的逻辑关系,是所有用户的公共数据视图。
(3)外模式:也称子模式或用户模式。它是数据库用户(包括应用程序员和最终用户)能够看见和使用的数据逻辑结构和特征的描述,是概念模式的子集,是数据库用户的数据视面。
为了表达信息的内容,数据应按一定的方式进行组织和存储。根据数据组织方式和数据间逻辑关系,一般可分为数据项、记录、文件和数据库,如表3.15所示。
表3.15 数据库中数据组织级别
| 级别 | 特征描述 |
| 数据项 | 描述一个对象的某一属性的数据,有型(Type)和值(Value)之分。数据项的型定义了它的数据类型。数据项的值为一个具体对象的属性值,可以数字、字母、字符串等表示。一个对象可具有若干属性,一个对象可由若干数据项描述 |
| 记录 | 若干个数据项组成的一个序列就称为描述该对象的记录(Recoder)。记录类型是数据项型的一个有序组,记录值则是数据项值的同一有序组。通常,将记录值简称为记录 |
| 文件 | 记录型和记录的总和称为文件。能够唯一标识记录的数据项称为文件的关键字(Key)。用于组织文件的关键字则称为主关键字(Primary Key) |
| 数据库 | 以一定的结构集中存储在一起的相关数据文件的集合称为数据库。数据库中的数据是结构化的;对数据采取集中控制,统一管理;数据的存储独立于应用程序;具有一套标准的、可控制的方法用于数据的输入、修改、更新、检索,以确保数据的完整性和有效性;具有一定的数据保护能力 |
数据间的逻辑联系主要是指记录与记录之间的联系。记录用来表示现实世界中的实体,实体之间存在着一种或多种联系,反映这种逻辑关系主要有一对一、一对多和多对多的联系。表达这些数据结构的模型有关系模型、层状模型、网状模型、面向对象模型和时态模型等。其中关系模型、层状模型、网状模型可合称为传统数据模型。
3.数据模型
数据库的数据结构、操作集合和完整性约束规则集合组成了数据库的数据模型。传统的数据模型比较见表3.16。
表3.16传统的数据模型比较
| 数据模型 | 优点 | 缺点 |
| 层次模型 | l 易于理解、更新与扩充; l 通过关键字,数据访问易于实现; l 事先知道全部可能的查询结构,数据检索方便 | l 访问限于自上而下的路径,不够灵活; l 大量索引文件需要维护; l 一些属性值重复多次,导致数据冗余,存储和访问的开销增加 |
| 网络模型 | l 空间特征及其坐标数据易于连接; l 在很复杂的拓扑结构中搜索,有环路环境指针是一个很有效的方法; l 避免数据冗余,已有数据可充分使用 | l 间接的指针使数据库扩大,在复杂的系统中可能占据数据库的很大部分; l 每次数据库变动,这些指针必须更新维护,其工作量相当大 |
| 关系模型 | l 结构灵活; l 可以满足布尔逻辑和数学运算表达的各种查询需要; l 允许对各种数据类型的搜索、组合和比较 | l 为找到满足指定关系要求的数据,许多操作涉及到对文件的顺序搜索,对大型系统而言,很费时间; l 为保证以适宜速度进行搜索的能力,商用系统一般经过十分精心的设计,故价格昂贵 |
二、评价传统数据库
传统数据库模型在数据库发展中虽曾起过重要作用,但仍然存在许多的不足,主要表现为:
(1)以记录为基础的结构不能很好地面向用户和应用。
(2)不能以自然的方式表示客体之间的关系。
(3)语义贫乏。
(4)数据类型太少,难以满足应用需要。
目前,人们陆续提出新的数据结构,其中具有代表意义的是面向对象的数据库模型(本章曾述及)。

