您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > GIS原理与应用-3-空间数据结构与数据库
第三章空间数据结构与数据库3-2数据结构即指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构。对空间数据则是地理实体的空间排列方式和相互关系的抽象描述。在地理系统中描述地理要素和地理现象的空间数据,主要包括空间位置、拓扑关系和属性三个方面的内容。3-3数据库结构关系模型(relationalmodel)满足一定条件的二维表格层次模型(hierarchicalmodel)以记录类型为节点的有向树(tree),其主要特征是:(1)除根节点外,任何节点都有且只有一个“父亲”;(2)“父”节点表示的实体与“子”节点表示的实体是一对多的联系。网状模型(networkmodel)特点:1)可以有一个以上的结点没有“父”结点;2)至少有一个结点有多于一个“父”结点;3)结点之间可以有多种联系;4)可以存在回路3-43-5描述地理实体的数据本身的组织方法,称为空间数据的内部数据结构。基本上可分为两大类:空间数据结构栅格数据结构(显式表示)矢量数据结构(隐式表示)3.1空间数据库结构3-6南川市李渡区长寿县垫江县渝中区丰都县彭水苗族土家族自治县南岸区沙坪坝区江北区九龙坡区大渡口区巴南区江津市隆昌县安岳县潼南县大足县荣昌县永川市武胜县合川市渝北区邻水县石柱土家族自治县忠县武隆县华蓥市铜梁县璧山县北碚区双桥区0.07.515.022.530.037.5km区县区划图河流机场区县界线主要公路县区政府驻地西苑颐和园西北望玉泉山卧佛寺香山八大处西郊机场黄庄五里坨BEIJING1.BMP北京街区铁路水域城区边界Labelsof主要地名主要地名矢量图栅格图3-7显式描述----栅格数据结构显式表示:就是栅格中的一系列像元(点),为使计算机认识这些像元描述的是某一物体而不是其它物体。注:“c”不一定用c的形式,而可以用颜色、符号、数字、灰度值来显示。则得到椅子的简单数据结构为:椅子的属性——符号/颜色——像元x3-8隐式表示:由一系列定义了始点和终点的线及某种连接关系来描述,线的始点和终点坐标定义为一条表示椅子形式的矢量,线之间的指示字,告诉计算机怎样把这些矢量连接在一起形成椅子,隐式表示的数据为:椅子的属性——一系列矢量——连接关系隐式描述----矢量数据结构3-9一、栅格数据结构:栅格结构是最简单最直观的空间数据结构,又称为网格结构(raster或gridcell)或象元结构(pixel),是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素,由行、列号定义,并包含一个代码,表示该象素的属性类型或量值。因此,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。3-100000090000900000009070070090700760097777900077079000770709000000yx点、线、面数据的栅格表示3-11点线面对于栅格数据结构•点:为一个像元•线:在一定方向上连接成串的相邻像元集合。•面:聚集在一起的相邻像元集合。3-12栅格数据结构:坐标系与描述参数Y:列X:行西南角格网坐标(XWS,YWS)格网分辨率3-13栅格数据结构就是像元阵列,每个像元的行列号确定位置,用像元值表示空间对象的类型、等级等特征。每个栅格单元只能存在一个值。(a)三角形(b)菱形(c)六边形特点:位置隐含,属性明显栅格数据结构特点:3-14例如影像(4*4阶的矩阵):AAAAABBBAABBAAAB最直接的存储方式:AAAAABBBAABBAAAB存在的问题是?:当每个像元都有唯一一个属性值时,一层内的编码就需要m行×n列×3(x,y和属性编码值)个存储单元。栅格数据结构特点:特点:数据结构简单3-15空间分析模型(叠加模型)计算简单:面向位置的数据结构,难以建立空间对象之间关系3-16栅格数据组织(多层)栅格数据文件像元1X坐标Y坐标层2属性值层1属性值…层n属性值…像元2像元n栅格数据文件层1像元1层2…X,Y,属性值像元2X,Y,属性值……像元nX,Y,属性值层n栅格数据文件层1多边形1层2…属性值像元1坐标…多边形N像元n坐标层n3-17栅格数据单元值确定CAB面积占优重要性A连续分布地理要素C具有特殊意义的较小地物A分类较细、地物斑块较小AB为了逼近原始数据精度,除了采用这几种取值方法外,还可以采用缩小单个栅格单元的面积,增加栅格单元总数的方法属性存在偏差:3-18abc345abcac距离:4(5)面积:7(6)几何偏差属性偏差几何特性存在偏差:栅格数据单元几何特性3-19栅格数据结构特点总结:离散的量化栅格值表示空间对象位置隐含,属性明显数据结构简单,易与遥感数据结合,但数据量大存在几何和属性偏差面向位置的数据结构,难以建立空间对象之间的关系3-20栅格数据的编码方法1.直接栅格编码2.行程压缩编码3.链式数据编码4.分块压缩编码5.四叉树编码6.八叉树编码3-211.直接栅格编码以行为记录单位按行存储地理数据。缺点:存在大量冗余,精度提高有限制。3-220000044400044444004444440044448822448888222488882222888822228888记录100000444记录200044444记录300444444记录400444448记录522448888记录622248888记录722228888记录822228888栅格阵列直接栅格编码3-232.游程压缩栅格编码(Run-LengthEncoding)将原始栅格矩阵中属性值相同的连续若干个单元映射为一个游程,每个游程的数据结构为(A,P),A表示属性值或属性值的指针,P代表该游程最右端的列号或个数。9999000099090000900977000000770000007777000077770000777700007777原始栅格数据(9,4),(0,4),(9,3),(0,5),(0,1)(9,2),(0,1),(7,2),(0,2),(0,4),(7,2),(0,2),(0,4),(7,4),(0,4),(7,4),(0,4),(7,4),(0,4),(7,4)3-24变长编码3-25游程长度编码(Run—LengthCodes)游程长度编码是按行帧序存储多边形内的各个像元的列号,即在某行上从左至右存储属该多边形的始末像元的列号。问:对左图的进行游程长度编码。3-263.链式数据编码(ChainEncoding,弗里曼Freeman)链式编码主要是记录线状地物和面状地物的边界。它把线状地物和面状地物的边界表示为:由某一起始点开始并按某些基本方向确定的单位矢量链。基本方向可定义为:东=0,东南=l,南=2,西南=3,西=4,西北=5,北=6,东北=7等八个基本方向。67012345链式编码的方向代码32233233246676021起始点起始点链式编码示意图3-27链式编码(ChainCodes)右图多边形编码为: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。3-284、块码(BlockCodes)采用方形区域作为记录单元,数据编码由初始位置行列号加上半径,再加上记录单元的代码组成。0225555522222555000003332222335500233355003333530003333300003333(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,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,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)。3-29块式编码是将游程长度编码扩大到二维的情况,把多边形范围划分成由像元组成的正方形,然后对各个正方形进行编码。如图:块式编码的数据结构由初始位置(行号,列号)和半径,再加上记录单元的代码组成。根据这一编码原则,上述多边形只需17个单位正方形。9个4单位的正方形和1个16单位的正方形就能完整表示,总共要57个数据,其中27对坐标,3个块的半径。4、块码(BlockCodes)3-305、四叉树编码是根据栅格数据二维空间分布的特点,将空间区域按照4个象限进行递归分割(2n×2n,且n1),直到子象限的数值单调为止,最后得到一棵四分叉的倒向树。四叉树分解,各子象限大小不完全一样,但都是同代码栅格单元组成的子块,其中最上面的一个结点叫做根结点,它对应于整个图形。不能再分的结点称为叶子结点,可能落在不同的层上,该结点代表子象限单一的代码,所有叶子结点所代表的方形区域覆盖了整个图形。从上到下,从左到右为叶子结点编号,最下面的一排数字表示各子区的代码。为了保证四叉树分解能不断的进行下去,要求图形必须为2n×2n的栅格阵列。n为极限分割次数,n+1是四叉树最大层数或最大高度3-31四叉树编码又称为四分树、四元树编码。它是一种更有效地压编数据的方法。它将2n×2n像元阵列连续进行4等分,一直分到正方形的大小正好与象元的大小相等为止(如下图),而块状结构则用四叉树描述,习惯上称为四叉树编码。999900009909000090097700000077000000777700007777000077770000777799990000000999990070700000077777700000007777777700007700707000000700709999009009000NWNESWSE5、四叉树编码3-320225555522222555000003332222335500233355003333530003333300003333①②③④⑤⑥⑦⑧⑨⑩1112131415161718192021222324252627282930313233363738393435400000333033333530022232222022225255533355西南东南西北东北•四叉树编码思路3-333-343-353-36•四叉树编码方法常规四叉树线性四叉树3-37常规四叉树存储4个叶结点,一个父指针,一个属性;结点之间借助指针联系.①②③④⑤⑥⑦⑧⑨⑩1112131415161718192021222324252627282930313233363738393435400000333033333530022232222022225255533355西南东南西北东北缺点:数据存储量较大,操作比较复杂;主要用在数据索引和图幅索引等方面3-38只存储最后叶结点的信息,含结点的位置、深度和属性。线性四叉树NWNESWSE0层1层2层3层00448222(1)(6)(7)(12)(17)(18)(23)(24)8(25)0(2)0(3)0(4)4(5)0(8)4(9)4(10)4(11)4(15)4(14)4(13)4(20)4(19)4(22)8(16)2(21)特点:数据存储量大大减少,应用广泛3-39线性四叉树编码方法(1)基于四进制的编码方法对一个n×n(n=2k,k>1)的栅格方阵组成的区域作第一次分割。得到四个子象限,即:0123,1,;1,22,1,;1,22,1,;1,22,1,;1,22nnPPijijnnPPijijnnnPPijinjnnPPijinjn3-4000011033,1,;1,44,1,;1
本文标题:GIS原理与应用-3-空间数据结构与数据库
链接地址:https://www.777doc.com/doc-7116044 .html