七章节空间数据管理.ppt

上传人:本田雅阁 文档编号:2328029 上传时间:2019-03-22 格式:PPT 页数:83 大小:1.36MB
返回 下载 相关 举报
七章节空间数据管理.ppt_第1页
第1页 / 共83页
七章节空间数据管理.ppt_第2页
第2页 / 共83页
七章节空间数据管理.ppt_第3页
第3页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《七章节空间数据管理.ppt》由会员分享,可在线阅读,更多相关《七章节空间数据管理.ppt(83页珍藏版)》请在三一文库上搜索。

1、第七章 空间数据管理,邬 伦 北京大学地球与空间科学学院 遥感与地理信息系统研究所 2004年12月,1空间数据库,1.1 地理信息系统与一般管理信息系统的比较 两者的区别: 硬件 软件 信息处理的内容和采用目的 共同之处: 以计算机为核心的信息处理系统,都具有数据量大和数据之间关系复杂的特点,也都随着数据库技术的发展在不断的改进和完善。,1.2 空间数据库,概念 :某一区域内关于一定地理要素特征的数据集合 。 特点 : 数据量特别大 ; 既有属性数据,又有空间数据 ; 数据应用广泛 。 数据库管理系统 GIS数据管理方法的4种主要类型 : 开发独立的数据管理服务 。 在商业化的DBMS基础上

2、开发附加系统 。 使用现有的DBMS,对系统的功能进行必要扩充 。 重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统 。,1.3 GIS内部的数据结构,矢量结构和栅格结构 矢量模型 :现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义。 栅格模型 :在栅格模型中,空间被规则地划分为栅格(通常为正方形)。地理实体的位置和状态是用它们占据的栅格的行、列来定义的。,矢量结构和栅格结构,2栅格数据结构及其编码,基本概念 特点 编码方式,I 什么是栅格数据结构(Raster) ?,栅格结构是最简单最直接的空间

3、数据结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性类型或量值,或仅仅包括指向其属性记录的指针。,I 什么是栅格数据结构(Raster) ?,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。 栅格结构表示的地表是不连续的,是量化和近似离散的数据。每一个单元格对应一个相应的地块。,I 什么是栅格数据结构(Raster) ?,Real world,Grid,Point,Line,Area,Value,=0 =1 =2 =3,Row,Column,Triangles,

4、Hexagons,RASTER,栅格数据结构示例,(a)点 (b)线 (c)面,栅格数据单元格经常是矩形(主要是正方形)的,但并不是必须如此。其单元格形状可以随应用的需要进行具体设定,比如设置为三角形。 栅格数据的比例尺就是栅格大小与地表相应单元大小之比。 栅格尺寸越小,其分辨率越高,数据量也越大。,栅格数据的形状、尺寸及相关问题,引申思考:栅格数据的投影与变形问题?,由于栅格结构对地表的离散,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较大,则造成较大的误差 。 由于栅格单元中存在多种地物,而数据中常常只记录一个属性值,这会导致属性误差。比如,遥感数据中的“混合像元”问题。,栅格数据

5、的形状、尺寸及相关问题,II 栅格数据结构的特点,属性明显 数据中直接记录了数据属性或指向数据属性的指针,因而我们可以直接得到地物的属性代码 定位隐含 所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得到的。栅格结构是按一定的规则排列的,所表示的实体的位置很容易隐含在格网文件的存储结构中,II 栅格数据结构的特点,栅格数据结构结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像的结合处理,给地理空间数据处理带来了极大的方便,III 决定栅格单元代码的方式,基本原则:在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量 。 注意:每一个单元可能

6、对应多个地物种类或多个属性值。比如遥感图像中的“混合像元”。,III 决定栅格单元代码的方式,中心点法 处理方法: 用处于栅格中心处的地物类型或现象特性决定栅格代码 常用于具有连续分布特性的地理要素,如降雨量分布、人口密度图等。,例如:中心点O落在代码为C的地物范围内,按中心点法的规则,该矩形区域相应的栅格单元代码为C,III 决定栅格单元代码的方式,2. 面积占优法 处理方法:以占栅格区域面积比例最大的地物类型或现象特性决定栅格单元的代码 面积占优法常用于分类较细,地物类别斑块较小的情况,例如:所示的例子中,显见B类地物所占面积最大,故相应栅格代码定为B,III 决定栅格单元代码的方式,3.

