空间数据库

一个信息系统及其数据库的组成,决定于系统的应用目的、数据类型和系统的工作方式。关于地理信息系统的内容及其功能,以及地理信息系统的一个重要特点,或者说是与一般管理信息系统的区别,是数据具有空间分布的性质。对地理信息系统来讲,不仅数据本身具有空间属性,系统的分析和应用也无不与地理环境直接关联。系统的这一基本特征,深刻地影响着数据的结构、数据库的设计、分析算法和软件,以及系统的输入和输出。

地理信息系统与一般管理信息系统的比较

从数据源的角度来看,图形和图像数据是地理信息系统数据的一个主要来源,分析处理的结果也常用图形的方式来表示。而一般的管理信息系统,则多以统计数据、表格数据为主。这一点也使地理信息系统在硬件和软件上与一般的管理信息系统有所区别。

两者的区别

  1. 在硬件上,为了处理图形和图像数据,系统需要配置专门的输入和输出设备,如数字化仪、绘图机、图形图像的显示设备等;许多野外实地采集和台站的观测所得到的资源信息是模拟量形式,系统还需要配置模——数转换设备,这些设备往往超过中央处理机的价格,体积也比较大。

  2. 在软件上,则要求研制专门的图形和图像数据的分析算法和处理软件,这些算法和软件又直接和数据的结构及数据库的管理方法有关。

  3. 在信息处理的内容和采用目的方面,一般的管理信息系统,主要是查询检索和统计分析,处理的结果,大多是制成某种规定格式的表格数据,而地理信息系统,除了基本的信息检索和统计分析外,主要用于分析研究资源的合理开发利用,制定区域发展规划,地区的综合治理方案,对环境进行动态的监视和预测预报,为国民经济建设中的决策提供科学依据,为生产实践提供信息和指导。

由于地理信息系统是一个复杂的自然和社会的综合体,所以信息的处理必然是多因素的综合分析。系统分析是基本的方法,例如,研究某种地理信息系统中各组成部分间的相互关系,利用统计数据建立系统的数学模型,根据给定的目标函数,进行数学规划,寻求最优方案,使该系统的经济效益为最佳;或者分析系统中各部分之间反馈联系,建立系统的结构模型,采用系统动力学的方法,进行动态分析,研究系统状态的变化和预测发展趋势等。计算机仿真是一种有效而经济的分析方法,便于分析各种因素的影响和进行方案的比较,在自然环境和社会经济的许多应用研究中常被采用。此外,地理信息系统还有分析量算的功能,如计算面积、长度、密度、分布特征等以及地理实体之间的关系运算。

两者共同之处

地理信息系统和一般的信息管理系统,也有许多共同之处。两者都是以计算机为核心的信息处理系统,都具有数据量大和数据之间关系复杂的特点,也都随着数据库技术的发展在不断的改进和完善。比较起来,商用的管理信息系统发展快,用户数量大,而且已有定型的软件产品可供选用,这也促进了软件系统的标准化。地理信息系统,由于上述一些特点,多是根据具体的应用要求专门设计,数据格式和组织管理方法各不相同。目前国外已有几百个空间数据处理系统和软件包,几乎没有两个系统是一样的,尽管大家都认为标准化是很重要的,也作了许多努力(例如建立计算机制图的标准和规范),但分析的算法和软件系统还谈不上标准化的问题。事实上,地理信息系统正作为一种空间信息的处理系统,成为一个单独的研究和发展领域。

空间数据库

数据库的概念

数据库就是为一定目的服务,以特定的数据存储的相关联的数据集合,它是数据管理的高级阶段,是从文件管理系统发展而来的。地理信息系统的数据库(简称空间数据库或地理数据库)是某一区域内关于一定地理要素特征的数据集合。为了直观地理解数据库,可以把数据库作如下比较:

表7-1:数据库与图书馆比较

数据库

图书馆

数据

图书

数据模型

书卡编目

数据的物理组织

图书存放规则、书架

数据库管理系统

图书管理员

外存

书库

用户

读者

数据存取

图书阅览

空间数据库特点

空间数据库与一般数据库相比,具有以下特点:

  1. 数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤其是要素的空间位置,其数据量往往很大。

  2. 不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系。

  3. 数据应用广泛,例如地理研究、环境保护、土地利用与规划、资源开发、生态环境、市政管理、道路建设等。

数据库管理系统

数据库是关于事物及其关系的信息组合,早期的数据库物体本身与其属性是分开存储的,只能满足简单的数据恢复和使用。数据定义使用特定的数据结构定义,利用文件形式存储,称之为文件处理系统。

文件处理系统是数据库管理最普遍的方法,但是有很多缺点:首先每个应用程序都必须直接访问所使用的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应用程序也随之修改;另外的问题是数据文件的共享。由于若干用户或应用程序共享一个数据文件,要修改数据文件必须征得所有用户的认可。由于缺乏集中控制也会带来一系列数据库的安全问题。数据库的完整性是严格的,信息质量很差比没有信息更糟。

