玛妈说:“生活就像是一盒巧克力,你永远不知道下一块的味道。” rrest Gump 第七章空间数据管理 导读:本章首先介绍空间数据库、与般数据库的比较,以及空间数据库的存储方 式 然后介绍了GS中两种重要的数据结构:栅格结构和矢量结构,以及其具体的存储 方式,然后比较了两种结构的特点,并给出了其相互转换算法。 最后介绍了空间检索中常用的技术—空间索引介绍了一些常用的空间索引方式, 如BSP树、R树、CELL树等;以及空间数据的查询功能。 1.空间数据库 个信息系统及其数据库的组成,决定于系统的应用目的、数据类型和系统的工作方式 关于地理信息系统的内容及其功能,以及地理信息系统的一个重要特点,或者说是与一般管 理信息系统的区别,是数据具有空间分布的性质。对地理信息系统来讲,不仅数据本身具有 空间属性,系统的分析和应用也无不与地理环境直接关联。系统的这一基本特征,深刻地影 响着数据的结构、数据库的设计、分析算法和软件,以及系统的输入和输出 1.1地理信息系统与一般管理信息系统的比较 从数据源的角度来看,图形和图像数据是地理信息系统数据的一个主要来源,分析处理 的结果也常用图形的方式来表示。而一般的管理信息系统,则多以统计数据、表格数据为主。 这一点也使地理信息系统在硬件和软件上与一般的管理信息系统有所区别。 1.1.1两者的区别 1)在硬件上,为了处理图形和图像数据,系统需要配置专门的输入和输出设备,如数 字化仪、绘图机、图形图像的显示设备等;许多野外实地采集和台站的观测所得到的资源信 息是模拟量形式,系统还需要配置模一一数转换设备,这些设备往往超过中央处理机的价格 体积也比较大 2)在软件上,则要求研制专门的图形和图像数据的分析算法和处理软件,这些算法和 软件又直接和数据的结构及数据库的管理方法有关 3)在信息处理的内容和采用目的方面,一般的管理信息系统,主要是査询检索和统计 分析,处理的结果,大多是制成某种规定格式的表格数据,而地理信息系统,除了基本的信
妈妈说:“生活就像是一盒巧克力,你永远不知道下一块的味道。” Forrest Gump 第七章 空间数据管理 导读:本章首先介绍空间数据库、与一般数据库的比较,以及空间数据库的存储方 式。 然后介绍了 GIS 中两种重要的数据结构:栅格结构和矢量结构,以及其具体的存储 方式,然后比较了两种结构的特点,并给出了其相互转换算法。 最后介绍了空间检索中常用的技术——空间索引,介绍了一些常用的空间索引方式, 如 BSP 树、R 树、CELL 树等;以及空间数据的查询功能。 1.空间数据库 一个信息系统及其数据库的组成,决定于系统的应用目的、数据类型和系统的工作方式。 关于地理信息系统的内容及其功能,以及地理信息系统的一个重要特点,或者说是与一般管 理信息系统的区别,是数据具有空间分布的性质。对地理信息系统来讲,不仅数据本身具有 空间属性,系统的分析和应用也无不与地理环境直接关联。系统的这一基本特征,深刻地影 响着数据的结构、数据库的设计、分析算法和软件,以及系统的输入和输出。 1.1 地理信息系统与一般管理信息系统的比较 从数据源的角度来看,图形和图像数据是地理信息系统数据的一个主要来源,分析处理 的结果也常用图形的方式来表示。而一般的管理信息系统,则多以统计数据、表格数据为主。 这一点也使地理信息系统在硬件和软件上与一般的管理信息系统有所区别。 1.1.1 两者的区别 1)在硬件上,为了处理图形和图像数据,系统需要配置专门的输入和输出设备,如数 字化仪、绘图机、图形图像的显示设备等;许多野外实地采集和台站的观测所得到的资源信 息是模拟量形式,系统还需要配置模——数转换设备,这些设备往往超过中央处理机的价格, 体积也比较大。 2)在软件上,则要求研制专门的图形和图像数据的分析算法和处理软件,这些算法和 软件又直接和数据的结构及数据库的管理方法有关。 3)在信息处理的内容和采用目的方面,一般的管理信息系统,主要是查询检索和统计 分析,处理的结果,大多是制成某种规定格式的表格数据,而地理信息系统,除了基本的信
息检索和统计分析外,主要用于分析研宄资源的合理开发利用,制定区域发展规划,地区的 综合治理方案,对环境进行动态的监视和预测预报,为国民经济建设中的决策提供科学依据 为生产实践提供信息和指导 由于地理信息系统是一个复杂的自然和社会的综合体,所以信息的处理必然是多因素的 综合分析。系统分析是基本的方法,例如,研究某种地理信息系统中各组成部分间的相互关 系,利用统计数据建立系统的数学模型,根据给定的目标函数,进行数学规划,寻求最优方 案,使该系统的经济效益为最佳;或者分析系统中各部分之间反馈联系,建立系统的结构模 型,采用系统动力学的方法,进行动态分析,研究系统状态的变化和预测发展趋势等。计算 机仿真是一种有效而经济的分析方法,便于分析各种因素的影响和进行方案的比较,在自然 环境和社会经济的许多应用研究中常被采用。此外,地理信息系统还有分析量算的功能,如 计算面积、长度、密度、分布特征等以及地理实体之间的关系运算 1.1.2两者共同之处 地理信息系统和一般的信息管理系统,也有许多共同之处。两者都是以计算机为核心的 信息处理系统,都具有数据量大和数据之间关系复杂的特点,也都随着数据库技术的发展在 不断的改进和完善。比较起来,商用的管理信息系统发展快,用户数量大,而且已有定型的 软件产品可供选用,这也促进了软件系统的标准化。地理信息系统,由于上述一些特点,多 是根据具体的应用要求专门设计,数据格式和组织管理方法各不相同。目前国外已有几百个 空间数据处理系统和软件包,几乎没有两个系统是一样的,尽管大家都认为标准化是很重要 的,也作了许多努力(例如建立计算机制图的标准和规范),但分析的算法和软件系统还谈 不上标准化的问题。事实上,地理信息系统正作为一种空间信息的处理系统,成为一个单独 的研究和发展领域 1.2空间数据库 1.2.1数据库的概念 数据库就是为一定目的服务,以特定的数据存储的相关联的数据集合,它是数据管理的 髙级阶段,是从文件管理系统发展而来的。地理信息系统的数据库(简称空间数据库或地理 数据库)是某一区域内关于一定地理要素特征的数据集合。为了直观地理解数据库,可以把 数据库作如下比较 表7-1:数据库与图书馆比较 数据库 图书馆 数据 图书 数据模型 书卡编目 数据的物理组织 图书存放规则、书架 数据库管理系统 图书管理员 外存 书库 用户 读者 数据存取 图书阅览
息检索和统计分析外,主要用于分析研究资源的合理开发利用,制定区域发展规划,地区的 综合治理方案,对环境进行动态的监视和预测预报,为国民经济建设中的决策提供科学依据, 为生产实践提供信息和指导。 由于地理信息系统是一个复杂的自然和社会的综合体,所以信息的处理必然是多因素的 综合分析。系统分析是基本的方法,例如,研究某种地理信息系统中各组成部分间的相互关 系,利用统计数据建立系统的数学模型,根据给定的目标函数,进行数学规划,寻求最优方 案,使该系统的经济效益为最佳;或者分析系统中各部分之间反馈联系,建立系统的结构模 型,采用系统动力学的方法,进行动态分析,研究系统状态的变化和预测发展趋势等。计算 机仿真是一种有效而经济的分析方法,便于分析各种因素的影响和进行方案的比较,在自然 环境和社会经济的许多应用研究中常被采用。此外,地理信息系统还有分析量算的功能,如 计算面积、长度、密度、分布特征等以及地理实体之间的关系运算。 1.1.2 两者共同之处 地理信息系统和一般的信息管理系统,也有许多共同之处。两者都是以计算机为核心的 信息处理系统,都具有数据量大和数据之间关系复杂的特点,也都随着数据库技术的发展在 不断的改进和完善。比较起来,商用的管理信息系统发展快,用户数量大,而且已有定型的 软件产品可供选用,这也促进了软件系统的标准化。地理信息系统,由于上述一些特点,多 是根据具体的应用要求专门设计,数据格式和组织管理方法各不相同。目前国外已有几百个 空间数据处理系统和软件包,几乎没有两个系统是一样的,尽管大家都认为标准化是很重要 的,也作了许多努力(例如建立计算机制图的标准和规范),但分析的算法和软件系统还谈 不上标准化的问题。事实上,地理信息系统正作为一种空间信息的处理系统,成为一个单独 的研究和发展领域。 1.2 空间数据库 1.2.1 数据库的概念 数据库就是为一定目的服务,以特定的数据存储的相关联的数据集合,它是数据管理的 高级阶段,是从文件管理系统发展而来的。地理信息系统的数据库(简称空间数据库或地理 数据库)是某一区域内关于一定地理要素特征的数据集合。为了直观地理解数据库,可以把 数据库作如下比较: 表 7-1:数据库与图书馆比较 数据库 图书馆 数据 图书 数据模型 书卡编目 数据的物理组织 图书存放规则、书架 数据库管理系统 图书管理员 外存 书库 用户 读者 数据存取 图书阅览
1.2.2空间数据库特点 空间数据库与一般数据库相比,具有以下特点: 1)数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤 其是要素的空间位置,其数据量往往很大。 2)不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数 据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系 3)数据应用广泛,例如地理研究、环境保护、土地利用与规划、资源开发、生态环境、 市政管理、道路建设等。 1.2.3数据库管理系统 数据库是关于事物及其关系的信息组合,早期的数据库物体本身与其属性是分开存储 的,只能满足简单的数据恢复和使用。数据定义使用特定的数据结构定义,利用文件形式存 储,称之为文件处理系统。 文件处理系统是数据库管理最普遍的方法,但是有很多缺点:首先每个应用程序都必须 直接访问所使用的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应 用程序也随之修改:另外的问题是数据文件的共享。由于若干用户或应用程序共享一个数据 文件,要修改数据文件必须征得所有用户的认可。由于缺乏集中控制也会带来一系列数据库 的安全问题。数据库的完整性是严格的,信息质量很差比没有信息更糟。 数据库管理系统( Database Management System,DBMS)是在文件处理系统的基础上 进一步发展的系统。DBMS在用户应用程序和数据文件之间起到了桥梁作用。DBMS的最 大优点是提供了两者之间的数据独立性,即应用程序访问数据文件时,不必知道数据文件的 物理存储结构。当数据文件的存储结构改变时,不必改变应用程序 1)采用标准DBMS存储空间数据的主要问题 用标准的DBMS来存储空间数据,不如存储表格数据那样好,其主要问题包括: (1.1)在GS中,空间数据记录是变长的,因为需要存储的坐标点的数目是变化的 而一般数据库都只允许把记录的长度设定为固定长度。不仅如此,在存储和维护空间数据拓 扑关系方面,DBMS也存在着严重的缺陷。因而,一般要对标准的DBMS增加附加的软件 功能。 (1.2)DBMS一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作。 (1.3)GS需要一些复杂的图形功能,一般的DBMS不能支持 (1.4)地理信息是复杂的,单个地理实体的表达需要多个文件、多条记录、或许包括 大地网、特征坐标、拓扑关系、空间特征量测值、属性数据的关键字以及非空间专题属性等 般的DBMS也难以支持。 (1.5)具有高度内部联系的GIS数据记录需要更复杂的安全性维护系统,为了保证 空间数据库的完整性,保护数据文件的完整性,保护系列必须与空间数据一起存储,否则一 条记录的改变就会使其他数据文件产生错误。一般的DBMS都难以保证这些 2)GIS数据管理方法主要4种类型 (2.1)对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处理方 法 (2.2)在商业化的DBMS基础上开发附加系统。开发一个附加软件用于存储和管理 在“地理信息系统软件工程技术”一章中“数据管理设计”中详细描述了各种不同的数据管理方案
1.2.2 空间数据库特点 空间数据库与一般数据库相比,具有以下特点: 1)数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤 其是要素的空间位置,其数据量往往很大。 2)不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数 据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系。 3)数据应用广泛,例如地理研究、环境保护、土地利用与规划、资源开发、生态环境、 市政管理、道路建设等。 1.2.3 数据库管理系统 数据库是关于事物及其关系的信息组合,早期的数据库物体本身与其属性是分开存储 的,只能满足简单的数据恢复和使用。数据定义使用特定的数据结构定义,利用文件形式存 储,称之为文件处理系统。 文件处理系统是数据库管理最普遍的方法,但是有很多缺点:首先每个应用程序都必须 直接访问所使用的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应 用程序也随之修改;另外的问题是数据文件的共享。由于若干用户或应用程序共享一个数据 文件,要修改数据文件必须征得所有用户的认可。由于缺乏集中控制也会带来一系列数据库 的安全问题。数据库的完整性是严格的,信息质量很差比没有信息更糟。 数据库管理系统(Database Management System,DBMS)是在文件处理系统的基础上 进一步发展的系统。DBMS 在用户应用程序和数据文件之间起到了桥梁作用。DBMS 的最 大优点是提供了两者之间的数据独立性,即应用程序访问数据文件时,不必知道数据文件的 物理存储结构。当数据文件的存储结构改变时,不必改变应用程序。 1)采用标准 DBMS 存储空间数据的主要问题* 用标准的 DBMS 来存储空间数据,不如存储表格数据那样好,其主要问题包括: (1.1)在 GIS 中,空间数据记录是变长的,因为需要存储的坐标点的数目是变化的, 而一般数据库都只允许把记录的长度设定为固定长度。不仅如此,在存储和维护空间数据拓 扑关系方面,DBMS 也存在着严重的缺陷。因而,一般要对标准的 DBMS 增加附加的软件 功能。 (1.2)DBMS 一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作。 (1.3)GIS 需要一些复杂的图形功能,一般的 DBMS 不能支持。 (1.4)地理信息是复杂的,单个地理实体的表达需要多个文件、多条记录、或许包括 大地网、特征坐标、拓扑关系、空间特征量测值、属性数据的关键字以及非空间专题属性等, 一般的 DBMS 也难以支持。 (1.5)具有高度内部联系的 GIS 数据记录需要更复杂的安全性维护系统,为了保证 空间数据库的完整性,保护数据文件的完整性,保护系列必须与空间数据一起存储,否则一 条记录的改变就会使其他数据文件产生错误。一般的 DBMS 都难以保证这些。 2)GIS 数据管理方法主要 4 种类型 (2.1)对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处理方 法。 (2.2)在商业化的 DBMS 基础上开发附加系统。开发一个附加软件用于存储和管理 * 在“地理信息系统软件工程技术”一章中“数据管理设计”中详细描述了各种不同的数据管理方案
空间数据和空间分析,使用DBMS管理属性数据 (2.3)使用现有的DBMS,通常是以DBMS为核心,对系统的功能进行必要扩充, 空间数据和属性数据在同一个DBMS管理之下。需要增加足够数量的软件和功能来提供空 间功能和图形显示功能。 (2.4)重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统 1.3数据与文件组织 数据是现实世界中信息的载体,是信息的具体表达形式,为了表达有意义的信息内容, 数据必须按照一定的方式进行组织和存储 1.3.1数据组织的分级 数据库中的数据组织一般可以分为四级:数据项、记录、文件和数据库 1)数据项 数据项是可以定义数据的最小单位,也叫元素、基本项、字段等,数据项与现实世界实 体的属性相对应,数据项有一定的取值范围,称为域,域以外的任何值对该数据项都是无意 义的。每个数据项都有一个名称,称为数据项目。数据项的值可以是数值的、字母的、字母 数字的、汉字的等形式。数据项的物理特点在于它具有确定的物理长度,可以作为整体看待 2)记录 记录是由若干相关联的数据项组成,是处理和存储信息的基本单位,是关于一个实体的 数据总和,构成该记录的数据项表示实体的若干属性。记录有“型”和“值”的区别,“型” 是同类记录的框架,它定义记录;而“值”是记录反映实体的内容。为了唯一标识每个记录, 就必须有记录标识符,也叫关键字。记录标识符一般由记录中的第一个数据项担任,唯一标 识记录的关键字称主关键字,其它标识记录的关键字称为辅关键字。记录可以分为逻辑记录 与物理记录,逻辑记录是文件中按信息在逻辑上的独立意义来划分的数据单位;而物理记录 是单个输入输出命令进行数据存取的基本单元。物理记录和逻辑记录之间的对应关系有一个 物理记录一对应一个逻辑记录:一个物理记录含有若干个逻辑记录;若干个物理记录存放 个逻辑记录 3)文件 文件是一给定类型的(逻辑)记录的全部具体值的集合,文件用文件名称标识,文件根 据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接文件和倒排文件等。 4)数据库 数据库是比文件更大的数据组织,数据库是具有特定联系的数据的集合,也可以看成是 具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的集合,这些文件之间存 在某种联系,不能孤立存在。 1.3.2数据间的逻辑联系 数据间的逻辑联系主要是指记录与记录之间的联系。记录是表示现实世界中的实体的 实体之间存在着一种或多种联系,这样的联系必然要反映到记录之间的联系上来。数据之间 的逻辑联系主要有三种:一对一的联系;一对多的联系;多对多的联系
空间数据和空间分析,使用 DBMS 管理属性数据。 (2.3)使用现有的 DBMS,通常是以 DBMS 为核心,对系统的功能进行必要扩充, 空间数据和属性数据在同一个 DBMS 管理之下。需要增加足够数量的软件和功能来提供空 间功能和图形显示功能。 (2.4)重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统。 1.3 数据与文件组织 数据是现实世界中信息的载体,是信息的具体表达形式,为了表达有意义的信息内容, 数据必须按照一定的方式进行组织和存储。 1.3.1 数据组织的分级 数据库中的数据组织一般可以分为四级:数据项、记录、文件和数据库。 1)数据项 数据项是可以定义数据的最小单位,也叫元素、基本项、字段等,数据项与现实世界实 体的属性相对应,数据项有一定的取值范围,称为域,域以外的任何值对该数据项都是无意 义的。每个数据项都有一个名称,称为数据项目。数据项的值可以是数值的、字母的、字母 数字的、汉字的等形式。数据项的物理特点在于它具有确定的物理长度,可以作为整体看待。 2)记录 记录是由若干相关联的数据项组成,是处理和存储信息的基本单位,是关于一个实体的 数据总和,构成该记录的数据项表示实体的若干属性。记录有“型”和“值”的区别,“型” 是同类记录的框架,它定义记录;而“值”是记录反映实体的内容。为了唯一标识每个记录, 就必须有记录标识符,也叫关键字。记录标识符一般由记录中的第一个数据项担任,唯一标 识记录的关键字称主关键字,其它标识记录的关键字称为辅关键字。记录可以分为逻辑记录 与物理记录,逻辑记录是文件中按信息在逻辑上的独立意义来划分的数据单位;而物理记录 是单个输入输出命令进行数据存取的基本单元。物理记录和逻辑记录之间的对应关系有一个 物理记录一对应一个逻辑记录;一个物理记录含有若干个逻辑记录;若干个物理记录存放一 个逻辑记录。 3)文件 文件是一给定类型的(逻辑)记录的全部具体值的集合,文件用文件名称标识,文件根 据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接文件和倒排文件等。 4)数据库 数据库是比文件更大的数据组织,数据库是具有特定联系的数据的集合,也可以看成是 具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的集合,这些文件之间存 在某种联系,不能孤立存在。 1.3.2 数据间的逻辑联系 数据间的逻辑联系主要是指记录与记录之间的联系。记录是表示现实世界中的实体的。 实体之间存在着一种或多种联系,这样的联系必然要反映到记录之间的联系上来。数据之间 的逻辑联系主要有三种:一对一的联系;一对多的联系;多对多的联系
1.3.3常用数据文件 GIS: Geographic 图7-1:非顺序文件 文件组织是数据组织的一部分,数据组织既指数据在内存中的组织,又指数据在外存中 的组织,而文件组织则主要指数据记录在外存设备上的组织,它由操作系统OS进行管理, 具体讲在外存设备上如何安排数据和组织数据,以及实施对数据的访问方式等问题。操作系 统实现的文件组织方式,可以分为顺序文件、索引文件、直接文件和倒排文件 1)顺序文件 顺序文件(图7-2)是最简单的文件组织形式,对记录按照主关键字的顺序进行组织。 当主关键字是数字型时,以其数值的大小为序:若主关键字是文字型的,则以字母的排列为 序。一切存于磁带上的记录,都只能是顺序的,而存于磁盘上的记录,既可以是顺序的,也 可以是随机的。顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同 的方式,包括向量方式:被存储的文件按地址连续存放,物理结构与逻辑结构一致:链方式: 文件不按地址连续存放,文件的逻辑顺序靠链来实现,文件中的每个记录中都含有一个指针 用以指明下一个记录的存放地址;块链方式:把文件分成若干数据块,块之间用指针连接 而块内则是连续存储 LIS: Land Information Systems 图7-2:顺序文件 2)索引文件
1.3.3 常用数据文件 图 7-1:非顺序文件 文件组织是数据组织的一部分,数据组织既指数据在内存中的组织,又指数据在外存中 的组织,而文件组织则主要指数据记录在外存设备上的组织,它由操作系统 OS 进行管理, 具体讲在外存设备上如何安排数据和组织数据,以及实施对数据的访问方式等问题。操作系 统实现的文件组织方式,可以分为顺序文件、索引文件、直接文件和倒排文件。 1)顺序文件 顺序文件(图 7-2)是最简单的文件组织形式,对记录按照主关键字的顺序进行组织。 当主关键字是数字型时,以其数值的大小为序;若主关键字是文字型的,则以字母的排列为 序。一切存于磁带上的记录,都只能是顺序的,而存于磁盘上的记录,既可以是顺序的,也 可以是随机的。顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同 的方式,包括向量方式:被存储的文件按地址连续存放,物理结构与逻辑结构一致;链方式: 文件不按地址连续存放,文件的逻辑顺序靠链来实现,文件中的每个记录中都含有一个指针, 用以指明下一个记录的存放地址;块链方式:把文件分成若干数据块,块之间用指针连接, 而块内则是连续存储。 图 7-2:顺序文件 2)索引文件
索引文件除了存储记录本身(主文件)以外,还建立了若干索引表,这种带有索引表的 文件叫索引文件。索引表中列出记录关键字和记录在文件中的位置(地址)。读取记录时 只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取出该记录。索引表 般都是经过排序的,既可以是有顺序的,也可以是非顺序的,可以是单级索引,也可以是 多级索引,多级索引可以提高查找速度,但占用的存储空间较大 3)直接文件 直接文件又称随机文件,其存储是根据记录关键字的值,通过某种转换方法得到一个物 理存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所 需要的记录 4)倒排文件 倒排文件是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意: 索引文件是按照记录的主关键字来构造索引的,也叫主索引)。倒排文件是一种多关键字的 索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记录。因而,索引往往带 有一个指针表,指向所有该索引标识的记录。通过辅索引不能直接读取记录,而要通过主关 键字才能查到记录的位置。倒排文件的主要优点是在处理多索引检索时,可以在辅检索中先 完成查询的‘交’、‘并’等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度 1.4GIS的内部数据结构—矢量结构和栅格结构 描述地理实体的数据本身的组织方法,称为内部数据结构。空间数据结构是指适合于计 算机系统存储、管理和处理的地学图形的逻辑结构,是地理实体的空间排列方式和相互关系 的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用 户无法理解,计算机程序也不能正确的处理。对同样的一组数据,按不同的数据结构去处理, 得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理 解地理信息系统所采用的特定数据结构,才能正确地使用系统 内部数据结构基本上可分为两大类:矢量结构和栅格结构(也可以称为矢量模型和栅格 模型)(图7-3)。两类结构都可用来描述地理实体的点、线、面三种基本类型 空间数据编码是空间数据结构的实现,即将根据地理信息系统的目的和任务所搜集的、 经过审核了的地形图、专题地图和遥感影像等资料按特定的数据结构转换为适合于计算机存 储和处理的数据的过程。由于地理信息系统数据量极大,一般采用压缩数据的编码方式以减 少数据冗余 在地理信息系统的空间数据结构中,栅格结构的编码方式主要有直接栅格编码、链码、 游程长度编码、块码、四叉树码等:矢量结构主要有坐标序列编码、树状索引编码和二元拓 扑编码等编码方法
索引文件除了存储记录本身(主文件)以外,还建立了若干索引表,这种带有索引表的 文件叫索引文件。索引表中列出记录关键字和记录在文件中的位置(地址)。读取记录时, 只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取出该记录。索引表 一般都是经过排序的,既可以是有顺序的,也可以是非顺序的,可以是单级索引,也可以是 多级索引,多级索引可以提高查找速度,但占用的存储空间较大。 3)直接文件 直接文件又称随机文件,其存储是根据记录关键字的值,通过某种转换方法得到一个物 理存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所 需要的记录。 4)倒排文件 倒排文件是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意: 索引文件是按照记录的主关键字来构造索引的,也叫主索引)。倒排文件是一种多关键字的 索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记录。因而,索引往往带 有一个指针表,指向所有该索引标识的记录。通过辅索引不能直接读取记录,而要通过主关 键字才能查到记录的位置。倒排文件的主要优点是在处理多索引检索时,可以在辅检索中先 完成查询的‘交’、‘并’等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度。 1.4 GIS 的内部数据结构——矢量结构和栅格结构 描述地理实体的数据本身的组织方法,称为内部数据结构。空间数据结构是指适合于计 算机系统存储、管理和处理的地学图形的逻辑结构,是地理实体的空间排列方式和相互关系 的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用 户无法理解,计算机程序也不能正确的处理。对同样的一组数据,按不同的数据结构去处理, 得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理 解地理信息系统所采用的特定数据结构,才能正确地使用系统。 内部数据结构基本上可分为两大类:矢量结构和栅格结构(也可以称为矢量模型和栅格 模型)(图 7-3)。两类结构都可用来描述地理实体的点、线、面三种基本类型。 空间数据编码是空间数据结构的实现,即将根据地理信息系统的目的和任务所搜集的、 经过审核了的地形图、专题地图和遥感影像等资料按特定的数据结构转换为适合于计算机存 储和处理的数据的过程。由于地理信息系统数据量极大,一般采用压缩数据的编码方式以减 少数据冗余。 在地理信息系统的空间数据结构中,栅格结构的编码方式主要有直接栅格编码、链码、 游程长度编码、块码、四叉树码等;矢量结构主要有坐标序列编码、树状索引编码和二元拓 扑编码等编码方法
格、矢量数据结构 麻 A现实世界 ■s RR FFFF 房子 RR 河流 B量格表示形式 C矢量表示形式 图7-3:矢量结构和栅格结构 1.4.1矢量模型 在矢量模型中,现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上 表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义。地图空 间中的每一位置都有唯一的坐标值。点、线和多边形用于表达不规则的地理实体在现实世界 的状态(多边形是由若干直线围成的封闭区域的边界)。一条线可能表达一条道路,一个多 边形可能表达一块林地等。矢量模型中的空间实体与要表达的现实世界中的空间实体具有一 定的对应关系。 1.4.2栅格模型 在栅格模型中,空间被规则地划分为栅格(通常为正方形)。地理实体的位置和状态是 用它们占据的栅格的行、列来定义的。每个栅格的大小代表了定义的空间分辨率。由于位置 是由栅格行列号定义的,所以特定的位置由距它最近的栅格记录决定。例如,某个区域被划 分成10*10个栅格,那么仅能记录位于这10*10个栅格附近的物体的位置。栅格的值表达了 这个位置上物体的类型或状态。采用栅格方法,空间被划分成大量规则格网,而且每个栅格 取值可能不一样。空间单元是栅格,每一个栅格对应于一个特定的空间位置,如地表的一个 区域,栅格的值表达了这个位置的状态。 与矢量模型不一样,栅格模型最小单元与它表达的真实世界空间实体没有直接的对应关 系。栅格数据模型中的空间实体单元不是通常概念上理解的物体,它们只是彼此分离的栅格。 例如,道路作为明晰的栅格是不存在的,栅格的值才表达了路是一个实体。道路是被具有道 路属性值的一组栅格表达的,这条路不可能通过某一栅格实体被识别出来。在这两种数据结 构中,空间信息都是使用统一的单位表达。在栅格方法中,统一的单位是栅格(栅格是不可
图 7-3:矢量结构和栅格结构 1.4.1 矢量模型 在矢量模型中,现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上 表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义。地图空 间中的每一位置都有唯一的坐标值。点、线和多边形用于表达不规则的地理实体在现实世界 的状态(多边形是由若干直线围成的封闭区域的边界)。一条线可能表达一条道路,一个多 边形可能表达一块林地等。矢量模型中的空间实体与要表达的现实世界中的空间实体具有一 定的对应关系。 1.4.2 栅格模型 在栅格模型中,空间被规则地划分为栅格(通常为正方形)。地理实体的位置和状态是 用它们占据的栅格的行、列来定义的。每个栅格的大小代表了定义的空间分辨率。由于位置 是由栅格行列号定义的,所以特定的位置由距它最近的栅格记录决定。例如,某个区域被划 分成 10*10 个栅格,那么仅能记录位于这 10*10 个栅格附近的物体的位置。栅格的值表达了 这个位置上物体的类型或状态。采用栅格方法,空间被划分成大量规则格网,而且每个栅格 取值可能不一样。空间单元是栅格,每一个栅格对应于一个特定的空间位置,如地表的一个 区域,栅格的值表达了这个位置的状态。 与矢量模型不一样,栅格模型最小单元与它表达的真实世界空间实体没有直接的对应关 系。栅格数据模型中的空间实体单元不是通常概念上理解的物体,它们只是彼此分离的栅格。 例如,道路作为明晰的栅格是不存在的,栅格的值才表达了路是一个实体。道路是被具有道 路属性值的一组栅格表达的,这条路不可能通过某一栅格实体被识别出来。在这两种数据结 构中,空间信息都是使用统一的单位表达。在栅格方法中,统一的单位是栅格(栅格是不可
再分的,其属性用于表达对应位置物体的性质),表达一个区域所用栅格的数量很大,但其 栅格单元的大小一样。栅格数据文件包含有上百万个栅格,每个栅格的位置都被严格定义 在矢量方法中,统一的单元是点、线和多边形,与栅格方法相比,在数量上所用的表达单元 较少,但大小可变。在矢量文件中,元素的个数或许数千个,但毕竟没有栅格数据那么多。 同一类型的矢量单元的位置是用连续坐标值定义。矢量数据提供的坐标位置比栅格数据用 行、列号所表达位置更精确。这两种方法各有优缺点,究竟采用何种数据结构,取决于利用 数据的目的。有些地理现象用栅格数据表达更合适:有些地理现象则用矢量数据更有利,以 便表达它们之间的空间关系 2.栅格数据结构及其编码 2.1栅格数据结构 2.1.1定义 栅格结构是最简单最直接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的 网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性 类型或量值,或仅仅包括指向其属性记录的指针。因此,栅格结构是以规则的阵列来表示空 间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。如图 7-4所示,在栅格结构中,点用一个栅格单元表示;线状地物沿线走向的一组相邻栅格单元 表示,每个栅格单元最多只有两个相邻单元在线上:面或区域用记有区域属性的相邻栅格单 元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。遥感影像属于典型的 栅格结构,每个象元的数字表示影像的灰度等级 000000000000000004477777 000000000006000044444777 000020000660600044448877 000000000000060000488877 00000000000006000088 00000000000006000008 00000000 0000000 (a)点 (b)线 图7-4:点、线、区域的格网 1.2特点 栅格结构的显著特点是:属性明显,定位隐含,即数据直接记录属性的指针或属性本身 而所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得 到的。如图7-4-(a)所示,数据2表示属性或编码为2的一个点,其位置由其所在的第3 行、第4列交叉得到的。由于栅格结构是按一定的规则排列的,所表示的实体的位置很容易
再分的,其属性用于表达对应位置物体的性质),表达一个区域所用栅格的数量很大,但其 栅格单元的大小一样。栅格数据文件包含有上百万个栅格,每个栅格的位置都被严格定义。 在矢量方法中,统一的单元是点、线和多边形,与栅格方法相比,在数量上所用的表达单元 较少,但大小可变。在矢量文件中,元素的个数或许数千个,但毕竟没有栅格数据那么多。 同一类型的矢量单元的位置是用连续坐标值定义。矢量数据提供的坐标位置比栅格数据用 行、列号所表达位置更精确。这两种方法各有优缺点,究竟采用何种数据结构,取决于利用 数据的目的。有些地理现象用栅格数据表达更合适;有些地理现象则用矢量数据更有利,以 便表达它们之间的空间关系。 2.栅格数据结构及其编码 2.1 栅格数据结构 2.1.1 定义 栅格结构是最简单最直接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的 网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性 类型或量值,或仅仅包括指向其属性记录的指针。因此,栅格结构是以规则的阵列来表示空 间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。如图 7-4 所示,在栅格结构中,点用一个栅格单元表示;线状地物沿线走向的一组相邻栅格单元 表示,每个栅格单元最多只有两个相邻单元在线上;面或区域用记有区域属性的相邻栅格单 元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。遥感影像属于典型的 栅格结构,每个象元的数字表示影像的灰度等级。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 6 6 0 6 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 6 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 4 4 7 4 4 4 4 7 7 7 7 4 7 7 7 4 4 4 4 8 8 7 7 0 0 4 8 8 8 7 7 0 0 8 8 0 0 0 8 8 8 7 8 8 8 8 8 0 0 0 0 8 8 8 8 0 0 0 0 0 8 8 8 (a)点 (b)线 (c)面 图 7-4:点、线、区域的格网 2.1.2 特点 栅格结构的显著特点是:属性明显,定位隐含,即数据直接记录属性的指针或属性本身, 而所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得 到的。如图 7-4-(a)所示,数据 2 表示属性或编码为 2 的一个点,其位置由其所在的第 3 行、第 4 列交叉得到的。由于栅格结构是按一定的规则排列的,所表示的实体的位置很容易
隐含在格网文件的存储结构中,在后面讲述栅格结构编码时可以看到,每个存储单元的行列 位置可以方便地根据其在文件中的记录位置得到,且行列坐标可以很容易地转为其他坐标系 下的坐标。在格网文件中每个代码本身明确地代表了实体的属性或属性的编码,如果为属性 的编码,则该编码可作为指向实体属性表的指针。图74(a)表示了代码为2的点实体 图7-4-(b)表示了一条代码为6的线实体,而图74(c)则表示了三个面实体或称为区域 实体,代码分别为4、7和8。由于栅格行列阵列容易为计算机存储、操作和显示,因此这 种结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像的结合 处理,给地理空间数据处理带来了极大的方便。 栅格结构表示的地表是不连续的,是量化和近似离散的数据。在栅格结构中,地表被分 成相互邻接、规则排列的矩形方块(特殊的情况下也可以是三角形或菱形、六边形等),每 个地块与一个栅格单元相对应。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。 在许多栅格数据处理时,常假设栅格所表示的量化表面是连续的,以便使用某些连续函数。 由于栅格结构对地表的量化,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较 大,则造成较大的误差,由于在一个栅格的地表范围内,可能存在多于一种的地物,而表示 在相应的栅格结构中常常是一个代码。也类似于遥感影像的混合象元问题,如 Land sat的 MSS卫星影像单个象元对应地表79米*79米的矩形区域,影像上记录的光谱数据是每个象 元所对应的地表区域内所有地物类型的光谱辐射的总和效果。因而,这种误差不仅有形态上 的畸形,还可能包括属性方面的偏差 2.2决定栅格单元代码的方式 在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量。图7-5所示的一块矩 形地表区域,内部含有A、B、C三种地物类型,O点为中心点,将这个矩形区域近似地表 示为栅格结构中的一个栅格单元时,可根据需要,采取如下的方式之一来决定栅格单元的代 码 图7-5:栅格单元代码的确定 2.2.1中心点法 用处于栅格中心处的地物类型或现象特性决定栅格代码,在图7-5所示的矩形区域中 中心点O落在代码为C的地物范围内,按中心点法的规则,该矩形区域相应的栅格单元代 码为C,中心点法常用于具有连续分布特性的地理要素,如降雨量分布、人口密度图等 2.2.2面积占优法 以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码,在图7-5所示的例
隐含在格网文件的存储结构中,在后面讲述栅格结构编码时可以看到,每个存储单元的行列 位置可以方便地根据其在文件中的记录位置得到,且行列坐标可以很容易地转为其他坐标系 下的坐标。在格网文件中每个代码本身明确地代表了实体的属性或属性的编码,如果为属性 的编码,则该编码可作为指向实体属性表的指针。图 7-4-(a)表示了代码为 2 的点实体, 图 7-4-(b)表示了一条代码为 6 的线实体,而图 7-4-(c)则表示了三个面实体或称为区域 实体,代码分别为 4、7 和 8。由于栅格行列阵列容易为计算机存储、操作和显示,因此这 种结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像的结合 处理,给地理空间数据处理带来了极大的方便。 栅格结构表示的地表是不连续的,是量化和近似离散的数据。在栅格结构中,地表被分 成相互邻接、规则排列的矩形方块(特殊的情况下也可以是三角形或菱形、六边形等),每 个地块与一个栅格单元相对应。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。 在许多栅格数据处理时,常假设栅格所表示的量化表面是连续的,以便使用某些连续函数。 由于栅格结构对地表的量化,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较 大,则造成较大的误差,由于在一个栅格的地表范围内,可能存在多于一种的地物,而表示 在相应的栅格结构中常常是一个代码。也类似于遥感影像的混合象元问题,如 Landsat 的 MSS 卫星影像单个象元对应地表 79 米*79 米的矩形区域,影像上记录的光谱数据是每个象 元所对应的地表区域内所有地物类型的光谱辐射的总和效果。因而,这种误差不仅有形态上 的畸形,还可能包括属性方面的偏差。 2.2 决定栅格单元代码的方式 在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量。图 7-5 所示的一块矩 形地表区域,内部含有 A、B、C 三种地物类型,O 点为中心点,将这个矩形区域近似地表 示为栅格结构中的一个栅格单元时,可根据需要,采取如下的方式之一来决定栅格单元的代 码。 图 7-5:栅格单元代码的确定 2.2.1 中心点法 用处于栅格中心处的地物类型或现象特性决定栅格代码,在图 7-5 所示的矩形区域中, 中心点 O 落在代码为 C 的地物范围内,按中心点法的规则,该矩形区域相应的栅格单元代 码为 C,中心点法常用于具有连续分布特性的地理要素,如降雨量分布、人口密度图等。 2.2.2 面积占优法 以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码,在图 7-5 所示的例
子中,显见B类地物所占面积最大,故相应栅格代码定为B。面积占优法常用于分类较细, 地物类别斑块较小的情况。 2.2.3重要性法 根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码,假设 图7-5中A类最重要的地物类型,即A比B和C类更为重要,则栅格单元的代码应为A 重要性法常用于具有特殊意义而面积较小的地理要素,特别是点、线状地理要素,如城镇、 交通枢纽、交通线、河流水系等,在栅格中代码应尽量表示这些重要地物。 2.2.4百分比法 根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码,如可记面积最大 的两类BA,也可以根据B类和A类所占面积百分比数在代码中加入数字 2.3编码方法 2.3.1直接栅格编码 这是最简单直观而又非常重要的一种栅格结构编码方法,通常称这种编码的图像文件为 网格文件或栅格文件,栅格结构不论采用何种压缩编码方法,其逻辑原型都是直接编码网格 文件。直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每 行都从左到右逐个象元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定 目的还可采用其他特殊的顺序(图7-6)。 行主序 Peano-Hilbert 对角线 螺旋
子中,显见 B 类地物所占面积最大,故相应栅格代码定为 B。面积占优法常用于分类较细, 地物类别斑块较小的情况。 2.2.3 重要性法 根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码,假设 图 7-5 中 A 类最重要的地物类型,即 A 比 B 和 C 类更为重要,则栅格单元的代码应为 A。 重要性法常用于具有特殊意义而面积较小的地理要素,特别是点、线状地理要素,如城镇、 交通枢纽、交通线、河流水系等,在栅格中代码应尽量表示这些重要地物。 2.2.4 百分比法 根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码,如可记面积最大 的两类 BA,也可以根据 B 类和 A 类所占面积百分比数在代码中加入数字。 2.3 编码方法 2.3.1 直接栅格编码 这是最简单直观而又非常重要的一种栅格结构编码方法,通常称这种编码的图像文件为 网格文件或栅格文件,栅格结构不论采用何种压缩编码方法,其逻辑原型都是直接编码网格 文件。直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每 行都从左到右逐个象元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定 目的还可采用其他特殊的顺序(图 7-6)