7、 重要性法 处理方法:根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码 重要性法常用于具有特殊意义而面积较小的地理要素,特别是点、线状地理要素,如城镇、交通枢纽、交通线、河流水系等,在栅格中代码应尽量表示这些重要地物,例如:假设A类最重要的地物类型,即A比B和C类更为重要,则栅格单元的代码应为A,III 决定栅格单元代码的方式,4.百分比法 处理方法:根据栅格区域内各地理要素所占面积的百分比数确定栅格单元的代码 适用于地物面积具有重要意义的分类体系,例如:可记面积最大的两类BA,也可以根据B类和A类所占面积百分比数在代码中加入数字,III 决定栅格单元代码的方式,5.其他

8、方法 根据具体的应用内容,栅格单元的代码确定方式还可以采用其他方法,如插值方法(平均值就是其中之一),或使用特定的计算函数等。,IV栅格数据编码,栅格数据编码方法分为两大类: 直接栅格编码 压缩编码方法 链码 游程长度编码 块码 四叉树,直接栅格编码,直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元进行记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序,一些常用的栅格排列顺序,压缩编码方式,压缩编码的目的就是用尽可能少的数据量记录尽可能多的信息,其类型分为 信息无损编码 编码过程中没有任何信息损失,通过解码操作可

9、以完全恢复原来的信息 信息有损编码 为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复,压缩编码方式,在地理信息系统中的压缩编码多采用信息无损编码,而对原始遥感影像进行压缩时也可以采取有损压缩编码方法。,压缩编码方式,1 链码(Chain Codes) 链式编码又称为弗里曼链码(Freeman,1961)或边界链码。该编码方法将数据表示为由某一原点开始并按某些基本方向确定的单位矢量链。 基本方向可定义为:东0,东南1,南2,西南3,西4,西北5,北6,东北7 等八个基本方向。,例如,确定原点为像元(10,1),则某个多边形边界按顺时针方向的链式

10、编码为: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 的整数代表。,链码(Chain Codes),链码(Chain Codes),优点: 链式编码对多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如面积和周长计算等,探测边界急弯和凹进部分等都比较容易,比较适于存储图形数据。 缺点: 对叠置运算如组合、相交等则很难实施,对局部修改将改变整体结构,效率较低,而且由

11、于链码以每个区域为单位存储边界,相邻区域的公共边界被重复存储会产生冗余。,压缩编码方式,2 游程长度编码(Run-Length Codes) 它的基本思路是:对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。,游程长度编码(Run-Length Codes),其实现方法有两种 一种编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。 另一种游程长度编码方案就是逐个记录各行(或列)代码发生变化的位置和相应代码,游程长度编码示例,按第一种编码方法,此数据游程长度编码: (0,1)

12、,(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);

