您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 5 GIS数据组织与结构
本章内容:主要介绍GIS中两种重要的数据结构:栅格结构和矢量结构的特点,以及具体的存储方式,并简单介绍了相互转换的算法。第一节数据模型通俗地讲,数据模型就是现实世界的模拟。数据模型可分成两个不同的层次:(1)概念模型:也称信息模型,是按用户的观点来对数据和信息建模,是一种独立于任何计算机系统实现的,如实体联系模型,这类模型完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织所关心的信息结构,被称作“概念数据模型”。(2)数据模型:主要包括网状模型、层次模型、关系模型等,是按计算机系统的观点对数据建模,是直接面向数据库中数据逻辑结构的,涉及到计算机系统,一般又称为“基本数据模型”或“结构数据模型”。(1)概念模型基本内容:(1)两类实体:对象与属性;(2)实体的两级:个体与总体;(3)个体与总体之间的联系。用E-R图来描述现实世界的概念模型。步骤:(1)标定局部应用中的实体;(2)实体的属性、标识实体的码;(3)确定实体之间的联系及其类型(1:1、1:n、m:n)E-R图提供了表示实体、属性和联系的方法(基本要素)。实体:现实世界中一组具有某些共同特性和行为的对象可抽象为一个实体。如,在学校环境中,可把张三、李四等对象抽象为学生实体。对象与实体是“memberof”的关系。注:对象类型的组成部分可抽象为实体的属性。实体与属性是相对而言的。一般来说,属性不能再具有需要描述的性质,即属性必须不可分的数据项;属性不能和其他实体具有联系,即联系只能发生在实体之间。根据需求分析,要考察实体之间是否存在联系,有无多余联系。E-R图基础知识E-R图举例:实体:班主任、学生、班级、宿舍。班主任班级教室学生宿舍管理上课管理住宿性别职工号姓名班级号学生人数教室编号地址容量宿舍号地址人数学号姓名出生日期1n1n1n1n1n第二节数据与文件组织数据是现实世界中信息的载体,是信息的具体表达形式,为了表达有意义的信息内容,数据必须按照一定的方式进行组织和存储。数据库是为一定目的服务,以特定的数据存储的相关联的数据集合,是数据按照一定的格式存放的仓库。GIS的数据库是某一区域内关于一定地理要素特征的数据集合。空间数据库与一般数据库相比,具有:数据量特别大;不仅有地理要素的属性数据,还有大量的空间数据;数据应用广泛。1.数据库中的数据组织一般可分为四级:数据项、记录、文件和数据库。2.数据间的逻辑联系:一对一的联系;一对多的联系;多对多的联系。3.常用的数据文件:顺序文件、索引文件、直接文件和倒排文件。数据项:是可以定义数据的最小单位,也叫元素、基本项、字段等,数据项与现实世界实体的属性相对应,数据项有一定的取值范围,称为域。记录:是由若干相关联的数据项组成,是处理和存储信息的基本单位,是关于一个实体的数据总和,构成该记录的数据项表示实体的若干属性。为了标识每条记录,都必须有记录的标识符,也叫“关键字”。文件:是一给定类型记录的全部具体值的集合,文件用文件名称标识。数据库顺序文件:是最简单的文件组织形式,对记录按照主关键字的顺序进行组织。当主关键字是数字型时,以其数值的大小为序;若主关键字是文字型的,则以字母的排列为序。索引文件:除了存储记录本身(主文件)以外,还建立了若干索引表,这种带有索引表的文件叫索引文件。索引表中列出记录关键字和记录在文件中的位置(地址)。读取记录时,只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取出该记录。直接文件:又称随机文件,其存储是根据记录关键字的值,通过某种转换方法得到一个物理存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所需要的记录。倒排文件:是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的。倒排文件是一种多关键字的索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记录。因而,索引往往带有一个指针表,指向所有该索引标识的记录。通过辅索引不能直接读取记录,而要通过主关键字才能查到记录的位置。数据库结构关系模型(relationalmodel)满足一定条件的二维表格。层次模型(hierarchicalmodel)以记录类型为节点的有向树(tree)。其主要特征是:(1)除根节点外,任何节点都有且只有一个“父亲”;(2)“父”节点表示的实体与“子”节点表示的实体是一对多的联系。网状模型(networkmodel)(1)可以有一个以上的结点没有“父”结点;(2)至少有一个结点有多于一个“父”结点;(3)结点之间可以有多种联系;(4)可以存在回路。(a)关系结构表(b)层次模型示例-林地数据库(c)网状模型示例第三节空间数据组织与结构栅格数据结构矢量数据结构栅格与矢量数据结构的选择与转换两种数据结构的优缺点比较数据结构:指的是数据之间的相互关系,即数据的组织形式。数据元素之间的逻辑关系,也称数据的逻辑结构,是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可看作是从具体问题抽象出来的数学模型。数据元素及其关系在计算机存储器上的表示,称为数据的存储结构(物理结构),是逻辑结构用计算机语言的实现,它依赖于计算机语言。对机器语言而言,存储结构是具体的。描述地理实体的数据本身的组织方法,称为内部数据结构。数据结构即指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构。空间数据结构则是地理实体的空间排列方式和相互关系的抽象描述。GIS的内部数据结构基本上可分为两大类:矢量结构和栅格结构。两类结构都可用来描述地理实体的点、线、面三种基本类型。一、数据模型矢量模型在矢量模型中,每一个实体的位置用它们在坐标参考系统中的空间位置定义。地图空间中的每一位置都有唯一的坐标值。点、线和多边形用于表达不规则的地理实体在现实世界的状态。矢量模型中的空间实体与所表达的现实世界中的空间实体具有一定的对应关系。一、数据模型栅格模型在栅格模型中,空间被规则地划分为栅格。地理实体的位置和状态用其占据的栅格的行、列定义。栅格的值表达这个位置上物体的类型或状态。每个栅格的大小代表了定义的空间分辨率。栅格模型最小单元与它表达的真实世界空间实体没有直接的对应关系。如,道路是被具有道路属性值的一组栅格表达的,而不是通过某一栅格单元识别的。一、数据模型在栅格和矢量数据模型中,空间信息都是用统一的单位表达。在栅格模型中,统一的单位是栅格,表达一个区域所用栅格的数量很大,但其栅格单元的大小一样,每个栅格的位置都被严格定义。矢量方法中,统一的单元是点、线和多边形,与栅格方法相比,在数量上所用的表达单元较少,但大小可变。同一类型的矢量单元的位置是用连续坐标值定义。矢量数据提供的坐标位置比栅格数据用行、列号所表达位置更精确。栅格结构和矢量结构1.定义二、栅格数据结构及其编码000000000000000000002000000000000000000000000000000000000000000000000600000000000066600000000006000000000006000600000060000000000744444477774777444487780840877808800800887888880000888800000888特点:属性明显、定位隐含。栅格结构是最简单、最直接的空间数据结构。像元由行列确定位置。数据表示地物或现象的非几何属性特征。(a)点(b)线(c)面栅格结构表示的地表是不连续的,是量化和近似离散的数据。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。对于栅格数据结构:点:为一个像元;线:在一定方向上连接成串的相邻像元集;面:聚集在一起的相邻像元集合;点线面二、栅格数据结构及其编码栅格数据的应用模型:2.决定栅格单元代码的方式中心点法:用处于栅格中心处的地物类型或现象特性决定栅格代码。常用于具有连续分布特性的地理要素。面积占优法:以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码。常用于分类较细,地物类别斑块较小的情况。在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量。栅格单元代码的确定重要性法:根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码。常用于具有特殊意义而面积较小的地理要素。百分比法:根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码。栅格数据的组织方法主要有以下三种:(1)以栅格单元为记录的序列,不同层上同一像元位置上的各属性值表示为一个列数组(图(a));(2)以层为基础,每一层又以像元顺序记录它的坐标和属性值,一层记录完后再记录第二层(图(b))这种方法较为简单,但需要的存贮空间最大;(3)以层为基础,但每一层内则以多边形为序记录多边形的属性值和充满多边形的各栅格单元的坐标(图(c))。3.栅格数据的组织方法方法(a)比(b)占用的存储空间少,因为N层中实际只存贮了一层的像元坐标,而方法(b)则要存储多次(与属性个数相同)。方法(c)则节省了许多用于存贮属性的空间,因为同一属性的制图单元中几个栅格单元只记录一次属性值。4.栅格结构编码方法直接栅格编码:是一种简单而直观的栅格结构编码方法,通常称这种编码的图像文件为网格文件或栅格文件。直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个像元记录,也可以奇数行从左到右而偶数行从右到左记录。一些常用的栅格排列顺序压缩数据编码:分辨率与存储单元示意图(a)(b)栅格文件一般都很大,为了节省存储空间,就必须对栅格数据进行压缩。(1)链码(ChainCodes)(2)游程长度编码(3)常规四叉树编码(4)线性四叉树编码压缩数据编码(1)链码(ChainCodes)链式编码又称为弗里曼链码(Freeman)或边界链码。任意一条线都可用链码串序列表示为:(i,j)a1a2a3…an0≤ai≤7链码的例子,链码表示为:A(i,j)0765570011压缩数据编码(2)游程长度编码(Run-LengthCodes)游程编码示意图把具有相同属性值的邻近栅格单元合并在一起,合并一次称为一个游程。游程用一对数字表达,第一个值表示游程长度,第二个值表示游程属性值。每一个新行都以一个新的游程开始。表达游程长度的位数取决于栅格区域的列数,游程属性值则取决于栅格区域属性的最大类别数(分类的级别数)。(3)常规四叉树编码压缩数据编码四叉树分割基本思想:四叉树将整个图像区逐步分解为一系列被单一类型区域内含的方形区域,最小的方形区域为一个栅格象元。四叉树编码在常规四叉树中,为了保证四叉树能不断地进行下去,要求图像必须为2n2n的栅格阵列,n为极限分割数,n+1为四叉树最大高度或最大层数。上图为为23×23的栅格,因此最多划分三次,最大层数为4。常规四叉树的特点:(1)运算量较大。(2)占用的存储空间较大。链码的压缩效率较高,已经近矢量结构,对边界的运算比较方便,但不具有区域的性质,区域运算困难;游程长度编码既可以在很大程度上压缩数据,又最大限度地保留了原始栅格结构,编码解码十分容易;四叉树码具有区域性质,又具有可变的分辨率,有较高的压缩效率。×压缩数据编码三、矢量数据结构及其编码1.定义矢量数据结构是通过记录坐标的方式,尽可能地将点、线、面地理实体表现得精确无误。其坐标空间假定为连续空间,不必像栅格数据结构那样进行量化处理。因此矢量数据能更精确地定义位置、长度和大小。矢量结构的特点:定位明显、属性隐含。点实体,矢量结构中只记录其在特定坐标系下的坐标和属性代码;线实体,就是用一系列足够短的直线首尾相接表示一条曲线,当曲线被分割成多而短的线段后,这些小线段可以近似地看成直线段,而这条曲线也可以足够精确地由这些小直线段序列表示,矢量结构中只记录这些小线段的端点坐标,将曲线表示为一个坐标序列,坐标之间认为是以直线段相连,在一定精度范围内可以逼真地表示各种形状的线状地物;“多边形”在地理信息系统中是指一个任意形状、边界完全闭合的空间区域。
本文标题:5 GIS数据组织与结构
链接地址:https://www.777doc.com/doc-839991 .html