《(第三章)空间数据结构.ppt》由会员分享,可在线阅读,更多相关《(第三章)空间数据结构.ppt(94页珍藏版)》请在第壹文秘上搜索。
1、第三章第三章 空间数据结构空间数据结构 本章学习目标o 掌握空间数据的计算机表示方法;o 了解空间数据结构的类型;o 掌握空间数据结构的建立。 空间数据结构的建立系统功能与数据间的关系(据Jack Dangermond等) 信息层示意图空间数据结构的建立空间数据结构的建立空间数据结构的建立 空间数据结构的建立本章学习内容栅格数据结构o简单栅格数据结构。o栅格数据的压缩编码方式:链式编码、游程长度编码、块状编码、四叉树编码。矢量数据结构o矢量数据结构编码的基本内容:点实体、线实体、面实体。o矢量数据结构编码的方法:实体式、索引式、双重独立式、链状双重独立式。两种数据结构的比较与转化o两种数据结构
2、的比较。o矢量数据结构向栅格数据结构的转换。o栅格数据结构向矢量数据结构的转换。 n在栅格数据结构中,整个地理空间被规则地分为一个个小块(通常为正方形),地理实体的位置是由占据小块的横排与竖列的位置决定,小块的位置则由其横排竖列的数码决定,每个地理实体的形态是由栅格或网格中的一组点来构成。然后在各个格网单元内赋以空间对象相应的属性值的一种数据组织方式。n这种数据结构和遥感图象的数据相同,因而数字遥感 图象就是栅格数据结构。 栅格数据结构栅格数据结构现实世界现实世界网格网格点线面积数值=0=1=2=3行列三角形三角形六边形六边形栅格数据结构關於衛星影像栅格数据结构關於衛星影像栅格数据的取值(混合
3、像元的处理) 栅格数据是用阵列方式表示数据特征的。阵列中每个元素的数据值表示属性,而位置关系隐含在行列之中,这些行列值实际上是表示了地物的空间位置。栅格数据的这种表示亦称网格(格网)编码。这种编码方法同遥感图象的编码相一致,其中每个栅格(象素、元素)只能取一个值。而实际上,一个栅格可能对应于实体中几种不同属性值,这时就有如何对栅格取值的问题?關於衛星影像栅格数据的取值(混合像元的处理)面积占优法面积占优法 面积占优法是把栅格中占有最大面积的属性值定为本栅格元素的值。 下图所示的栅格结构用面积占优法面积占优法得编码方案为: 關於衛星影像栅格数据的取值(混合像元的处理)中心点法中心点法中心点法是将
4、栅格中心点的值作为本栅格元素的值。下图所示的栅格结构用中心点法中心点法得编码方案为: 關於衛星影像栅格数据的取值(混合像元的处理)长度占优法长度占优法长度占优法是将网格中心画一横线,然后用横线所占最长部分的属性值作为本栅格元素的值。下图所示的栅格结构用长度占优法长度占优法得编码方案为: 關於衛星影像栅格数据的取值(混合像元的处理)重要性法重要性法重要性法往往突出某些主要属性,对于这些属性,只要在栅格中出现,就把该属性作为本栅格元素的值,在下图中假设D属性具有特殊的重要性,下图所示的栅格结构用重要性法重要性法得编码方案为: 在重要性法中,只要该栅格中含有某特殊重要性的属性,不管所占比例大小,便认
5、为该栅格属于该属性。 關於衛星影像栅格数据的取值(混合像元的处理)栅格数据的上述取值方法,不论采用哪一种都会带来一定的误差。为了逼近原始数据,提高精度,除了采用这几种取值方法外,还可以采用缩小单个栅格单元的面积,增加栅格单元总数的方法,但同时使数据量大幅度增加。 空间数据的编码空间数据编码,是根据空间数据编码,是根据GIS的目的和任务,把地图、图像等资料按一定数据结构转化为适于计算机存贮和处理的数据过程。 空间数据的编码是地理信息系统设计中最重要的技术步骤,它表现由现实世界到数据世界之间的接口,是联接从现实世界到数据世界的纽带。 为什么要进行编码?o 编码对象:属性数据o 编码方法: 层次分类
6、编码 多源分类编码o 编码标准化空间数据的编码电线架715管线:7地下电力线与电缆72电力线71地下检修井74输水管线73低压712电杆713电塔714不依比例7142依比例7141空间对象的层次分类编码o 分类对象的从属和层次关系o 有明确的分类对象类别和严格的隶属关系高压711空间对象的多源分类编码o按空间对象不同特性进行分类并进编码o代码之间没有隶属关系,反映对象特性o具有较大的信息量,有利于空间分析河流特性分类与编码通航情况通航: 1不通航:2常年河:1时令河:2消失河:3 1 km: 1 2 km: 2 5 km: 3 10 km:5流水季节河流宽度河流长度河流深度 5 10 m :
7、 110 20 m: 220 30 m: 330 60 m: 460 120 m: 5120 300 m:6300 500 m:7500m: 8 50m: 6编码的标准化栅格数据结构类型栅格矩阵结构:一种全栅格阵列的空间数据组栅格矩阵结构:一种全栅格阵列的空间数据组织形式。逐行(或逐列)逐个记录代码,可以织形式。逐行(或逐列)逐个记录代码,可以每行从左到右逐像元记录,也可奇数行从左到每行从左到右逐像元记录,也可奇数行从左到右而偶数行由右向左记录,为了特定的目的还右而偶数行由右向左记录,为了特定的目的还可采用其他特殊的顺序可采用其他特殊的顺序。 275代表44阶的矩阵,如果矩阵的每个元素用一个双
8、字节表示,则一个图层的全栅格数据所需要的存储空间为m行n列2字节。以一个面积为100km2的区域为例,如果网格变长取为1m,每个网格用一个双字节表示,则一个图层的要素就要占用200M字节的存储空间,对一张图形或一幅图像来说,这是一个相当大的存储容量,而且随着空间分辨率的提高,存储空间成几何级数递增,因此,栅格数据的压缩是栅格数据结构要解决的重要问题。栅格数据结构栅格数据结构类型链码又称弗里曼链码(Freeman)或边界链码,它将线状地物或区域边界,由起点和一系列在基本方向上的单位矢量给出每个后续点相对应其前继点的可能的8个基本方向之一表示,单位矢量的长度默认为一个栅格像元。 链码可以有效地压缩
9、栅格数据,而且对于估算面积、长度、转折方向的凹凸度等运算十分方便,比较适宜存贮图形数据。缺点是对边界合并、插入等修改编辑工作比较困难,对局部的修改将改变整体结构,效率低下,而且由于链码以每个区域为单位存贮边界,相邻区域的边界将被重复存贮而产生冗余。栅格数据结构栅格数据结构类型在栅格结构中,点用一个栅格单元表示;线状地物沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元在线上;面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。 点点线线面面栅格数据结构栅格数据结构类型游程长度编码是栅格数据压缩的重要编码方法,它的基本思路是:对于一幅栅格
10、图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。其方法有两种方案:一种编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。例如对图所示栅格数据,可沿行方向进行如下游程长度编码: (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个整数就可以表示,而在前述的直接编码中
11、却须要64个整数表示,可见游程长度编码压缩数据是十分有效又简便的。事实上,压缩比的大小是与图的复杂程度成反比的,在变化多的部分,游程数就多,变化少的部分游程数就少,图件越简单,压缩效率就越高。 栅格数据结构栅格数据结构类型 逐个记录各行(或列)代码发生变化的位置(行数)和相应代码。逐个记录各行(或列)代码发生变化的位置(行数)和相应代码。例如对图所示栅格数据,可沿列方向进行如下游程长度编码: (1,0),(),(2,2),(),(4,0),),(1,2),(),(4,0),(),(1,2),),(5,3),(),(6,0),(),(1,5),),(2,2),(),(4,3),(),(7,0),
12、),(1,5),(),(2,2),(),(3,3),),(8,0),(),(1,5),(),(3,3),),(1,5),(),(6,3),(),(1,5),),(5,3)。)。栅格数据结构栅格数据结构类型游程终止编码:(栅格元素的属性值,游程的终止列号)游程终止编码:(栅格元素的属性值,游程的终止列号)(0,1) (4,3) (7,8)(4,5) (7,8)(4,4) (8,6) (7,8)(0,2) (4,3) (8,6) (7,8)(0,2) (8,6) (7,7)(8,8)(0,3) (8,8)(0,4) (8,8)(0,5) (8,8)栅格数据结构游程长度编码的优缺点栅格数据结构o 压
13、缩比的大小是与图的复杂程度成反比的,在变化多的部分,游程数就多,变化少的部分游程数就少,图件越简单,压缩效率就越高。o 游程长度编码在栅格加密时,数据量没有明显增加,压缩效率较高,且易于检索,叠加合并等操作,运算简单,适用于机器存贮容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况。 栅格数据结构沿行方向进行如下游程长度编码沿列方向进行如下游程长度编码游程终止编码:(栅格元素的属性值,游程的终止列号)栅格数据结构类型块码是游程长度编码扩展到二维的情况,采用方形区域作为纪录单元每个记录单元包括相邻的若干栅格,数据编码由初始位置行列号加上半径,再加上记录单元的代码组成。
14、块码分解图 (1,1,1,0),(),(1,2,2,2),),(1,4,1,5),(),(1,5,1,5),),(1,6,2,5),(),(1,8,1,5),),(2,1,1,2),(),(2,4,1,2),),(2,5,1,2),(),(2,8,1,5),),(3,1,1,2),(),(3,2,1,2),),(3,3,1,2),(),(3,4,1,2),),(3,5,2,3),(),(3,7,2,5););(4,1,2,0),(),(4,3,1,2),),(4,4,1,3),(),(5,3,1,3),),(5,4,2,3),(),(5,6,1,3),),(5,7,1,5),(),(5,8,1
15、,3););(6,1,3,0),(),(6,6,3,3),),(7,4,1,0),(),(7,5,1,3);); (8,4,1,0),(),(8,5,1,0)。)。 块码表示如下块码表示如下栅格数据结构块状编码的优缺点栅格数据结构o 一个多边形所包含的正方形越大,多边形的边界越简单,块状编码的效率就越好。o 块状编码对大而简单的多边形更为有效,而对那些碎部较多的复杂多边形效果并不好。o 块状编码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。然而对某些运算不适应,必须在转换成简单数据形式才能顺利进行。 栅格数据结构类型n四叉树又称四元树或四分树,是最有效的栅格数据压缩编码方法之一,绝
16、大部分图形操作和运算都可以直接在四叉树结构上实现,因此四叉树编码既压缩了数据量,又可大大提高图形操作的效率。n四叉树将整个图像区逐步分解为一系列被单一类型区域内含的方形区域,最小的方形区域为一个栅格象元,分割的原则是,将图像区域划分为四个大小相同的象限,而每个象限又可根据一定规则判断是否继续等分为次一层的四个象限,其终止判据是,不管是哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的少数几种地物时,则不再继续划分,否则一直划分到单个栅格象元为止。n四叉树通过树状结构记录这种划分,并通过这种四叉树状结构实现查询、修改、量算等操作。 栅格数据结构栅格数据结构类型各子象限尺度大小不完全一样,但都是同代码栅格单元,其四叉树如下图 栅格数据结构栅格数据结构类型其中最上面的那个结点叫做根结点,它对应整个图形。总共有4层结点,每个结点对应一个象限,如2层4个结点分别对应于整个图形的四个象限,排列次序依次为南西(SW)、南东(SE)、北西(NW)和北东(NE),不能再分的结点称为终止结点(又称叶结点),可能落在不同的层上,该结点代表的子象限具有单一的代码,所有终止结点所代表的方形区域覆盖了整个图