13、(1,7),(6,8);(1,7),(5,8)。,游程长度编码优缺点,优点 压缩效率较高,且易于进行检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况 缺点 对于图斑破碎,属性和边界多变的数据压缩效率较低,甚至压缩后的数据量比原始数据还大。,压缩编码方式,3 块码(Chain Codes) 块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。,块码编码示例,其块码编码为: (1,1,1,0),(1,2,2,4),(1,

14、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 四叉树编码 四叉树编

15、码将整个图像区逐步分解为一系列仅包含单一类型的方形区域,最小的方形区域为一个栅格象元。,四叉树编码,其基本分割方法是将一幅栅格地图或图像等分为四部分。逐块检查其栅格属性值(或灰度)。如果某个子区的所有栅格值都具有相同的值。则这个子区就不再继续分割,否则还要把这个子区再分割成四个子区。这样依次地分割,直到每个子块都只含有相同的属性值或灰度为止。,四叉树编码,由上而下的方法运算量大,耗时较长。因而实践中可以采用从下而上的方法建立四叉树编码。对栅格数据按如下的顺序进行检测:如果每相邻四个栅格值相同则进行合并,逐次往上递归合并,直到符合四叉树的原则为止。这种方法重复计算较少,运算速度较快。,四叉树编码

16、,采用四叉树编码时,为了保证四叉树分解能不断地进行下去,要求图像必须为2n2 n的栅格阵列,对于非标准尺寸的图像需首先通过增加背景的方法将图像扩充为2 n 2 n的图像。,四叉树的结构方式,四叉树结构按其编码的方法不同分为常规四叉树和线性四叉树: 常规四叉树:除了记录叶结点之外,还要记录中间结点。结点之间借助指针联系,每个结点需要用六个量表达:四个叶结点指针,一个父结点指针和一个结点的属性或灰度值。这些指针不仅增加了数据贮存量,而且增加了操作的复杂性。常规四叉树主要在数据索引和图幅索引等方面应用。,四叉树的结构方式,四叉树结构按其编码的方法不同分为常规四叉树和线性四叉树: 线性四叉树:只存贮最

17、后叶结点的信息。包括叶结点的位置、深度和本结点的属性或灰度值。所谓深度是指处于四叉树的第几层上。由深度可推知子区的大小。线性四叉树叶结点的编号需要遵循一定的规则,这种编号称为地址码,它隐含了叶结点的位置和深度信息。最常用的地址码是四进制或十进制的Morton码。,四叉树编码示例,其中最上面的结点叫根结点,它对应整个图形。此树共有4层结点,每个结点对应一个象限,如第2层4个结点分别对应于整个图形的四个象限,排列次序依次为南西(SW)、南东(SE)、北西(NW)和北东(NE),不能再分的结点称为终止结点(又称叶子结点),可能落在不同的层上,该结点代表的子象限具有单一的代码,所有终止结点所代表的方形

18、区域覆盖了整个图形。从上到下,从左到右为叶子结点编号,共有40个叶子结点,也就是原图被划分为40个大小不等的方形子区(最下面的一排数字表示各子区的代码)。,四叉树编码示例,四叉树编码的优缺点,优点:四叉树编码具有可变的分辨率,树的深度随数据的破碎程度而变化,并且有区域性质,压缩数据灵活,许多数据和转换运算可以在编码数据上直接实现,大大地提高了运算效率,并支持拓扑“洞”(嵌套多边形)的表达,是优秀的栅格压缩编码之一 。 缺点:其最大不足是其不稳定性,即同样的原始数据应用不同的算法进行编码可能会得到不同的编码结果。不利于数据分析。,压缩编码方式,5 其他编码 还有很多编码方法,如傅立叶变换、小波变

19、换、余弦变换等,常常用于遥感原始数据的压缩。由于它们多数是有损压缩,一般不用于需要进行分析的栅格数据。在四叉树基础上发展而来的八叉树目前也是研究热点之一。,引申思考:栅格压缩编码和常见 文件压缩方法(Zip,Rar )的异同?,压缩编码的相关问题,同所有的数据结构问题一样,压缩编码过程的主要矛盾也是数据量压缩和运算时间之间的矛盾:为了更有效地利用空间资源,减少数据冗余,不得不花费更多的运算时间进行编码 。 好的压缩编码方法就是要在尽可能减少运算时间的基础上达到最大的数据压缩效率,并且是算法适应性强,易于实现,常见栅格压缩编码方法总结:,链码的压缩效率较高,已经近矢量结构,对边界的运算比较方便,

20、但不具有区域的性质,区域运算困难 。 游程长度编码既可以在很大程度上压缩数据,又最大限度地保留了原始栅格结构,编码解码十分容易。但对破碎数据处理效果不好。 块码和四叉树编码具有区域性质,又具有可变的分辨率,有较高的压缩效率,但运算效率是其瓶颈。其中四叉树编码可以直接进行大量图形图像运算,效率较高,是很有前途的方法。,3矢量数据结构及其编码,基本概念 特点 编码方式,I矢量数据结构基本概念,前导概念:矢量(起点终点) 矢量数据结构 :通过记录坐标的方式尽可能精确地表示点、线、多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。 在一般情况下,其精度比栅格数据结构高得多。其精度

21、仅受数字化设备的精度和数值记录字长的限制。,I矢量数据结构基本概念,几何体的类型,I矢量数据结构基本概念,矢量数据的类型,I矢量数据结构基本概念,矢量结构允许最复杂的数据以最小的数据冗余进行存储,相对栅格结构来说,数据精度高,所占空间小,是高效的空间数据结构。,II矢量数据结构特点,1 定位明显 其定位是根据坐标直接存储的,无需任何推算 2 属性隐含 属性则一般存于文件头或数据结构中某些特定的位置上,II矢量数据结构特点,矢量数据结构图形运算的算法总体上比栅格数据结构复杂的多,在叠加运算、邻域搜索等操作时比较困难,有些甚至难以实现, 但其也有便利和独到之处,在计算长度、面积、形状和图形编辑、几

22、何变换操作中,矢量结构有很高的效率和精度。,III矢量数据编码,编码方法 : 点实体 线实体 多边形 坐标序列法 树状索引编码法 拓扑结构编码法,III矢量数据编码,点实体 点是空间上不能再分的地理实体,可以是具体的或抽象的,如地物点、文本位置点或线段网络的结点等,由一对x、y坐标表示。 对于点实体,矢量结构中只记录其在特定坐标系下的坐标和属性代码,点实体数据编码,III矢量数据编码,线实体 对于线实体,在数字化时即进行量化,就是用一系列足够短的直线首尾相接表示一条曲线,当曲线被分割成多而短的线段后,这些小线段可以近似地看成直线段,而这条曲线也可以足够精确地由这些小直线段序列表示,矢量结构中只

23、记录这些小线段的端点坐标,将曲线表示为一个坐标序列,坐标之间认为是以直线段相连,在一定精度范围内可以逼真地表示各种形状的线状地物,线实体矢量数据编码,唯一标识码是系统排列序号; 线标识码可以标识线的类型; 起始点和终止点号可直接用坐标表示; 显示信息是显示时的文本或符号等; 与线相联系的非几何属性可以直接存储于线文件中,也可单独存储,而由标识码联接查找。,III矢量数据编码,多边形实体编码 “多边形”在地理信息系统中是指一个任意形状、边界完全闭合的空间区域。其边界将整个空间划分为外部和内部。 多边形数据是描述地理信息的最重要的一类数据。在区域实体中,具有名称属性和分类属性的,多用多边形表示,如

24、行政区、土地类型、植被分布等。,多边形实体编码,多边形矢量编码不但要表示位置和属性,更为重要的是要能表达区域的拓扑性质,如形状、邻域和层次等,以便使这些基本的空间单元可以作为专题图资料进行显示和操作,由于要表达的信息十分丰富,基于多边形的运算多而复杂,因此多边形矢量编码比点和线实体的矢量编码要复杂得多,也更为重要。,多边形实体编码,多边形矢量编码除有存储效率的要求外,一般还要求所表示的各多边形有各自独立的形状,可以计算各自的周长和面积等几何指标;各多边形拓扑关系的记录方式要一致,以便进行空间分析;要明确表示区域的层次,如岛-湖-岛的关系等。因此,它与机助制图系统仅为显示和制图目的而设计的编码有

25、很大不同。,多边形实体编码方法,坐标序列法(Spaghetti方式) 树状索引编码法 拓扑结构编码法,坐标序列法(Spaghetti方式),由多形边界的x、y坐标对集合及说明信息组成,是最简单的一种多边形矢量编码,坐标序列法(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:x1,y1;x12,y12;x13,y13;x14,y14;x15,y15;x16,y16;x17,y17;x18,y18;x19,y19;x20,y20;x21,y21;x22,

26、y22;x23,y23;x8,y8;x9,y9;x10,y10;x11,y11; 30:x33,y33;x34,y34;x35,y35;x36,y36;x37,y37;x38,y38;x39,y39;x40,y40; 40:x19,y19;x20,y20;x21,y21;x28,y28;x29,y29;x30,y30;x31,y31;x32,y32; 50:x21,y21;x22,y22;x23,y23;x8,y8;x7,y7;x6,y6;x24,y24;x25,y25;x26,y26;x27,y27;x28,y28;,编码数据,坐标序列法的优缺点,优点 文件结构简单,易于实现以多边形为单位的

27、运算和显示 缺点 多边形之间的公共边界被数字化和存储两次,由此产生冗余和碎屑多边形; 每个多边形自成体系而缺少邻域信息,难以进行邻域处理,如消除某两个多边形之间的共同边界; 岛只作为一个单个的图形建造,没有与外包多边形的联系; 不易检查拓扑错误。这种方法可用于简单的粗精度制图系统中。,树状索引编码法,采用树状索引以减少数据冗余并间接增加邻域信息,方法是对所有边界点进行数字化,将坐标对以顺序方式存储,由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构,树状索引编码法示例,图形数据,树状索引编码法示例,线与多边形之间的树状索引,树状索引编码法示例,点与边界线之间的树状索引,树状索

28、引编码法示例,形成的文件记录,树状索引编码法的优势和不足,树状索引编码消除了相邻多边形边界的数据冗余和不一致的问题,在简化过于复杂的边界线或合并相邻多边形时可不必改造索引表,邻域信息和岛状信息可以通过对多边形文件的线索引处理得到,但是比较繁琐,因而给相邻函数运算,消除无用边,处理岛状信息以及检查拓扑关系带来一定的困难,而且两个编码表都需要以人工方式建立,工作量大且容易出错。,拓扑结构编码法,要彻底解决邻域和岛状信息处理问题必须建立一个完整的拓扑关系结构,这种结构应包括以下内容:唯一标识,多边形标识,外包多边形指针,邻接多边形指针,边界链接,范围(最大和最小x、y坐标值,即外包矩形信息)。采用拓

29、扑结构编码可以较好地解决空间关系查询等问题,但增加了算法的复杂性和数据库的大小。,矢量数据结构编码总结,矢量编码保证了信息的完整性和运算的灵活性,这是由矢量结构自身的特点所决定的。目前并没有统一的最佳的矢量结构编码方法,在具体工作中应根据数据的特点和任务的要求而灵活设计。,扩展内容:,DIME(双重独立坐标地图编码,Dual Independent Map Encoding)编码系统 DIME是美国人口调查局在人口调查的基础上发展起来的,它通过有向编码建立了多边形、边界、节点之间的拓扑关系,DIME编码成为其它拓扑编码结构的基础。它采用树状索引以减少数据冗余并间接增加邻域信息,方法是对所有边界

30、点进行数字化,将坐标对以顺序方式存储,由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构。,4矢栅结构的比较及转换算法,栅格结构与矢量结构的比较,4矢栅结构的比较及转换算法,相互转换算法 矢量格式向栅格格式的转换 内部点扩散算法 复数积分算法 射线算法和扫描算法 边界代数算法,4矢栅结构的比较及转换算法,射线算法,单个多边形的转换,多个多边形的转换,4矢栅结构的比较及转换算法,相互转换算法 栅格格式向矢量格式的转换 1)多边形边界提取: 2)边界线追踪 3)拓扑关系生成 4)去除多余点及曲线圆滑,5空间索引机制,空间索引就是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。 索引类型 格网型空间索引 BSP树空间索引 KDB树空间索引 R树和R+树 CELL树,R树,R+树,BSP树,CELL树,6空间信息查询,基于属性特征查询 一般来说,基于属性信息的查询操作主要是在属性数据库中完成的。 基于空间关系和属性特征的查询(SQL) 一种空间扩展SQL查询语言GeoSQL,GeoSQL的实现过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1