《地理信息系统 三》由会员分享,可在线阅读,更多相关《地理信息系统 三(54页珍藏版)》请在金锄头文库上搜索。
1、2017/6/10,1,第三章 空间数据结构,2017/6/10,2,数据结构即指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构。对空间数据则是地理实体的空间排列方式和相互关系的抽象描述。不说明数据结构的数据是毫无用处的,不仅用户无法理解,计算机程序也不能正确的处理,对同样一组数据,按不同的数据结构去处理,得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理解地理信息系统所采用的特定数据结构,才能正确有效地使用系统。 地理信息系统的空间数据结构主要有栅格结构和矢量结构。,2017/6/10,3,栅格数据结构,栅格结构是最简单最直观的空间数据结构,又称为
2、网格结构或象元结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素,由行、列号定义,并包含一个代码,表示该象素的属性类型或量值,或仅仅包含指向其属性记录的指针。因此,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。,2017/6/10,4,点,线,面,对于栅格数据结构点:为一个像元线:在一定方向上连接成串的相邻像元集合。每个栅格单元最多只有两个相邻单元在线上;面:聚集在一起的相邻像元集合。每个栅格单元可有多于两个的相邻单元同属一个区域。任何以面状分布的对象(土地利用、土壤类型等),都可以用栅格数据逼近。,20
3、17/6/10,5,2017/6/10,6,栅格结构的显著特点,属性明显,定位隐含在网格文件中每个代码本身明确地代表了实体的属性或属性的编码,如果为属性的编码,则该编码可作为指向实体属性表的指针。 由于栅格行列阵列容易为计算机存储、操作和显示,因此这种结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像结合处理,给地理空间数据处理带来了极大的方便,特别适合于FORTRAN、BASIC等高级语言作文件或矩阵处理 栅格结构表示的地表是不连续的,是量化和近似离散的数据。 但是在许多栅格数据处理时,常假设栅格所表示的量化表面是连续的,以便使用某些连续函数。 若栅格尺寸较大误差 若栅
4、格中存在多个地物,却只能给一个属性值,误差,2017/6/10,7,栅格结构数据的获取,目读法:在专题图上均匀划分网格,逐个网格地决定其代码,最后形成栅格数字地图文件; 数字化地图,得到矢量结构数据后,再转换为栅格结构; 扫描数字化:逐点扫描专题地图,将扫描数据重采样和再编码得到栅格数据文件; 分类影像输入:将经过分类解译的遥感影像数据直接或重采样后输入系统,作为栅格数据结构的专题地图。,2017/6/10,8,提高栅格数据精度的方法,(1)在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量。中心点法 :用处于栅格中心处的地物类型或现象特性决定栅格代码.相应的栅格单元代码应为C 面积占优
5、法:以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码。相应栅格代码定为B 重要性法 :根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码 百分比法 :根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码参与 .可记面积最大的两类BA,也可根据B类和A类所占面积百分比数在代码中加入数字,如A5B3,意思为A占50%,B占30%.,2017/6/10,9,(2)缩小单个栅格单元的面积,即增加栅格单元的总数,行列数也相应地增加。这样,每个栅格单元可代表更为精细的地面矩形单元,混合单元减少。混合类别和混合的面积都大大减小,可以大大提高量算的精度;接近真实的形态,表
6、现更细小的地物类型。但是有许多弊端,2017/6/10,10,几何偏差,属性偏差,误差分析,2017/6/10,11,栅格数据的压缩编码方法,1、链式编码2、游程长度编码 3、块状编码 4、四叉树编码 5、八叉树,2017/6/10,12,链式编码,链式编码主要是记录线状地物和面状地物的边界。它把线状地物和面状地物的边界表示为:由某一起始点开始(起点以起点的行列号表示)然后按某些基本方向(单位矢量的方向编码表示)确定的单位矢量链。,线状地物确定其起始点为像元(1,5),链式编码为:1,5,3,2,2,3,3,2,3 面状地物,设其原起始点定为像元(5,8),则该多边形边界按顺时针方向的链式编码
7、为:5,8,3,2,4,4,6,6,7,6,0,2,1,2017/6/10,13,链式编码(ChainCodes),2017/6/10,14,链式编码(ChainCodes),确定原点为像元(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。,2017/6/10,15,链式编码特点,链式编码对线状和多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如面积和周长计算等,探测边界急弯和凹进部分等都比较容易,类似矢量数据结构,比较
8、适于存储图形数据。缺点是对叠置运算如组合、相交等则很难实施,对局部修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界,相邻区域的边界则被重复存储而产生冗余。,2017/6/10,16,游程长度编码,游程长度编码的基本思路是:对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。其编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同代码重复的个数,从而实现数据的压缩。,可沿行方向进行如下游程长度编码:(9,4),(0,4),(9,3),(0,5),(0,1)(9,2),(0,1),(7,2),(0,2)
9、,(0,4),(7,2),(0,2),(0,4),(7,4),(0,4),(7,4) ,(0,4),(7,4) ,(0,4),(7,4),2017/6/10,17,游程长度编码特点,游程长度编码压缩比的大小是与图的复杂程度成反比的,在变化多的部分,游程数就多,变化少的部分游程数就少,图件越简单,压缩效率就越高。 游程长度编码在栅格加密时,数据量没有明显增加,压缩效率较高,且易于检索,叠加合并等操作,运算简单,适用于机器存贮容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况。,2017/6/10,18,块状编码,块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单
10、元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单元的代码组成。,具体编码如下:(1,1,2,9),(1,3,1,9),(1,4,1,9),(1,5,2,0),(1,7,2,0), (第一行及第二行部分数据)(2,3,1,9),(2,4,1,0), (第二行未被编码部分)(3,1,1,0),(3,2,1,9),(3,3,1,9),(3,4,1,0), (3,5,2,7), (3,7,2,0), (第三行) (4,4,1,0),(4,2,1,0), (4,3,1,0), (4,4,1,0), (第四行未被编码部分)(5,1,4,0), (5,5,4,7) (其
11、余四行),2017/6/10,19,块状编码特点,一个多边形所包含的正方形越大,多边形的边界越简单,块状编码的效率就越好。块状编码对大而简单的多边形更为有效,而对那些碎部较多的复杂多边形效果并不好。块状编码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。,2017/6/10,20,2017/6/10,21,四叉树编码(Quadtree Encoding),四叉树编码又称为四分树、四元树编码。基本思想是将一幅栅格地图或图像等分为四部分。逐块检查其格网属性值。如果某个子区的所有格网值都具有相同的值。则这个子区就不再继续分割,否则继续分割,直到每个子块都只含有相同的属性值或灰度为止。另一种
12、是采用从下而上的方法建立。对栅格数据按如下的顺序进行检测。如果每相邻四个网格值相同则进行合并,逐次往上递归合并,直到符合四叉树的原则为止。这种方法重复计算较少,运算速度较快。,2017/6/10,22,2017/6/10,23,为了保证四叉树能不断的分解下去,要求图象必须为2n*2n的栅格阵列,n为极限分割次数,n+1是四叉树的最大高度或最大层数。对于非标准尺寸的图象需首先通过增加背景的方法将图象扩充为2n*2n的图象,也就是说在程序设计时,对不足的部分以0补足 四叉树编码法有许多有趣的优点:容易而有效地计算多边形的数量特征;阵列各部分的分辨率是可变的,边界复杂部分四叉树较高即分级多,分辨率也
13、高,而不需表示许多细节的部分则分级少,分辨率低,因而既可精确表示图形结构又可减少存贮量;栅格到四叉树及四叉树到简单栅格结构的转换比其它压缩方法容易;多边形中嵌套异类小多边形的表示较方便。四叉树编码的最大缺点是转换的不定性,用同一形状和大小的多边形可能得出多种不同的四叉树结构,故不利于形状分析和模式识别。,2017/6/10,24,八叉树编码,八叉树结构就是将空间区域不断地分解为八个同样大小的子区域(即将一个六面的立方体再分解为八个相同大小的小立方体),同区域的属性相同。八叉树主要用来解决地理信息系统中的三维问题。,2017/6/10,25,栅格数据组织,2017/6/10,26,栅格数据组织,
14、2017/6/10,27,2017/6/10,28,栅格数据结构特点,离散的量化栅格值表示空间对象位置隐含,属性明显数据结构简单,易与遥感数据结合,但数据量大几何和属性偏差面向位置的数据结构,难以建立空间对象之间的关系,2017/6/10,29,矢量数据结构,矢量数据结构是通过记录坐标的方式,尽可能地将点、线、面地理实体表现得精确无误。其坐标空间假定为连续空间,不必象栅格数据结构那样进行量化处理。因此矢量数据能更精确地定义位置、长度和大小。 除数学上的精确坐标假设外,矢量数据存储是以隐式关系以最小的存储空间存储复杂的数据。,2017/6/10,30,矢量数据结构编码的基本内容,矢量数据结构通过
15、记录空间对象的坐标及空间关系来表达空间对象的位置。点:空间的一个坐标点;线:多个点组成的弧段;面:多个弧段组成的封闭多边形;,多边形矢量编码,不但要表示位置和属性,更重要的是能表达区域的拓扑特征,如形状、邻域和层次结构等,以便使这些基本的空间单元可以作为专题图的资料进行显示和操作。,2017/6/10,31,面实体,多边形矢量编码比点和线实体的矢量编码要复杂得多,也更为重要。 在讨论多边形数据结构编码的时候,首先对多边形网提出如下的要求: (1)组成地图的每个多边形应有唯一的形状、周长和面积。它们不象栅格结构那样具有简单而标准的基本单元。 (2)地理分析要求的数据结构应能够记录每个多边形的邻域
16、关系。 (3)专题地图上的多边形并不都是同一等级的多边形,而可能是多边形内嵌套小的多边形(次一级)。例如,湖泊的水涯线在土地利用图上可算是个岛状多边形,而湖中的岛屿为“岛中之岛”。这种所谓“岛”或“洞”的结构是多边形关系中较难处理的问题。 面实体常用编码形式有:实体式,索引式,双重独立式,链状双重独立式等。,2017/6/10,32,简单的矢量数据结构面条结构(实体式),多边形 数据项A(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),(x6,y6),(x7,y7),(x8,y8),(x9,y9),(x1,y1)B(x1,y1), (x9,y9), (x8,y8)
17、, (x17,y17), (x16,y16), (x15,y15),(x14,y14) ,(x13,y13), (x12,y12), (x11,y11),(x10,y10),(x1,y1)C(x24,y24),(x25,y25),(x26,y26),(x27,y27),(x28,y28),(x29,y29),(x30,y30) ,(x31,y31), (x24,y24)D(x19,y19),(x20,y20),(x21,y21),(x22,y22),(x23,y23),(x15,y15),(x16,y16) ,(x19,y19)E(x5,y5),(x18,y18),(x19,y19),(x16,y16),(x17,y17),(x8,y8),(x7,y7) ,(x6,y6), (x5,y5),