数据库管理系统(Database Management System,DBMS)是在文件处理系统的基础上进一步发展的系统。DBMS在用户应用程序和数据文件之间起到了桥梁作用。DBMS的最大优点是提供了两者之间的数据独立性,即应用程序访问数据文件时,不必知道数据文件的物理存储结构。当数据文件的存储结构改变时,不必改变应用程序。

采用标准DBMS存储空间数据的主要问题

用标准的DBMS来存储空间数据,不如存储表格数据那样好,其主要问题包括:

  1. 在GIS中,空间数据记录是变长的,因为需要存储的坐标点的数目是变化的,而一般数据库都只允许把记录的长度设定为固定长度。不仅如此,在存储和维护空间数据拓扑关系方面,DBMS也存在着严重的缺陷。因而,一般要对标准的DBMS增加附加的软件功能。

  2. DBMS一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作。

  3. GIS需要一些复杂的图形功能,一般的DBMS不能支持。

  4. 地理信息是复杂的,单个地理实体的表达需要多个文件、多条记录、或许包括大地网、特征坐标、拓扑关系、空间特征量测值、属性数据的关键字以及非空间专题属性等,一般的DBMS也难以支持。

  5. 具有高度内部联系的GIS数据记录需要更复杂的安全性维护系统,为了保证空间数据库的完整性,保护数据文件的完整性,保护系列必须与空间数据一起存储,否则一条记录的改变就会使其他数据文件产生错误。一般的DBMS都难以保证这些。

GIS数据管理方法主要4种类型

  1. 对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处理方法。

  2. 在商业化的DBMS基础上开发附加系统。开发一个附加软件用于存储和管理空间数据和空间分析,使用DBMS管理属性数据。

  3. 使用现有的DBMS,通常是以DBMS为核心,对系统的功能进行必要扩充,空间数据和属性数据在同一个DBMS管理之下。需要增加足够数量的软件和功能来提供空间功能和图形显示功能。

  4. 重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统。

数据与文件组织

数据是现实世界中信息的载体,是信息的具体表达形式,为了表达有意义的信息内容,数据必须按照一定的方式进行组织和存储。

数据组织的分级

数据库中的数据组织一般可以分为四级:数据项、记录、文件和数据库。

1)数据项

数据项是可以定义数据的最小单位,也叫元素、基本项、字段等,数据项与现实世界实体的属性相对应,数据项有一定的取值范围,称为域,域以外的任何值对该数据项都是无意义的。每个数据项都有一个名称,称为数据项目。数据项的值可以是数值的、字母的、字母数字的、汉字的等形式。数据项的物理特点在于它具有确定的物理长度,可以作为整体看待。

2)记录

记录是由若干相关联的数据项组成,是处理和存储信息的基本单位,是关于一个实体的数据总和,构成该记录的数据项表示实体的若干属性。记录有“型”和“值”的区别,“型”是同类记录的框架,它定义记录;而“值”是记录反映实体的内容。为了唯一标识每个记录,就必须有记录标识符,也叫关键字。记录标识符一般由记录中的第一个数据项担任,唯一标识记录的关键字称主关键字,其它标识记录的关键字称为辅关键字。记录可以分为逻辑记录与物理记录,逻辑记录是文件中按信息在逻辑上的独立意义来划分的数据单位;而物理记录是单个输入输出命令进行数据存取的基本单元。物理记录和逻辑记录之间的对应关系有一个物理记录一对应一个逻辑记录;一个物理记录含有若干个逻辑记录;若干个物理记录存放一个逻辑记录。

3)文件

文件是一给定类型的(逻辑)记录的全部具体值的集合,文件用文件名称标识,文件根据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接文件和倒排文件等。

4)数据库

数据库是比文件更大的数据组织,数据库是具有特定联系的数据的集合,也可以看成是具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的集合,这些文件之间存在某种联系,不能孤立存在。

数据间的逻辑联系

数据间的逻辑联系主要是指记录与记录之间的联系。记录是表示现实世界中的实体的。实体之间存在着一种或多种联系,这样的联系必然要反映到记录之间的联系上来。数据之间的逻辑联系主要有三种:一对一的联系;一对多的联系;多对多的联系。

常用数据文件

../../_images/img_17.jpg

非顺序文件

文件组织是数据组织的一部分,数据组织既指数据在内存中的组织,又指数据在外存中的组织,而文件组织则主要指数据记录在外存设备上的组织,它由操作系统OS进行管理,具体讲在外存设备上如何安排数据和组织数据,以及实施对数据的访问方式等问题。操作系统实现的文件组织方式,可以分为顺序文件、索引文件、直接文件和倒排文件。

1)顺序文件

顺序文件(图7-2)是最简单的文件组织形式,对记录按照主关键字的顺序进行组织。当主关键字是数字型时,以其数值的大小为序;若主关键字是文字型的,则以字母的排列为序。一切存于磁带上的记录,都只能是顺序的,而存于磁盘上的记录,既可以是顺序的,也可以是随机的。顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同的方式,包括向量方式:被存储的文件按地址连续存放,物理结构与逻辑结构一致;链方式:文件不按地址连续存放,文件的逻辑顺序靠链来实现,文件中的每个记录中都含有一个指针,用以指明下一个记录的存放地址;块链方式:把文件分成若干数据块,块之间用指针连接,而块内则是连续存储。

