GIS6空间数据管理PPT课件PPT课件下载推荐.ppt
《GIS6空间数据管理PPT课件PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《GIS6空间数据管理PPT课件PPT课件下载推荐.ppt(136页珍藏版)》请在冰点文库上搜索。
b)接受另一个系统的数据文件,运行控制数据存取、更新数据完整性、有效性数据共享,重新定义数据重新组织性能监督与分析数据库整理故障恢复,操作系统接口处理各种语言接口远程操做接口处理,DBMS组成,语言处理程序,运行控制程序,建立与维护程序,数据描述语言(DDL)数据操作语言(DML)终端命令解译,系统控制数据存取数据更新并发控制数据完整性,数据装入性能监控工作日志重新组织数据转储系统恢复,SQL语言:
数据查询DataQuery数据定义DataDefinition数据操纵DataManipulation数据控制DataControl,数据库管理系统存储空间数据的问题,数据库管理系统存储空间数据的问题:
空间记录是变长的,一般数据库都只允许把记录的长度设置成固定的DBMS一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作。
GIS需要复杂的图形功能地理信息复杂,常有单个实体需要多个文件,多条记录地理数据具有高度内部联系,需要更复杂的安全性维护系统。
GIS数据管理方法的4种主要类型,GIS数据管理方法的4种主要类型:
开发独立的数据管理服务。
在商业化的DBMS基础上开发附加系统。
使用现有的DBMS,对系统的功能进行必要扩充。
重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统。
数据库管理员,决定数据库的信息内容数据库系统的联络员决定存储结构和访问策略决定系统的保护策略监督系统工作,1.3数据与文件组织,数据层次(数据项、记录、文件、数据库)数据间的逻辑联系(一对一、一对多、多对多)用数据文件(顺序、直接、索引、到排文件),数据项组,逻辑数据单位之间的关系,物理单位:
位(比特)、字节、字、块(物理记录)、桶和卷逻辑单位:
数据项、数据项组、记录、文件和数据库,一、数据的层次单位,1.3数据与文件组织,数据项数据项组记录文件数据库,最基本的不可分割的数据单位,具有独立的逻辑意义,逻辑上具有某种共同标志的若干数据项组成的,数据项或数据项组集合,对文件进行存取操作的基本单位,给定类型逻辑记录的全部具体值的集合,文件的集合,文件之间存在某种联系,不能孤立存在,1.3数据与文件组织,二、常用数据文件,它是物理顺序与逻辑顺序一致的文件,1.3数据与文件组织,文件中的贮存是根据记录关键字的值,通过某种转换方法得到一个物理存贮位置,然后把记录存贮在该位置上。
1.3数据与文件组织,二、常用数据文件,即带有索引的文件,它只能建立在随机存取介质上。
1.3数据与文件组织,二、常用数据文件,按照一些辅关键字来组织索引称为辅索引,带有这种辅索引的文件称为倒排文件。
1.3数据与文件组织,二、常用数据文件,1.4GIS内部的数据结构,矢量结构和栅格结构矢量模型:
现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义。
栅格模型:
在栅格模型中,空间被规则地划分为栅格(通常为正方形)。
地理实体的位置和状态是用它们占据的栅格的行、列来定义的。
矢量结构和栅格结构,2栅格数据结构及其编码,基本概念特点编码方式,I什么是栅格数据结构(Raster)?
栅格结构是最简单最直接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性类型或量值,或仅仅包括指向其属性记录的指针。
I什么是栅格数据结构(Raster)?
栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。
栅格结构表示的地表是不连续的,是量化和近似离散的数据。
每一个单元格对应一个相应的地块。
Realworld,Grid,Point,Line,Area,Value,=0=1=2=3,Row,Column,Triangles,Hexagons,RASTER,栅格数据结构示例,(a)点(b)线(c)面,栅格数据单元格经常是矩形(主要是正方形)的,但并不是必须如此。
其单元格形状可以随应用的需要进行具体设定,比如设置为三角形。
栅格数据的比例尺就是栅格大小与地表相应单元大小之比。
栅格尺寸越小,其分辨率越高,数据量也越大。
栅格数据的形状、尺寸及相关问题,由于栅格结构对地表的离散,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较大,则造成较大的误差。
由于栅格单元中存在多种地物,而数据中常常只记录一个属性值,这会导致属性误差。
比如,遥感数据中的“混合像元”问题。
栅格数据的形状、尺寸及相关问题,II栅格数据结构的特点,属性明显数据中直接记录了数据属性或指向数据属性的指针,因而我们可以直接得到地物的属性代码定位隐含所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得到的。
栅格结构是按一定的规则排列的,所表示的实体的位置很容易隐含在格网文件的存储结构中,II栅格数据结构的特点,栅格数据结构结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像的结合处理,给地理空间数据处理带来了极大的方便,III决定栅格单元代码的方式,基本原则:
在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量。
注意:
每一个单元可能对应多个地物种类或多个属性值。
比如遥感图像中的“混合像元”。
III决定栅格单元代码的方式,中心点法处理方法:
用处于栅格中心处的地物类型或现象特性决定栅格代码常用于具有连续分布特性的地理要素,如降雨量分布、人口密度图等。
例如:
中心点O落在代码为C的地物范围内,按中心点法的规则,该矩形区域相应的栅格单元代码为C,III决定栅格单元代码的方式,2.面积占优法处理方法:
以占栅格区域面积比例最大的地物类型或现象特性决定栅格单元的代码面积占优法常用于分类较细,地物类别斑块较小的情况,例如:
所示的例子中,显见B类地物所占面积最大,故相应栅格代码定为B,III决定栅格单元代码的方式,3.重要性法处理方法:
根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码重要性法常用于具有特殊意义而面积较小的地理要素,特别是点、线状地理要素,如城镇、交通枢纽、交通线、河流水系等,在栅格中代码应尽量表示这些重要地物,例如:
假设A类最重要的地物类型,即A比B和C类更为重要,则栅格单元的代码应为A,III决定栅格单元代码的方式,4.百分比法处理方法:
根据栅格区域内各地理要素所占面积的百分比数确定栅格单元的代码适用于地物面积具有重要意义的分类体系,例如:
可记面积最大的两类BA,也可以根据B类和A类所占面积百分比数在代码中加入数字,III决定栅格单元代码的方式,5.其他方法根据具体的应用内容,栅格单元的代码确定方式还可以采用其他方法,如插值方法(平均值就是其中之一),或使用特定的计算函数等。
IV栅格数据编码,栅格数据编码方法分为两大类:
直接栅格编码压缩编码方法链码游程长度编码块码四叉树,直接栅格编码,直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元进行记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序,一些常用的栅格排列顺序,压缩编码方式,压缩编码的目的就是用尽可能少的数据量记录尽可能多的信息,其类型分为信息无损编码编码过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息信息有损编码为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复,压缩编码方式,在地理信息系统中的压缩编码多采用信息无损编码,而对原始遥感影像进行压缩时也可以采取有损压缩编码方法。
压缩编码方式,1链码(ChainCodes)链式编码又称为弗里曼链码(Freeman,1961)或边界链码。
该编码方法将数据表示为由某一原点开始并按某些基本方向确定的单位矢量链。
基本方向可定义为:
东0,东南1,南2,西南3,西4,西北5,北6,东北7等八个基本方向。
例如,确定原点为像元(10,1),则某个多边形边界按顺时针方向的链式编码为:
10,1,7,0,1,0,7,1,7,0,0,2,3,2,2,1,0,7,0,0,0,0,2,4,3,4,4,3,4,4,5,4,5,4,5,4,5,4,6,6。
其中前两个数字10和1表示起点为第十行第一列,从第三个数字开始每个数字表示单位矢量的方向,八个方向以07的整数代表。
链码(ChainCodes),链码(ChainCodes),优点:
链式编码对多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如面积和周长计算等,探测边界急弯和凹进部分等都比较容易,比较适于存储图形数据。
缺点:
对叠置运算如组合、相交等则很难实施,对局部修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界,相邻区域的公共边界被重复存储会产生冗余。
压缩编码方式,2游程长度编码(Run-LengthCodes)它的基本思路是:
对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。
游程长度编码(Run-LengthCodes),其实现方法有两种一种编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。
另一种游程长度编码方案就是逐个记录各行(或列)代码发生变化的位置和相应代码,游程长度编码示例,按第一种编码方法,此数据游程长度编码:
(0,1),(4,2),(7,5);
(4,5),(7,3);
(4,4),(8,2),(7,2);
(0,2),(4,1),(8,3),(7,2);
(0,2),(8,4),(7,1),(8,1);
(0,3),(8,5);
(0,4),(8,4);
(0,5),(8,3)。
用44个整数表达了原始数据中的64个栅格。
游程长度编码示例,按第二种编码方法,此数据游程长度编码(沿列方向):
(1,0),(2,4),(4,0),(1,4),(4,0);
(1,4),(5,8),(6,0);
(1,7),(2,4),(4,8),(7,0);
(1,7),(2,4),(3,8),(8,0);
(1,7),(3,8);
(1,7),(6,8);
(1,7),(5,8)。
游程长度编码优缺点,优点压缩效率较高,且易于进行检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况缺点对于图斑破碎,属性和边界多变的数据压缩效率较低,甚至压缩后的数据量比原始数据还大。
压缩编码方式,3块码(ChainCodes)块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。
块码编码示例,其块码编码为:
(1,1,1,0),(1,2,2,4),(1,4,1,7),(1,5,1,7),(1,6,2,7),(1,8,1,7),(2,1,1,4),(2,4,1,4),(2,5,1,4),(2,8,1,7),(3,1,1,4),(3,2,1,4),(3,3,1,4),(3,4,1,4),(3,5,2,8),(3,7,2,7),(4,1,2,0),(4,3,1,4),(4,4,1,8),(5,3,1,8),(5,4,2,8),(5,6,1,8),(5,7,1,7),(5,8,1,8),(6,1,3,0),(6,6,3,8),(7,4,1,0),(7,5,1,8),(8,4,1,0),(8,5,1,0)。
压缩编码方式,4四叉树编码四叉树编码将整个图像区逐步分解为一系列仅包含单一类型的方形区域,最小的方形区域为一个栅格象元。
四叉树编码,其基本分割方法是将一幅栅格地图或图像等分为四部分。
逐块检查其栅格属性值(或灰度)。
如果某个子区的所有栅格值都具有相同的值。
则这个子区就不再继续分割,否则还要把这个子区再分割成四个子区。
这样依次地分割,直到每个子块都只含有相同的属性值或灰度为止。
四叉树编码,由上而下的方法运算量大,耗时较长。
因而实践中可以采用从下而上的方法建立四叉树编码。
对栅格数据按如下的顺序进行检测:
如果每相邻四个栅格值相同则进行合并,逐次往上递归合并,直到符合四叉树的原则为止。
这种方法重复计算较少,运算速度较快。
四叉树编码,采用四叉树编码时,为了保证四叉树分解能不断地进行下去,要求图像必须为2n2n的栅格阵列,对于非标准尺寸的图像需首先通过增加背景的方法将图像扩充为2n2n的图像。
四叉树的结构方式,四叉树结构按其编码的方法不同分为常规四叉树和线性四叉树:
常规四叉树:
除了记录叶结点之外,还要记录中间结点。
结点之间借助指针联系,每个结点需要用六个量表达:
四个叶结点指针,一个父结点指针和一个结点的属性或灰度值。
这些指针不仅增加了数据贮存量,而且增加了操作的复杂性。
常规四叉树主要在数据索引和图幅索引等方面应用。
线性四叉树:
只存贮最后叶结点的信息。
包括叶结点的位置、深度和本结点的属性或灰度值。
所谓深度是指处于四叉树的第几层上。
由深度可推知子区的大小。
线性四叉树叶结点的编号需要遵循一定的规则,这种编号称为地址码,它隐含了叶结点的位置和深度信息。
最常用的地址码是四进制或十进制的Morton码。
四叉树编码示例,其中最上面的结点叫根结点,它对应整个图形。
此树共有4层结点,每个结点对应一个象限,如第2层4个结点分别对应于整个图形的四个象限,排列次序依次为南西(SW)、南东(SE)、北西(NW)和北东(NE),不能再分的结点称为终止结点(又称叶子结点),可能落在不同的层上,该结点代表的子象限具有单一的代码,所有终止结点所代表的方形区域覆盖了整个图形。
从上到下,从左到右为叶子结点编号,共有40个叶子结点,也就是原图被划分为40个大小不等的方形子区(最下面的一排数字表示各子区的代码)。
四叉树编码示例,四叉树编码的优缺点,优点:
四叉树编码具有可变的分辨率,树的深度随数据的破碎程度而变化,并且有区域性质,压缩数据灵活,许多数据和转换运算可以在编码数据上直接实现,大大地提高了运算效率,并支持拓扑“洞”(嵌套多边形)的表达,是优秀的栅格压缩编码之一。
其最大不足是其不稳定性,即同样的原始数据应用不同的算法进行编码可能会得到不同的编码结果。
不利于数据分析。
压缩编码方式,5其他编码还有很多编码方法,如傅立叶变换、小波变换、余弦变换等,常常用于遥感原始数据的压缩。
由于它们多数是有损压缩,一般不用于需要进行分析的栅格数据。
在四叉树基础上发展而来的八叉树目前也是研究热点之一。
压缩编码的相关问题,同所有的数据结构问题一样,压缩编码过程的主要矛盾也是数据量压缩和运算时间之间的矛盾:
为了更有效地利用空间资源,减少数据冗余,不得不花费更多的运算时间进行编码。
好的压缩编码方法就是要在尽可能减少运算时间的基础上达到最大的数据压缩效率,并且算法要适应性强,易于实现,常见栅格压缩编码方法总结:
链码的压缩效率较高,已经近矢量结构,对边界的运算比较方便,但不具有区域的性质,区域运算困难。
游程长度编码既可以在很大程度上压缩数据,又最大限度地保留了原始栅格结构,编码解码十分容易。
但对破碎数据处理效果不好。
块码和四叉树编码具有区域性质,又具有可变的分辨率,有较高的压缩效率,但运算效率是其瓶颈。
其中四叉树编码可以直接进行大量图形图像运算,效率较高,是很有前途的方法。
分层栅格数据的存储结构,在GIS数据库中,对于分层的栅格数据的存储结构有三种基本方式:
1、基于像元:
以像元作为独立存储单元,每个像元对应一条记录,每条记录中的记录内容包括像元坐标及其属性值的编码。
不同层上同一个像元位置上的各属性值表示为一个数组。
2、基于层:
以层作为基础,每层又以像元为序记录坐标和属性值,一层记录完后再记录第二层。
3、基于多边形:
以层作为基础,每层以多边形为序记录多边形的属性值和充满多边形的各像元坐标。
分层栅格数据的存储结构,3矢量数据结构及其编码,基本概念特点编码方式,I矢量数据结构基本概念,矢量数据结构:
通过记录坐标的方式尽可能精确地表示点、线、多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。
在一般情况下,其精度比栅格数据结构高得多。
其精度仅受数字化设备的精度和数值记录字长的限制。
I矢量数据结构基本概念,几何体的类型,I矢量数据结构基本概念,矢量数据的类型,I矢量数据结构基本概念,矢量结构允许最复杂的数据以最小的数据冗余进行存储,相对栅格结构来说,数据精度高,所占空间小,是高效的空间数据结构。
II矢量数据结构特点,1定位明显其定位是根据坐标直接存储的,无需任何推算2属性隐含属性则一般存于文件头或数据结构中某些特定的位置上,II矢量数据结构特点,矢量数据结构图形运算的算法总体上比栅格数据结构复杂的多,在叠加运算、邻域搜索等操作时比较困难,有些甚至难以实现,但其也有便利和独到之处,在计算长度、面积、形状和图形编辑、几何变换操作中,矢量结构有很高的效率和精度。
矢量数据存储模型,矢量数据库模型中,可以将图形数据和属性数据同时存储在一个数据表中,每一个图层对应这样一个数据表。
III矢量数据编码,编码方法:
点实体线实体多边形坐标序列法树状索引编码法拓扑结构编码法,III矢量数据编码,点实体点是空间上不能再分的地理实体,可以是具体的或抽象的,如地物点、文本位置点或线段网络的结点等,由一对x、y坐标表示。
对于点实体,矢量结构中只记录其在特定坐标系下的坐标和属性代码,点实体数据编码,III矢量数据编码,线实体对于线实体,在数字化时即进行量化,就是用一系列足够短的直线首尾相接表示一条曲线,当曲线被分割成多而短的线段后,这些小线段可以近似地看成直线段,而这条曲线也可以足够精确地由这些小直线段序列表示,矢量结构中只记录这些小线段的端点坐标,将曲线表示为一个坐标序列,坐标之间认为是以直线段相连,在一定精度范围内可以逼真地表示各种形状的线状地物,线实体矢量数据编码,唯一标识码是系统排列序号;
线标识码可以标识线的类型;
起始点和终止点号可直接用坐标表示;
显示信息是显示时的文本或符号等;
与线相联系的非几何属性可以直接存储于线文件中,也可单独存储,而由标识码联接查找。
III矢量数据编码,多边形实体编码“多边形”在地理信息系统中是指一个任意形状、边界完全闭合的空间区域。
其边界将整个空间划分为外部和内部。
多边形数据是描述地理信息的最重要的一类数据。
在区域实体中,具有名称属性和分类属性的,多用多边形表示,如行政区、土地类型、植被分布等。
多边形实体编码,多边形矢量编码不但要表示位置和属性,更为重要的是要能表达区域的拓扑性质,如形状、邻域和层次等,以便使这些基本的空间单元可以作为专题图资料进行显示和操作,由于要表达的信息十分丰富,基于多边形的运算多而复杂,因此多边形矢量编码比点和线实体的矢量编码要复杂得多,也更为重要。
多边形实体编码,多边形矢量编码除有存储效率的要求外,一般还要求所表示的各多边形有各自独立的形状,可以计算各自的周长和面积等几何指标;
各多边形拓扑关系的记录方式要一致,以便进行空间分析;
要明确表示区域的层次,如岛-湖-岛的关系等。
因此,它与机助制图系统仅为显示和制图目的而设计的编码有很大不同。
多边形实体编码方法,坐标序列法(Spaghetti方式)树状索引编码法拓扑结构编码法,坐标序列法(Spaghetti方式),由多形边界的x、y坐标对集合及说明信息组成,是最简单的一种多边形矢量编码,多边形矢量编码方法
(1),坐标序列法(Spaghetti方式)示例,图形数据,10:
x1,y1;
x2,y2;
x3,y3;
x4,y4;
x5,y5;
x6,y6;
x7,y7;
x8,y8;
x9,y9;
x10,y10;
x11,y11;
20:
x12,y12;
x13,y13;
x14,y14;
x15,y15;
x16,y16;
x17,y17;
x18,y18;
x19,y19;
x20,y20;
x21,y21;
x22,y22;
x23,y23;
30:
x33,y33;
x34,y34;
x35,y35;
x36,y36;
x37,y37;
x38,y38;
x39,y39;
x40,y40;
40:
x28,y28;
x29,y29;
x30,y30;
x31,y31;
x32,y32;
50:
x24,y24;
x25,y25;
x26,y26;
x27,y27;
编码数据,坐标序列法的优缺点,优点文件结构简单,易于实现以多边形为单位的运算和显示缺点多边形之间的公共边界被数字化和存储两次,由此产生冗余和碎屑多边形;
每个多边形自成体系而缺少邻域信息,难以进行邻域处理,如消除某两个多边形之间的共同边界;
岛只作为一个单个的图形建造,没有与外包多边形的联系;
不易检查拓扑错误。
这种方法可用于简单的粗精度制图系统中。
多边形矢量编码方法
(1),树状索引编码法,采用树状索引以减少数据冗余并间接增加邻域信息,方法是对所有边界点进行数字化,将坐标对以顺序方式存储,由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构,多边形矢量编码方法
(2),树状索引编码法示例,图形数据,多边形矢量编码方法
(2),树状索引编码法示例,线与多边形之间的树状索引,多边形矢量编码方法
(2),树状索引编码法示例,点与边界线之间的树状索引,多边形矢量编码方法
(2),树状索引编码法示例,形成的文件记录,树状索引编码法的优势和不足,树状索引编码消除了相邻多边形边界的数据冗余和不一致的问题,在简化过于复杂的边界线或合并相邻多边形时可不必改造索引表,邻域信息和岛状信息可以通过对多边形文件的线索引处理得到,但是比较繁琐,因而给相邻函数运算,消除无用边,处理岛状信息以及检查拓扑关系带来一定的困难,而且两个编码表都需要以人工方式建立,工作量大且容易出错。
多边形矢量编码方法
(2),多边形矢量编码方法(3)拓扑结构编码法,要彻底解决邻域和岛状信息处理问题必须建立一个完整的拓扑关系结构,这种结构应包括以下内容:
唯一标识,多边形标识,外包多边形指针,邻接多边形指针,边界链接,范围(最大和最小x、y坐标值,即外包矩形信息)。
多边形矢量编码方法(3)拓扑结构编码法,该结构包括以下内容:
唯一标识多边形标识外包多边形指针邻接多边形指针边界链接范围,较好的解决了空间关系查询等问题,但增加了算法的复杂度和数据库的大小表示地理实体的方法精确,数据存储效率高,地图输出质量好,多边形矢量编码方法(4)不规则三角网(TIN),该结构包括以下内