地理信息系统算法.ppt
《地理信息系统算法.ppt》由会员分享,可在线阅读,更多相关《地理信息系统算法.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第八八章章 空间数据压缩算法GISGIS的内部数据结构的内部数据结构矢量结构和栅格结构矢量结构和栅格结构 内部数据结构:描述地理实体的数据本身的组织方法。内部数据结构基本上可分为两大类:矢量结构和栅格结构(也可以称为矢量模型和栅格模型)(右图所示)。两类结构都可用来描述地理实体的点、线、面三种基本类型。空间数据编码是空间数据结构的实现,即将根据地理信息系统的目的和任务所搜集的、经过审核了的地形图、专题地图和遥感影像等资料按特定的数据结构转换为适合于计算机存储和处理的数据的过程。由于地理信息系统数据量极大,一般采用压缩数据的编码方式以减少数据冗余。一、柵格数据结构及其压缩栅格结构是最简单最直
2、接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性类型或量值,或仅仅包括指向其属性记录的指针。在栅格结构中:点用一个栅格单元表示;线状地物沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元 在线上;面或区域用记有区域属性的相邻栅格单元的集 合表示,每个栅格单元可有多于两个 的相邻单元同属一个区域。(a)点 (b)线 (c)面点、线、区域的格网栅格数据的获取栅格数据的获取 1.遥感方法获取(航天与航空);2.图片扫描获取(纸介质的地图等扫描);3.矢量数据转换而来;4.由平面上行距,列距固定的点抽
3、样而来主要包括:(1)中心归属法(2)长度占优法 (3)面积占优法栅格数据(栅格数据(栅格数据(栅格数据(1 1)栅格数据(栅格数据(2)栅格数据(栅格数据(3)上海东方明珠电视塔上海东方明珠电视塔故宫故宫栅格数据(栅格数据(4)SPOT XS 20m*20m 牡丹水庫band G,R,IR網格資料關於衛星影像栅格数据结构栅格数据结构栅格数据的组织数据文件像元1I坐标J坐标层1属性值层2属性值层N属性值像元2像元N数据文件层1像元1I坐标J坐标属性值层2层N像元2数据文件层1多边形1属性值像元1坐标像元N坐标层2层N多边形N节省空间节省空间形式简单形式简单方便制图方便制图柵格数据的压缩算法栅格
4、数据文件记录有3个基本方式:基于像元、基于层和基于面域。这三种方式都离不开对像元坐标和属性的记录。因此基于柵格的空间数据压缩的实质是研究柵格数据的编码,通过编码尽量减少像元数量的存储。其方法有三大类:(1)从减少记录像元的数量入手;(2)从减少像元的记录信息量入手;(3)前两者的结合。柵格数据的压缩分为无损压缩技术和有损压缩技术。(1)无损压缩技术是指压缩过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息;(2)信息有损压缩是指为了提高压缩效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复。柵格数据的压缩1.直接栅格编码直接栅格编码 这是最简单直观
5、而又非常重要的一种栅格结构编码方法,通常称这种编码的图像文件为网格文件或栅格文件,栅格结构不论采用何种压缩编码方法,其逻辑原型都是直接编码网格文件。直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序。下图为一些常用的柵格排列顺序。一些常用的栅格排列顺序 2.2.链式编码(链式编码(Chain CodesChain Codes)链式编码又称为弗里曼链码Freeman或边界链码。多边形边界可以表示为:由某一原点开始并按某些基本方向确定的单位矢量链。基本方向可以定为:东=
6、0,东南=1,南=2,西南=3,西=4,西北=5,北=6,东北=7,8个基本方向。S/2W/4WN/5N/6EN/7E/0WS/3ES/13,1,7,0,1,2,3,4,5,64,1,6,7,0,1,2,3,4,5例子:如果再确定原点为像元(10,1),则该多边形边界按顺时针方向的链式编码为:10,l,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。S/2W/4WN/5N/6EN/7E/0WS/3ES/1优点:优点:链式边码可以有效地压缩栅格数据,而且对于估算面积、长度、转折方向的凹凸度等运
7、算十分方便,比较适合于存储图形数据。缺点:缺点:对边界进行合并和插入等修改编辑工作比较困难,对局部的修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界,相邻区域的边界将被重复存储而产生冗余。3.3.游程长度编码(游程长度编码(Run-Length CodesRun-Length Codes)游程长度编码是栅格数据压缩的重要编码方法。游程指相邻同值网格的数量,游程长度编码结构是逐行将相邻同值的网格合并记录合并后网格的值及合并网格的长度,其目的是压缩柵格数据量,消除数据间的冗余。游程长度编码结构的建立方法是:将柵格矩阵的数据序列X1,X2,Xn,映射为相应的二元组序列(Ai,Pi)
8、,i=1,2,K,且Kn。其中,A为属性值,P为游程,K为游程序号。面域柵格矩阵结构二元映射序号二元组序列1(A,2)2(B,3)3(A,1)4(C,3)5(A,1)6(D,1)7游程长度编码表示柵格矩阵数据游程长度编码表示柵格矩阵数据游程编码能否压缩数据量,主要决定于柵格数据的性质,通常可通过事先测试,估算图层的数据冗余度Re:Re=1-Q/mn 式中,Q为图层内相邻属性值变化次数的累加和;m为图层网格的行数;n为图层网格的列数。当Re的值大于1/5的情况下,表明柵格数据的压缩可取得明显的效果。其压缩效果,可由压缩比S=n/K来表征,即压缩比的值愈大,表示压缩效果愈明显。特点:游程长度编码在
9、栅格压缩时,数据量没有明显增加,压缩效率较高,且易于检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况。4.4.块式编码块式编码(Block Codes)(Block Codes)块式编码是将游程扩大到两维情况,把多边形范围划分成若干具有同一属性的正方形,然后对各个正方形进行编码。块式编码的数据结构由初始位置(行列号)、半径和属性代码组成。M M R M M M M MM M R R M R M MM R R R R R R MM R R R R R R MM R R R R R R MM R R R R R R MM M
10、 R R R R R MM M M R R M M MM M R M M M M M1 2 3 4 5 6 7 8M M R R M R M MM R R R R R R MM R R R R R R MM R R R R R R MM R R R R R R MM M M R R M M MM M R R R R R MM M R M M M M M1 2 3 4 5 6 7 8M M R R M R M MM R R R R R R MM R R R R R R MM R R R R R R MM R R R R R R MM M M R R M M MM M R R R R R M1,1
11、,2,M;1,3,1,R;1,4,1,M;1,5,1,M;1,6,1,M;1,7,2,M2,3,2,R;2,5,1,M;2,6,1,R3,1,1,M;3,2,1,R;3,5,3,R;3,8,1,M4,1,1,M;4,2,3,R;4,8,1,M5,1,1,M;5,8,1,M特点:块码具有可变的分辨率,即当代码变化小时图块大,就是说在区域图斑内部分辨率低;反之,分辨率高以小块记录区域边界地段,以此达到压缩的目的。因此块码与游程长度编码相似,随着图形复杂程度的提高而降低效率,就是说图斑越大,压缩比越高;图斑越碎,压缩比越低。块码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。然而在某些操作
12、时,则必须把游程长度编码和块码解码,转换为基本栅格结构进行。5.5.差分映射法差分映射法所谓差分映射法,就是选择某一参照值对有关柵格的属性值进行求差运算,根据差值得到一个新的柵格数据层。参照值的选择有多种方式:(1)分行选取:则可选为该行首列的属性值,也可选为该行的 属性平均值;(2)全区选取:则可选为首行首列的属性值,也可选为全区的 属性平均值。如下图所示:12012015015015020020020013013017017017023023023013513513518018018025025014014014020020020020027014514514521021021021021
13、0柵格数据示例120 0 303030808080130 0 404040100 100 100135 0 0454545115 115140 0 060606060130145 0 06565656565数据差分映射结果行号第一列第一列第一列第一列第一列第一列第一列第一列前后前后前后前后前后前后前后前后1112121212121212122221212121212121322212121212121214222121212121212252221212121212121总99105105105105105105106差分映射前后柵格数据记录长度对比结论:由上表可见,所需字节数由原来的79减少
14、为 44,减少44.3%。6.6.四叉树编码四叉树编码(Quadtree Encoding)(Quadtree Encoding)四叉树又称四元树或四分树,是最有效的栅格数据压缩编码方法之一。四分树将整个图像区域逐步分解为一系列方形区域,且每一个方形区域具有单一的属性。最小区域为一个象元。区域分割原则:将欲分解区域等分为四个象限,再根据各个象限的象元值是否单一决定要不要再分。如果单一则不再分割,否则同法再分,直到所有象限的象元属性值相同为止。(a)四叉树分割(a)(a)的的四叉树四叉树编码编码 其中最上面的那个结点叫做根结点,它对应整个图形。总共有4层结点,每个结点对应一个象限,如2层4个结点
15、分别对应于整个图形的四个象限,排列次序依次为南西(SW)、南东(SE)、北西(NW)和北东(NE),不能再分的结点称为终止结点(又称叶子结点),可能落在不同的层上,该结点代表的子象限具有单一的代码,所有终止结点所代表的方形区域覆盖了整个图形。从上到下,从左到右为叶子结点编号如图所示,共有40个叶子结点,也就是原图被划分为40个大小不等的方形子区,图的最下面的一排数字表示各子区的代码。由上面图形的四叉树分解可见,四叉树中象限的尺寸是大小不一的,位于较高层次的象限较大,深度小即分解次数少,而低层次上的象限较小,深度大即分解次数多,这反映了图上某些位置单一地物分布较广而另一些位置上的地物比较复杂,变
16、化较大。正是由于四叉树编码能够自动地依照图形变化而调整象限尺寸,因此它具有极高的压缩效率。采用四叉树编码时,为了保证四叉树分解能不断地进行下去,要求图像必须为 的栅格阵列,n为极限分割数,n+1为四叉树的最大高度或最大层数,上图为22的栅格,因此最多划分三次,最大层数为4,对于非标准尺寸的图像需首先通过增加背景的方法将图像扩充为 的图像。为了使计算机既能以最小的冗余存储图像对应的四叉树,又能方便地完成各种图形图像操作,专家们已提出了多种编码方式,下面介绍美国马里兰大学地理信息系统中采用的编码方式,该方法记录了终止结点(或叶子结点)的地址和值,值就是子区的代码,其中地址包括两个部分,共32位(二
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地理信息系统 算法
限制150内