1、3.13.1空间数据结构的类型空间数据结构的类型3.1空间数据结构的类型空间数据结构的类型、1栅格数据结构栅格数据结构 一、栅格数据结构的概念一、栅格数据结构的概念 二、栅格数据结构的特点二、栅格数据结构的特点 三、栅格数据的获取方法三、栅格数据的获取方法 四、栅格数据单元值的确定方法四、栅格数据单元值的确定方法 五、减少栅格数据存储量的编码方法五、减少栅格数据存储量的编码方法 栅格数据结构栅格数据结构,就是以行、列表,就是以行、列表示的像元阵列,像元点上的值即对应示的像元阵列,像元点上的值即对应着地理实体的属性或属性编码。着地理实体的属性或属性编码。020202 02020202020505
2、0202 0202020202020202020202020202020202020505050505 05050505050502 03 031003 03 0303030303030303030303030303030606060303 03 030603 03 03030303030606060303 03 03 03 03030603030303030303031002:草地:草地03:耕地:耕地05:林地:林地06:水域:水域10:居民点:居民点020202 020202020205050202 02020202020202020202020202020202020205050505
3、05 05050505050502 03 031003 03 030303030303030303030303030303030606060303 03 030603 03 0303030303030606060303 03 03 03 030306030303030303030310020202 020202020205050202 0202020202020202020202020202020202020505050505 05050505050502 03 031003 03 0303030303030303030303030303030606060303 03 030603 03 03
4、030303030606060303 03 03 03 030306030303030303030310 特点特点:由于栅格数据结构是按一定规则排列的,由于栅格数据结构是按一定规则排列的,所以所以,其所表示的实体位置就很容易隐含其所表示的实体位置就很容易隐含在栅格数据文件的结构之中在栅格数据文件的结构之中;栅格的行列坐标可以方便地转换为其它栅格的行列坐标可以方便地转换为其它坐标系下的坐标值坐标系下的坐标值;栅格文件的中的每个代码本身即明确地栅格文件的中的每个代码本身即明确地表明了实体的属性或属性编码表明了实体的属性或属性编码;栅格数据特别适合与计算机处理,特别栅格数据特别适合与计算机处理,特别
5、是存储和显示是存储和显示;栅格数据表示的地表上的线或者面是不栅格数据表示的地表上的线或者面是不连续的,其表示地理实体的精度与栅格连续的,其表示地理实体的精度与栅格尺寸有关尺寸有关;相对于矢量数据结构相对于矢量数据结构,数据量大数据量大 直接获取法直接获取法:将均匀的透明格将均匀的透明格网蒙在要进行处网蒙在要进行处理的专题地图上理的专题地图上,按行列读取专题按行列读取专题内容的编码值内容的编码值;ABCABC0000000000000000000000000000000000000AAAAAAAAAAAAAAAABBBBBBBBBBCBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCC
6、CC00A 数据转换法数据转换法:由矢量数据转换到栅格数据由矢量数据转换到栅格数据.ABC0000000000000000000000000000000000000AAAAAAAAAAAAAAAABBBBBBBBBBCBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC00A通过转换程序通过转换程序 扫描法扫描法:通过扫描设备通过扫描设备(包括遥感平台包括遥感平台)扫描得到栅扫描得到栅格数据格数据扫描仪扫描仪航空航天遥感航空航天遥感 中心点法中心点法(网格交点归属法网格交点归属法):用处于栅格中心处的实体属性作为该用处于栅格中心处的实体属性作为该栅格单元的属性栅格单元的属性;AB
7、C面积占优法面积占优法:以占栅格面积最大的地物属性作为该栅格单以占栅格面积最大的地物属性作为该栅格单元的属性元的属性;ABC 长度占优法长度占优法:以占栅格行中心线长度最大的地物属性以占栅格行中心线长度最大的地物属性作为该栅格单元的属性作为该栅格单元的属性;ABCABC 重要性法重要性法:以栅格单元内是否含有重要地物来确定以栅格单元内是否含有重要地物来确定该栅格单元的属性该栅格单元的属性;有无重要有无重要地物地物?以该重要地物的属性以该重要地物的属性作为栅格单元的属性作为栅格单元的属性以其他取值方法确定以其他取值方法确定栅格单元的属性栅格单元的属性不能单独作一种取值方法用不能单独作一种取值方法
8、用有有无无 分别在什么情况下适合使用何种方法:中心点法中心点法:适用于对位置精度要求高的地方,强调一个地物位置重要性时譬如连续分布地理要素,分类较细地物面积占优法:面积占优法:强调面积时用该方法,譬如计算土地利用面积时长度占优法:长度占优法:强调一个地物长度时用重要性法:重要性法:强调地物重要性时,譬如具有特殊意义的较小地物 栅格数据压缩的必要性栅格数据压缩的必要性:直接的栅格数据简单,但数据量大直接的栅格数据简单,但数据量大.这对这对于计算机有限的储存器来讲是不易接受于计算机有限的储存器来讲是不易接受的的.所以,采用各种方法对栅格数据进行所以,采用各种方法对栅格数据进行压缩是十分必要的。压缩
9、是十分必要的。有损压缩有损压缩:数据压缩的同时,或多或少丢数据压缩的同时,或多或少丢失了部分原信息;失了部分原信息;无损压缩:无损压缩:数据压缩不会减少原信息量,数据压缩不会减少原信息量,原数据可完全恢复。原数据可完全恢复。链式编码链式编码(弗里曼链码、边界弗里曼链码、边界链码链码)将多边形的边界,表示将多边形的边界,表示为由某一原点开始,并为由某一原点开始,并按某些方向确定的单位按某些方向确定的单位矢量链。矢量链。01234567主要对面状数据进行主要对面状数据进行020202 020202020205050202 02020202020202020202020202020202020205
10、05050505 05050505050502 03 031003 03 0303030303030303030303030303030606060303 03 030603 03 03030303030606060303 03 03 03 030306030303030303030310012345670 195 6 7 82 3 40123456789(5,3,0,0,2,2,4,5,6)优缺点:优缺点:对多边形的表示有很强的压缩能力;对多边形的表示有很强的压缩能力;有一定的计算功能有一定的计算功能如多边形周长;如多边形周长;可探测边界的走向;可探测边界的走向;适用于存储多边形数据。适用于
11、存储多边形数据。叠置运算难于进行,如组合、相交等;叠置运算难于进行,如组合、相交等;相邻边界重复存储,存在数据冗余相邻边界重复存储,存在数据冗余 游程编码游程编码从第一行开始,从左到右将若干个属从第一行开始,从左到右将若干个属性值相同的栅格视为一个游程,每个性值相同的栅格视为一个游程,每个游程的数据结构表示(游程的数据结构表示(A,P),其中),其中A为游程长度为游程长度(所延续的列数所延续的列数),P为该为该游程像元的属性值。这样,就可以将游程像元的属性值。这样,就可以将每行栅格映射为每行栅格映射为K个游程,当个游程,当K远远小远远小于列数时于列数时,原栅格数据就得以压缩原栅格数据就得以压缩
12、.020202 020202020205050202 0202020202020202020202020202020202020505050505 05050505050502 03 031003 03 0303030303030303030303030303030606060303 03 030603 03 03030303030606060303 03 03 03 030306030303030303030310(8,02),(2,05)(8,02),(2,05)(3,02),(6,03),(1,05)(2,02),(8,03)(2,02),(3,03),(1,10),(4,03)(2,0
13、2),(1,03),(3,06),(1,10),(3,03)(2,02),(1,03),(3,06),(4,03)(1,02),(3,03),(2,06),(2,03),(2,05)(1,02),(6,03),(3,05)(1,02),(6,03),(3,05)优点:优点:是多种压缩算法的实现基础;是多种压缩算法的实现基础;易于实现检索、叠加、合并等常用操作;易于实现检索、叠加、合并等常用操作;当图形不复杂,栅格尺寸较小时,可实当图形不复杂,栅格尺寸较小时,可实现栅格数据的较大压缩。现栅格数据的较大压缩。四叉树编码四叉树编码:四叉树数据结构的概念四叉树数据结构的概念:又称为四分树或四又称为四分
14、树或四元树编码。就是将元树编码。就是将2n2n(n=1)的空)的空间区域按照四个像限进行递归分割,直到间区域按照四个像限进行递归分割,直到子像限的值单调为止。子像限的值单调为止。每个均值方块分解为四个方位即(西北、东北、西南和东南)四叉树顶部时根结点,内部结点用圆圈表示,叶结点用方框表示00 011110分解顺序编码分解顺序编码 四叉树编码示例:999900009909000090097700000077000000777700007777000077770000777799990000000999990070700000077777700000007777777700007700707000
15、0099990000990900009009770000007700000077770000777700007777000077779999000000099999007070000007777770000000777777770000770070700000 自上而下法:首先检查全区域,不单调时自上而下法:首先检查全区域,不单调时进行四分割,再逐层检查各级子像限,不进行四分割,再逐层检查各级子像限,不单调时再进行四分割,直到划分到的各级单调时再进行四分割,直到划分到的各级子像限都单调为止。子像限都单调为止。自下而上法:按照四个像限的顺序,逐个自下而上法:按照四个像限的顺序,逐个扫描各栅格点,
16、并在各级像限划分的末位扫描各栅格点,并在各级像限划分的末位置审查、记录该像限的单调情况。置审查、记录该像限的单调情况。四叉树结构按其编码方式的不同又分为四叉树结构按其编码方式的不同又分为“常常规四叉树规四叉树”(CQT)和)和“线性四叉树线性四叉树”(LQT)常规四叉树除了记录叶结点之外,还要记录常规四叉树除了记录叶结点之外,还要记录中间结点,结点之间借助于指针相联系。每中间结点,结点之间借助于指针相联系。每个结点用个结点用4个叶结点指针、个叶结点指针、1个父结点指针和个父结点指针和一个属性码共一个属性码共6个数据项来表达。个数据项来表达。线性四叉树只记录叶结点信息,每个结点用线性四叉树只记录
17、叶结点信息,每个结点用位置、深度和属性码位置、深度和属性码4个数据项表达。个数据项表达。2 矢量数据结构矢量数据结构 矢量数据结构矢量数据结构是通过记录坐标的方式,尽可能地将点、线、面地理实体表现得精确无误。其坐标空间假定为连续空间,不必象栅格数据结构那样进行量化处理。因此矢量数据能更精确地定义位置、长度和大小。除数学上的精确坐标假设外,矢量数据存储是以隐式关系隐式关系以最小的存储空间存储复杂的数据。 仔细研究阅读栅格数据的压缩编码方式仔细研究阅读栅格数据的压缩编码方式矢量数据结构通过记录空间对象的坐标及空间关系来表达空间对象的位置。q点:空间的一个坐标点;q线:多个点组成的弧段;q面:多个弧
18、段组成的封闭多边形;标识码标识码属性码属性码空间对象编码空间对象编码唯一唯一连接空间和属性数据连接空间和属性数据数据库数据库独立编码独立编码点点:(x,y)线线:(x1,y1),(x2,y2),(xn,yn)面面:(x1,y1),(x2,y2),(x1,y1)点位字典点位字典点点:点号文件点号文件线线:点号串点号串面面:点号串点号串点号XY1112223344n5566存储方法存储方法方向字体排列指针与线相交的角度如果是简单点符号符号字符大小简单点文字说明结点唯一识别符比例尺方向x,y 坐标其它有关的属性点实体类型序列号有关的属性如果是文字说明如果是结点唯一标识码线标识码起始点终止点坐标对序列
19、显示信息非几何属性线实体多边形矢量编码,多边形矢量编码,不但要表示位置和不但要表示位置和属性,更重要的是属性,更重要的是能表达区域的能表达区域的拓扑拓扑特征特征,如形状、邻,如形状、邻域和层次结构等,域和层次结构等,以便使这些基本的以便使这些基本的空间单元可以作为空间单元可以作为专题图的资料进行专题图的资料进行显示和操作。显示和操作。简单的矢量数据结构简单的矢量数据结构面条结构(实体式)面条结构(实体式)只记录空间对象的位置坐标和属性信息,不记录拓扑关系。0存储:q 独立存储:空间对象位置直接跟随空间对象;q 点位字典:点坐标独立存储,线、面由点号组成0特征l 无拓扑关系,主要用于显示、输出及
20、一般查询l 公共边重复存储,存在数据冗余,难以保证数据独立性和一致性l 多边形分解和合并不易进行,邻域处理较复杂;l 处理嵌套多边形比较麻烦0 适用范围:制图及一般查询,不适合复杂的空间分析12345678910111213141516171819202122232425262728293031多边形多边形 数据项数据项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),(x17,y17),(x16,y16),(x15,y15),(x14
21、,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,
22、y5)BCDEabcfghefibcij12345678910111213141516171819202122232425262728293031线与多边形之间的树状索引线与多边形之间的树状索引 点与多边形之间的树状索引点与多边形之间的树状索引 ABCDOabcdefghijklmn123456789101112线号左多边形右多边形起点终点aOA18bOA21cOB32dOB43eOB54fOC65gOC76hOC87iCA89jCB95kCD1210lCD1112mCD1011nBA92这种数据结构除了通过线这种数据结构除了通过线文件生成面文件外,还需文件生成面文件外,还需要点文件要点文件
23、链状双重独立式数据结构是DIME数据结构的一种改进。在DIME中,一条边只能用直线两端点的序号及相邻的面域来表示,而在链状数据结构中,将若干直线段合为一个弧段(或链段),每个弧段可以有许多中间点。在链状双重独立数据结构中,主要有四个文件:多边形文件、弧段文件、弧段坐标文件、结点文件。弧段文件弧段文件弧段号弧段号起始点起始点终结点终结点左多边形左多边形右多边形右多边形a51OAb85EAc168EBd195OEe1519ODf1516DBg115OBh81ABi1619DEj3131BC弧段坐标文件弧段坐标文件弧段号弧段号点点 号号a5,4,3,2,1b8,7,6,5c16,17,8d19,18
24、,5e15,23,22,21,20,19f15,16,g1,10,11,12,13,14,15h8,9,1i16,19j31,30,29,28,27,26,25,24,3112345678910111213141516171819202122232425262728293031多边形文件多边形文件多边形号多边形号弧段号弧段号周长周长 面积面积 中心点坐中心点坐标标Ah,b,aBg,f,c,h,-jCjDe,i,fEe,i,d,bl 用离散的点描述空间对象与特征,定位明显,属性用离散的点描述空间对象与特征,定位明显,属性隐含隐含l 用拓扑关系描述空间对象之间的关系用拓扑关系描述空间对象之间的关系
25、l 面向目标操作,精度高,数据冗余度小面向目标操作,精度高,数据冗余度小l 与遥感等图象数据难以结合与遥感等图象数据难以结合l 输出图形质量号,精度高输出图形质量号,精度高1.结构简单,易数据交换。结构简单,易数据交换。2.叠置分析和地理叠置分析和地理(能有效表达空能有效表达空可变性可变性)现象模拟较易。现象模拟较易。3.利于与感遥数据的匹配应用和利于与感遥数据的匹配应用和分析,便于图像处理。分析,便于图像处理。4.输出快速,成本低廉。输出快速,成本低廉。1.便于面向现象便于面向现象(土壤类,土地利土壤类,土地利用单元等用单元等)2.结构紧凑,冗余度低,便于描结构紧凑,冗余度低,便于描述线或边
26、界。述线或边界。3.利于网络、检索分析,提供有利于网络、检索分析,提供有效的拓扑编码,对需要拓扑信效的拓扑编码,对需要拓扑信息的操作更有效。息的操作更有效。4.图形显示质量好,精度高。图形显示质量好,精度高。优优 点点 1.数据结构复杂,各自定义,不便于数数据结构复杂,各自定义,不便于数据标准化和规范化,数据交换困难。据标准化和规范化,数据交换困难。2.多边形叠置分析困难,没有栅格有效,多边形叠置分析困难,没有栅格有效,表达空间变化性能力差。表达空间变化性能力差。3.不能像数字图像那样做增强处理不能像数字图像那样做增强处理 4.软硬件技术要求高,显示与绘图成本软硬件技术要求高,显示与绘图成本较
27、高。较高。矢矢量量1.现象识别效果不如矢量方法,难以表现象识别效果不如矢量方法,难以表达拓扑。达拓扑。2.图形数据量大,数据结构不严密不紧图形数据量大,数据结构不严密不紧凑,需用压缩技术解决该问题。凑,需用压缩技术解决该问题。3.投影转换困难。投影转换困难。4.图形质量转低,图形输出不美观,线图形质量转低,图形输出不美观,线条有锯齿,需用增加栅格数量来克服,条有锯齿,需用增加栅格数量来克服,但会增加数据文件。但会增加数据文件。栅栅格格 缺缺 点点 由于矢量数据结构和栅格数据结构各具有由于矢量数据结构和栅格数据结构各具有不同的优缺点,一般他们的应用原则是:不同的优缺点,一般他们的应用原则是:数据
28、采集采用矢量数据结构,有利于保证数据采集采用矢量数据结构,有利于保证空间实体的几何精度和拓扑特性的描述;空间实体的几何精度和拓扑特性的描述;而空间分析则主要采用栅格数据结构,有而空间分析则主要采用栅格数据结构,有利于加快系统数据的运行速度和分析应用利于加快系统数据的运行速度和分析应用的进程,因而在数据处理阶段,经常要进的进程,因而在数据处理阶段,经常要进行两种数据结构的相互转换。行两种数据结构的相互转换。矢量数据的基本要素是点、线、面,因而只要实现点、线、面的转换,各种图形的相互转换问题就得以解决。研究的区域如右图,坐标方向如图中箭头所示,区域的最大最小坐标分别为xmax,xmin,ymax,
29、ymin。网格大小为xy。x=(xmaxxmin)/Jy=(ymaxymin)/I 一般情况下,取x=y。0123jymaxyminxmaxxmin x y0123ixy 点的变换十分简单,只要这个点落在哪个网格中就属于哪个网格元素,行列坐标(i,j)可由下式计算:i=1+Int(ymax-y)/y j=1+Int(x-xmin)/x012yminxmaxxmin0123ix3jymax x 图像数据可来源于扫描、遥感分类图象等图像数据可来源于扫描、遥感分类图象等。二值化二值化:应注意选取合适的阈值,对于一幅特定应注意选取合适的阈值,对于一幅特定的图象,甚至需尝试不同的阈值。的图象,甚至需尝试
30、不同的阈值。细化细化:消除线划横断面栅格数的差异,使得每一:消除线划横断面栅格数的差异,使得每一条线只保留代表其横轴线的单个栅格的宽度。条线只保留代表其横轴线的单个栅格的宽度。“剥皮法剥皮法”跟踪跟踪:跟踪整理为以起始点(或称结点)开始的:跟踪整理为以起始点(或称结点)开始的线段或闭合的线条。线段或闭合的线条。“剥皮法”的实质是从曲线的边缘开始,每次剥掉等于一个栅格宽的一层,直到最后留下彼此连通的由单个栅格点组成的图形。这一方法的最关键的技术是在剥皮过程中,不允许剥去会导致曲线不连通的栅格。 空间实体可抽象为哪几种基本类型?它们在矢量数据结构和栅格数据结构分别是如何表示的?叙述3种栅格数据存储的压缩编码方法。试写出矢量和栅格数据结构的模式,并列表比较其优缺点。