../../_images/img_27.jpg

顺序文件

2)索引文件

索引文件除了存储记录本身(主文件)以外,还建立了若干索引表,这种带有索引表的文件叫索引文件。索引表中列出记录关键字和记录在文件中的位置(地址)。读取记录时,只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取出该记录。索引表一般都是经过排序的,既可以是有顺序的,也可以是非顺序的,可以是单级索引,也可以是多级索引,多级索引可以提高查找速度,但占用的存储空间较大。

3)直接文件

直接文件又称随机文件,其存储是根据记录关键字的值,通过某种转换方法得到一个物理存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所需要的记录。

4)倒排文件

倒排文件是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意:索引文件是按照记录的主关键字来构造索引的,也叫主索引)。倒排文件是一种多关键字的索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记录。因而,索引往往带有一个指针表,指向所有该索引标识的记录。通过辅索引不能直接读取记录,而要通过主关键字才能查到记录的位置。倒排文件的主要优点是在处理多索引检索时,可以在辅检索中先完成查询的‘交’、‘并’等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度。

GIS的内部数据结构——矢量结构和栅格结构

描述地理实体的数据本身的组织方法,称为内部数据结构。空间数据结构是指适合于计算机系统存储、管理和处理的地学图形的逻辑结构,是地理实体的空间排列方式和相互关系的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用户无法理解,计算机程序也不能正确的处理。对同样的一组数据,按不同的数据结构去处理,得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理解地理信息系统所采用的特定数据结构,才能正确地使用系统。

内部数据结构基本上可分为两大类:矢量结构和栅格结构(也可以称为矢量模型和栅格模型)(图7-3)。两类结构都可用来描述地理实体的点、线、面三种基本类型。

空间数据编码是空间数据结构的实现,即将根据地理信息系统的目的和任务所搜集的、经过审核了的地形图、专题地图和遥感影像等资料按特定的数据结构转换为适合于计算机存储和处理的数据的过程。由于地理信息系统数据量极大,一般采用压缩数据的编码方式以减少数据冗余。

在地理信息系统的空间数据结构中,栅格结构的编码方式主要有直接栅格编码、链码、游程长度编码、块码、四叉树码等;矢量结构主要有坐标序列编码、树状索引编码和二元拓扑编码等编码方法。

../../_images/img_310.png

矢量结构和栅格结构

矢量模型

在矢量模型中,现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义。地图空间中的每一位置都有唯一的坐标值。点、线和多边形用于表达不规则的地理实体在现实世界的状态(多边形是由若干直线围成的封闭区域的边界)。一条线可能表达一条道路,一个多边形可能表达一块林地等。矢量模型中的空间实体与要表达的现实世界中的空间实体具有一定的对应关系。

栅格模型

在栅格模型中,空间被规则地划分为栅格(通常为正方形)。地理实体的位置和状态是用它们占据的栅格的行、列来定义的。每个栅格的大小代表了定义的空间分辨率。由于位置是由栅格行列号定义的,所以特定的位置由距它最近的栅格记录决定。例如,某个区域被划分成10*10个栅格,那么仅能记录位于这10*10个栅格附近的物体的位置。栅格的值表达了这个位置上物体的类型或状态。采用栅格方法,空间被划分成大量规则格网,而且每个栅格取值可能不一样。空间单元是栅格,每一个栅格对应于一个特定的空间位置,如地表的一个区域,栅格的值表达了这个位置的状态。

与矢量模型不一样,栅格模型最小单元与它表达的真实世界空间实体没有直接的对应关系。栅格数据模型中的空间实体单元不是通常概念上理解的物体,它们只是彼此分离的栅格。例如,道路作为明晰的栅格是不存在的,栅格的值才表达了路是一个实体。道路是被具有道路属性值的一组栅格表达的,这条路不可能通过某一栅格实体被识别出来。在这两种数据结构中,空间信息都是使用统一的单位表达。在栅格方法中,统一的单位是栅格(栅格是不可再分的,其属性用于表达对应位置物体的性质),表达一个区域所用栅格的数量很大,但其栅格单元的大小一样。栅格数据文件包含有上百万个栅格,每个栅格的位置都被严格定义。在矢量方法中,统一的单元是点、线和多边形,与栅格方法相比,在数量上所用的表达单元较少,但大小可变。在矢量文件中,元素的个数或许数千个,但毕竟没有栅格数据那么多。同一类型的矢量单元的位置是用连续坐标值定义。矢量数据提供的坐标位置比栅格数据用行、列号所表达位置更精确。这两种方法各有优缺点,究竟采用何种数据结构,取决于利用数据的目的。有些地理现象用栅格数据表达更合适;有些地理现象则用矢量数据更有利,以便表达它们之间的空间关系。