空间数据结构 (2)PPT讲稿.ppt
空间数据结构第1页,共90页,编辑于2022年,星期一第4章 空间数据结构4.1 矢量数据结构矢量数据结构 4.2 栅格数据结构栅格数据结构 4.3 矢栅一体化数据结构矢栅一体化数据结构4.4 镶嵌数据结构镶嵌数据结构4.5 三维数据结构三维数据结构 第2页,共90页,编辑于2022年,星期一本章学习要点 空间数据结构是对空间逻辑数据模型描述的数据组空间数据结构是对空间逻辑数据模型描述的数据组织关系和编排方式,是空间数据模型的具体实现,织关系和编排方式,是空间数据模型的具体实现,对地理信息系统中数据存储、查询、检索和分析应对地理信息系统中数据存储、查询、检索和分析应用等操作处理有至关重要的影响。用等操作处理有至关重要的影响。掌握数据结构类型与特点,是合理的空间建模与数据组掌握数据结构类型与特点,是合理的空间建模与数据组织的基础。织的基础。要点:要点:矢量数据机构矢量数据机构 栅格数据结构栅格数据结构第3页,共90页,编辑于2022年,星期一表达真实的世界表达真实的世界EEERHRRRRRRRRRPRPPPPPEEEHEE56100065550005810006575000HouseRiverPine ForestEucalyptsEPEHHReal World栅格模型矢量模型第4页,共90页,编辑于2022年,星期一4.1 矢量数据结构矢量数据结构1.矢量数据的概念2.矢量数据结构的表示(1)简单数据结构及编码(2)拓扑数据结构及编码第5页,共90页,编辑于2022年,星期一1.矢量数据的概念 矢量矢量矢量矢量:具有长度和方向的量。矢量数据结构矢量数据结构矢量数据结构矢量数据结构:通过记录坐标值的方式尽可能精确地:通过记录坐标值的方式尽可能精确地表示点、线或面状分布的地理实体,坐标空间设为连表示点、线或面状分布的地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。续,允许任意位置、长度和面积的精确定义。在一般情况下,其精度比栅格数据结构高得多。其精在一般情况下,其精度比栅格数据结构高得多。其精度仅受数字化设备的精度和数值记录字长的限制。度仅受数字化设备的精度和数值记录字长的限制。第6页,共90页,编辑于2022年,星期一2.矢量数据结构的表示计算机地图制图中,研究表示矢量数据的结构时应考虑计算机地图制图中,研究表示矢量数据的结构时应考虑的问题:的问题:矢量数据的存储和处理;与属性数据的关联;与属性数据的关联;矢量数据之间拓扑关系的表示。矢量数据之间拓扑关系的表示。第7页,共90页,编辑于2022年,星期一(1)简单数据结构及编码简单数据结构也称为简单数据结构也称为面条数据结构面条数据结构面条数据结构面条数据结构,只记录空间对象的位置坐只记录空间对象的位置坐标和属性信息,标和属性信息,不记录拓扑关系不记录拓扑关系不记录拓扑关系不记录拓扑关系。常见方法:常见方法:独立实体法和点位字典法。独立实体法和点位字典法。第8页,共90页,编辑于2022年,星期一独立实体法使用点、线、面对象分别记录其坐标对,即每个实体的坐标使用点、线、面对象分别记录其坐标对,即每个实体的坐标都独立存储,并不关心相邻的多边形或线状和点状地物。具都独立存储,并不关心相邻的多边形或线状和点状地物。具体形式和公式如下:体形式和公式如下:点对象:点对象:对象标识对象标识,(x,y),(x,y),属性数据属性数据;线对象:线对象:对象标识对象标识,(x,(x1 1,y,y1 1),(x),(x2 2,y,y2 2)(x)(xn n,y,yn n),),属性数据属性数据;面对象:面对象:对象标识对象标识,(,(x x1 1,y,y1 1),(x),(x2 2,y,y2 2)(x)(xn n,y,yn n),(),(x x1 1,y,y1 1),),属性属性数据数据;对面状实体,最末一点坐标与第一点坐标相等对面状实体,最末一点坐标与第一点坐标相等。第9页,共90页,编辑于2022年,星期一地图要素的矢量数据表示例:图例:图4.14.1,表,表4.14.1标识标识(ID)(ID)坐标位置坐标位置属性属性点点1010X X,Y Y线线1212X X1 1,Y Y1 1,X X2 2,Y Y2 2,X X3 3,Y Y3 3,X X4 4,Y Y4 4,X X5 5,Y Y5 5,X X6 6,Y Y6 6面面3535X X1 1,Y Y1 1,X X2 2,Y Y2 2,X X3 3,Y Y3 3,X X4 4,Y Y4 4,X X5 5,Y Y5 5,X X6 6,Y Y6 6,X X1111,Y,Y1111,X X1 1,Y Y1 1第10页,共90页,编辑于2022年,星期一优点:编码容易,数字化操作简单,数据编码直观,显示速度快。编码容易,数字化操作简单,数据编码直观,显示速度快。缺点:缺点:除了外轮廓线以外,多边形的边界数据均获取和存储两次,除了外轮廓线以外,多边形的边界数据均获取和存储两次,这样会产生裂缝或重叠,并产生数据冗余。为了消除裂缝,这样会产生裂缝或重叠,并产生数据冗余。为了消除裂缝,一般要编辑。一般要编辑。缺少拓扑关系,空间分析困难。缺少拓扑关系,空间分析困难。第11页,共90页,编辑于2022年,星期一 点位字典法点位字典法使用坐标文件记录所有点坐标对,并使用点号惟一标示每一个坐标使用坐标文件记录所有点坐标对,并使用点号惟一标示每一个坐标对,点、线、面对象都由点号组成。对,点、线、面对象都由点号组成。点位字典:点号点位字典:点号,(x,y);,(x,y);点对象:惟一标志码点对象:惟一标志码,点号点号,属性数据属性数据;线对象:惟一标志码线对象:惟一标志码,(,(点号点号1 1,点号,点号n),n),属性数据属性数据;面对象:惟一标志码面对象:惟一标志码,(,(点号点号1 1,点号,点号n n,点号点号点号点号1 1),),属性数据属性数据;例:图例:图4.14.1,表,表4.24.2,表,表4.34.3第12页,共90页,编辑于2022年,星期一(2 2)拓扑数据结构及编码)拓扑数据结构及编码索引式结构(略)双重独立地图编码双重独立地图编码 链状双重独立式编码链状双重独立式编码 第13页,共90页,编辑于2022年,星期一拓扑数据结构拓扑数据结构记录空间实体的位置、标志及属性信息,同时记录拓扑关系。记录空间实体的位置、标志及属性信息,同时记录拓扑关系。双重独立地图编码双重独立地图编码双重独立地图编码(双重独立地图编码(Dual Independent Map EncodingDual Independent Map Encoding,DIMEDIME ),),是美国人口调查局在人口调查的基础上发展起来的,是美国人口调查局在人口调查的基础上发展起来的,它通过有向编码建立了多边形、边界、结点之间的拓扑关它通过有向编码建立了多边形、边界、结点之间的拓扑关系,系,DIMEDIME编码成为其它拓扑编码结构的基础。编码成为其它拓扑编码结构的基础。例:图例:图4.44.4,表,表4.74.7第14页,共90页,编辑于2022年,星期一双重独立式双重独立式双重独立式DIME(Dual lndependent Map Encoding)DIME(Dual lndependent Map Encoding)DIME(Dual lndependent Map Encoding)线号线号线号线号左多边形左多边形左多边形左多边形右多边形右多边形右多边形右多边形起点起点起点起点终点终点终点终点a aOOA A1 18 8b bOOA A2 21 1c cOOB B3 32 2d dOOB B4 43 3e eOOB B5 54 4f fOOC C6 65 5g gOOC C7 76 6h hOOC C8 87 7i iC CA A8 89 9j jC CB B9 95 5k kC CD D12121010l lC CD D11111212mmC CD D10101111n nB BA A9 92 2这种数据结构除了通过线文这种数据结构除了通过线文这种数据结构除了通过线文这种数据结构除了通过线文件生成面文件外,还需要点件生成面文件外,还需要点件生成面文件外,还需要点件生成面文件外,还需要点文件文件文件文件 第15页,共90页,编辑于2022年,星期一链状双重独立式编码链状双重独立式数据结构是链状双重独立式数据结构是DIMEDIME数据结构的一种改进。在数据结构的一种改进。在DIMEDIME中,一条边只能用直线两端点的序号及相邻的面域来表示,而在中,一条边只能用直线两端点的序号及相邻的面域来表示,而在链状数据结构中,将若干直线段合为一个弧段(或链段),每个链状数据结构中,将若干直线段合为一个弧段(或链段),每个弧段可以有许多中间点。弧段可以有许多中间点。在链状双重独立数据结构中,主要有四个文件:多边形文件、在链状双重独立数据结构中,主要有四个文件:多边形文件、弧段文件、弧段坐标文件、点文件。弧段文件、弧段坐标文件、点文件。第16页,共90页,编辑于2022年,星期一点文件:标志码,(点文件:标志码,(x,yx,y);弧段坐标文件:标志码,弧段中间点;弧段坐标文件:标志码,弧段中间点;弧段文件:标志码,起始结点,终止结点,左多边形,右多边形;弧段文件:标志码,起始结点,终止结点,左多边形,右多边形;多边形文件:标志码,组成多边形的弧段号,属性(面积、多边形文件:标志码,组成多边形的弧段号,属性(面积、周长)及中心点坐标等。周长)及中心点坐标等。例:图例:图4.44.4,表,表4.84.8,表,表4.94.9,表,表4.104.10,表,表4.114.11第17页,共90页,编辑于2022年,星期一弧段文件弧段文件弧段文件弧段文件弧段号弧段号弧段号弧段号起始点起始点起始点起始点终结点终结点终结点终结点左多边形左多边形左多边形左多边形右多边形右多边形右多边形右多边形aa5511OOAAbb8855EEAAcc161688EEBBdd191955OOEEee15151919OODDff15151616DDBBgg111515OOBBhh8811AABBii16161919DDEEjj31313131BBCC弧段坐标文件弧段坐标文件弧段坐标文件弧段坐标文件弧段号弧段号弧段号弧段号点点点点 号号号号aa5,4,3,2,15,4,3,2,1bb8,7,6,58,7,6,5cc16,17,816,17,8dd19,18,519,18,5ee15,23,22,21,20,1915,23,22,21,20,19ff15,16,15,16,gg1,10,11,12,13,14,151,10,11,12,13,14,15hh8,9,18,9,1ii16,1916,19jj31,30,29,28,27,26,25,24,3131,30,29,28,27,26,25,24,31链状双重独立式链状双重独立式 多边形文件多边形文件多边形文件多边形文件多边形号多边形号多边形号多边形号弧段号弧段号弧段号弧段号周长周长周长周长 面积面积面积面积 AAh,b,ah,b,aBBg,f,c,h,-jg,f,c,h,-jCCjjDDe,i,fe,i,fEEe,i,d,be,i,d,b第18页,共90页,编辑于2022年,星期一 优点:优点:数据结构紧凑、数据冗余小;拓扑关系明晰,拓扑查询、分析数据结构紧凑、数据冗余小;拓扑关系明晰,拓扑查询、分析效率高。效率高。缺点:缺点:对单个地理实体的操作效率低,难以表达复杂的地理实体,查对单个地理实体的操作效率低,难以表达复杂的地理实体,查询效率低,局部更新困难。询效率低,局部更新困难。第19页,共90页,编辑于2022年,星期一实体型与拓扑型数据结构比较实体型与拓扑型数据结构比较实体型与拓扑型数据结构比较实体型与拓扑型数据结构比较 两者都是目前最常用的数据结构模型两者都是目前最常用的数据结构模型 实体型代表软件为实体型代表软件为MapInfoMapInfo 拓扑型代表软件为拓扑型代表软件为ARC/INFOARC/INFO 它们各具特色它们各具特色实体型虽然会产生数据冗余和歧异,但易于编辑。拓扑型消除了数据的冗余和歧异,但操作复杂,甚至会产生新的数据冗余。第20页,共90页,编辑于2022年,星期一4.2 栅格数据结构栅格数据结构1.1.栅格数据结构的基本概念栅格数据结构的基本概念栅格数据结构的基本概念栅格数据结构的基本概念栅格数据结构栅格数据结构栅格数据结构栅格数据结构:栅格结构是以规则的阵列来表示空间地物或栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个栅格数据表示地物或现象分布的数据组织,组织中的每个栅格数据表示地物或现象的非几何属性特征。现象的非几何属性特征。在一定尺度范围和特定分辨率的情况下在一定尺度范围和特定分辨率的情况下,栅格结构表示的地表,栅格结构表示的地表是不连续的,是量化和近似离散的数据。是不连续的,是量化和近似离散的数据。第21页,共90页,编辑于2022年,星期一什么是栅格数据结构(什么是栅格数据结构(什么是栅格数据结构(什么是栅格数据结构(Raster)Raster)?Real worldGridPointLineAreaValue=0=1=2=3RowColumnTrianglesHexagonsRASTERRASTER第22页,共90页,编辑于2022年,星期一 栅格数据单元格经常是矩形(主要是正方形)的,但并不是必栅格数据单元格经常是矩形(主要是正方形)的,但并不是必须如此。其单元格形状可以随应用的需要进行具体设定,比如须如此。其单元格形状可以随应用的需要进行具体设定,比如设置为三角形。设置为三角形。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。栅格尺寸越小,其分辨率越高,数据量也越大。栅格尺寸越小,其分辨率越高,数据量也越大。栅格数据的形状、尺寸及相关问题栅格数据的形状、尺寸及相关问题引申思考:栅格数据的投影与变形问题?引申思考:栅格数据的投影与变形问题?第23页,共90页,编辑于2022年,星期一栅格数据结构栅格数据结构栅格数据结构栅格数据结构 栅格数据结构就是栅格阵列,每个栅格单元的行列号确定位置,用栅格数据结构就是栅格阵列,每个栅格单元的行列号确定位置,用栅格单元的数值表示空间对象的类型、等级等属性特征。栅格单元的数值表示空间对象的类型、等级等属性特征。每个栅格单元只能存在一个属性值。每个栅格单元只能存在一个属性值。第24页,共90页,编辑于2022年,星期一栅格数据结构:栅格数据结构:栅格数据结构:栅格数据结构:坐标系与描述参数坐标系与描述参数坐标系与描述参数坐标系与描述参数YY:列:列XX:行:行西南角格网坐标西南角格网坐标(XXWSWS,YYWSWS)格网分辨率格网分辨率第25页,共90页,编辑于2022年,星期一 栅格单元栅格单元像元像元 遥感影像:遥感影像:MSS MSS 7979 7979米米 SPOTSPOT 1010 1010米米 TMTM 3030 3030米米 QuickBird 0.61 QuickBird 0.61 0.610.61米米影像分辨率扫描图象:150DPI、300DPI、600DPI计算机屏幕分辨率:640780 800600 1024768第26页,共90页,编辑于2022年,星期一IKONOS卫星多光谱影像(4米)(排队参观毛主席纪念堂的队伍隐约可见,花坛信息没有,背景草坪不清晰)IKONOS卫星融合影像(1米)(排队参观毛主席纪念堂的队伍清晰可见,花坛和背景草坪显示出来,色调自然逼真,连纪念堂柱子的阴影都很清楚)第27页,共90页,编辑于2022年,星期一西班牙马德里体育场(0.61m)第28页,共90页,编辑于2022年,星期一点点点点线线线线面面面面 栅格数据结构栅格数据结构 点:为一个栅格点:为一个栅格单元(像元)单元(像元)线:在一定方向上线:在一定方向上连接成串的相邻栅连接成串的相邻栅格单元集合格单元集合 面:聚集在一起面:聚集在一起的相邻栅格单元集的相邻栅格单元集合。合。第29页,共90页,编辑于2022年,星期一表示点表示点 点使用离散分布的单个栅格单元来表示,单元格的值表示某个地理现象的属性,不同的值表示不同的地理对象或同一地理现象的不同属性。第30页,共90页,编辑于2022年,星期一表示线表示线 单条线通过一系列有序相连的具有相同值栅格单元来表示,不同的值表示不同的地理对象或同一地理现象的不同属性。第31页,共90页,编辑于2022年,星期一表示多边形表示多边形表示多边形表示多边形 单个面表示为一簇具有相同值的单元格,不同的值表示不同的地理对象或同一地理现象的不同属性 第32页,共90页,编辑于2022年,星期一栅格数据结构示例栅格数据结构示例(a)点 (b)线 (c)面第33页,共90页,编辑于2022年,星期一 由于栅格结构对地表的离散,在计算面积、长度、距离、形状由于栅格结构对地表的离散,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较大,则造成较大的误差等空间指标时,若栅格尺寸较大,则造成较大的误差 (过度(过度概化、不连续)。概化、不连续)。由于栅格单元中存在多种地物,而数据中常常只记录一个属性值,由于栅格单元中存在多种地物,而数据中常常只记录一个属性值,这会导致属性误差。比如,遥感数据中的这会导致属性误差。比如,遥感数据中的“混合像元混合像元”问题。问题。栅格数据的相关问题第34页,共90页,编辑于2022年,星期一栅格数据单元值确定栅格数据单元值确定混合像元混合像元CAB百分比法面积占优重要性中心点法A连续分布地理要素C具有特殊意义的较小地物A分类较细、地物斑块较小AB为了逼近原始数据精度,除了采用这几种取值方法外,还可以采用缩小单个栅格单元的面积,增加栅格单元总数为了逼近原始数据精度,除了采用这几种取值方法外,还可以采用缩小单个栅格单元的面积,增加栅格单元总数的方法的方法 第35页,共90页,编辑于2022年,星期一栅格数据单元值确定栅格数据单元值确定 问题:每一个单元可能对应多个地物种类或多个属性值。问题:每一个单元可能对应多个地物种类或多个属性值。基本原则:在决定栅格代码时尽量保持地表的真实性,保基本原则:在决定栅格代码时尽量保持地表的真实性,保证最大的信息容量证最大的信息容量 。第36页,共90页,编辑于2022年,星期一决定栅格单元代码的方式决定栅格单元代码的方式 1.中心点法 处理方法:处理方法:用处于栅格中心处的地物类型或现象特性决定栅格用处于栅格中心处的地物类型或现象特性决定栅格代码代码 常用于具有连续分布特性的地理要素,如降雨量分布、常用于具有连续分布特性的地理要素,如降雨量分布、人口密度图等。人口密度图等。例如:中心点O落在代码为C的地物范围内,按中心点法的规则,该矩形区域相应的栅格单元代码为C第37页,共90页,编辑于2022年,星期一2.面积占优法 处理方法:以占栅格区域面积比例最大的地物类型或现象特处理方法:以占栅格区域面积比例最大的地物类型或现象特性决定栅格单元的代码性决定栅格单元的代码 面积占优法常用于分类较细,地物类别斑块较小的情况面积占优法常用于分类较细,地物类别斑块较小的情况 例如:所示的例子中,显见B类地物所占面积最大,故相应栅格代码定为B 第38页,共90页,编辑于2022年,星期一3.重要性法 处理方法:根据栅格内不同地物的重要性,选取最重处理方法:根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码要的地物类型决定相应的栅格单元代码 重要性法常用于具有特殊意义而面积较小的地理要素,重要性法常用于具有特殊意义而面积较小的地理要素,特别是点、线状地理要素,如城镇、交通枢纽、交通线、特别是点、线状地理要素,如城镇、交通枢纽、交通线、河流水系等,在栅格中代码应尽量表示这些重要地物河流水系等,在栅格中代码应尽量表示这些重要地物 例如:假设A类最重要的地物类型,即A比B和C类更为重要,则栅格单元的代码应为A第39页,共90页,编辑于2022年,星期一4.4.百分比法百分比法 处理方法:根据栅格区域内各地理要素所占面积的百分处理方法:根据栅格区域内各地理要素所占面积的百分比数确定栅格单元的代码比数确定栅格单元的代码 适用于地物面积具有重要意义的分类体系适用于地物面积具有重要意义的分类体系 例如:可记面积最大的两类BA,也可以根据B类和A类所占面积百分比数在代码中加入数字 第40页,共90页,编辑于2022年,星期一5.5.其他方法其他方法 根据具体的应用内容,栅格单元的代码确定方式还可以根据具体的应用内容,栅格单元的代码确定方式还可以采用其他方法,如插值方法(平均值就是其中之一),采用其他方法,如插值方法(平均值就是其中之一),或使用特定的计算函数等。或使用特定的计算函数等。第41页,共90页,编辑于2022年,星期一栅格数据结构的特点栅格数据结构的特点 栅格数据结构结构容易实现,算法简单,且易于扩充、栅格数据结构结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像的结合处理,修改,也很直观,特别是易于同遥感影像的结合处理,给地理空间数据处理带来了极大的方便给地理空间数据处理带来了极大的方便 属性明显属性明显 数据中直接记录了数据属性或指向数据属性的指针,因而我数据中直接记录了数据属性或指向数据属性的指针,因而我们可以直接得到地物的属性代码们可以直接得到地物的属性代码 定位隐含定位隐含 所在位置则根据行列号转换为相应的坐标,也就是说所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得到的。栅格结构定位是根据数据在数据集中的位置得到的。栅格结构是按一定的规则排列的,所表示的实体的位置很容易是按一定的规则排列的,所表示的实体的位置很容易隐含在格网文件的存储结构中隐含在格网文件的存储结构中 第42页,共90页,编辑于2022年,星期一2.栅格数据编码栅格数据编码方法分为两大类:栅格数据编码方法分为两大类:直接栅格编码直接栅格编码 (完全栅格数据结构)(完全栅格数据结构)压缩编码方法压缩编码方法 链码链码 游程长度编码游程长度编码 块码块码 四叉树四叉树 第43页,共90页,编辑于2022年,星期一直接栅格编码直接栅格编码直接编码就是将栅格数据看作一个数据矩阵,逐行(或直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元进逐列)逐个记录代码,可以每行都从左到右逐个象元进行记录,也可以奇数行地从左到右而偶数行地从右向左行记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序记录,为了特定目的还可采用其他特殊的顺序 第44页,共90页,编辑于2022年,星期一一些常用的栅格排列顺序一些常用的栅格排列顺序第45页,共90页,编辑于2022年,星期一栅格矩阵(栅格矩阵(栅格矩阵(Raster Matrix)Raster Matrix)Raster Matrix)数据是二维表面上地理数据的离散量化值,每一层的值组成数据是二维表面上地理数据的离散量化值,每一层的值组成数据是二维表面上地理数据的离散量化值,每一层的值组成数据是二维表面上地理数据的离散量化值,每一层的值组成数据是二维表面上地理数据的离散量化值,每一层的值组成数据是二维表面上地理数据的离散量化值,每一层的值组成像元阵列(即二维数组),其中行、列号表示它的位置。像元阵列(即二维数组),其中行、列号表示它的位置。像元阵列(即二维数组),其中行、列号表示它的位置。像元阵列(即二维数组),其中行、列号表示它的位置。像元阵列(即二维数组),其中行、列号表示它的位置。像元阵列(即二维数组),其中行、列号表示它的位置。例如影像:例如影像:例如影像:例如影像:例如影像:例如影像:A A A AA A A AA A A AA A A AA A A AA A A A A B B B A B B B A B B B A B B B A B B B A B B B A A B B A A B B A A B B A A B B A A B B A A B B A A A B A A A B A A A B A A A B A A A B A A A B在计算机内是一个在计算机内是一个在计算机内是一个在计算机内是一个在计算机内是一个在计算机内是一个4*44*44*44*44*44*4阶的矩阵。但在外部设备上,通常是以左上阶的矩阵。但在外部设备上,通常是以左上阶的矩阵。但在外部设备上,通常是以左上阶的矩阵。但在外部设备上,通常是以左上阶的矩阵。但在外部设备上,通常是以左上阶的矩阵。但在外部设备上,通常是以左上角开始逐行逐行存贮。如上例存贮顺序为:角开始逐行逐行存贮。如上例存贮顺序为:角开始逐行逐行存贮。如上例存贮顺序为:角开始逐行逐行存贮。如上例存贮顺序为:角开始逐行逐行存贮。如上例存贮顺序为:角开始逐行逐行存贮。如上例存贮顺序为:A A A A A B B B A A B B A A A BA A A A A B B B A A B B A A A BA A A A A B B B A A B B A A A BA A A A A B B B A A B B A A A BA A A A A B B B A A B B A A A BA A A A A B B B A A B B A A A B当每个像元都有唯一一个属性值时,一层内的编码就需要当每个像元都有唯一一个属性值时,一层内的编码就需要当每个像元都有唯一一个属性值时,一层内的编码就需要当每个像元都有唯一一个属性值时,一层内的编码就需要当每个像元都有唯一一个属性值时,一层内的编码就需要当每个像元都有唯一一个属性值时,一层内的编码就需要m m m mm m行行行行行行nnnnnn列列列列列列3(x,y3(x,y3(x,y3(x,y3(x,y3(x,y和属性编码值和属性编码值和属性编码值和属性编码值和属性编码值和属性编码值)个存储单元。数字地面模型就属此种情况。个存储单元。数字地面模型就属此种情况。个存储单元。数字地面模型就属此种情况。个存储单元。数字地面模型就属此种情况。个存储单元。数字地面模型就属此种情况。个存储单元。数字地面模型就属此种情况。第46页,共90页,编辑于2022年,星期一压缩编码方式压缩编码方式压缩编码目的:压缩编码目的:用尽可能少的数据量记录尽可能多的信息。用尽可能少的数据量记录尽可能多的信息。基本思路基本思路:对于一个栅格图形,常常有行(列)方向上若干栅格对于一个栅格图形,常常有行(列)方向上若干栅格单元具有相同的属性代码,因此可采取某种方法压缩那些单元具有相同的属性代码,因此可采取某种方法压缩那些重复的内容。重复的内容。第47页,共90页,编辑于2022年,星期一压缩编码方式压缩编码方式类型分为:类型分为:信息无损编码信息无损编码编码过程中没有任何信息损失,通过解码操作可以完全恢编码过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息复原来的信息 信息有损编码信息有损编码为了提高编码效率,最大限度地压缩数据,在压缩过程中损失为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复一部分相对不太重要的信息,解码时这部分难以恢复 在地理信息系统中的压缩编码多采用信息无损编码,而对原始在地理信息系统中的压缩编码多采用信息无损编码,而对原始遥感影像进行压缩时也可以采取有损压缩编码方法。遥感影像进行压缩时也可以采取有损压缩编码方法。第48页,共90页,编辑于2022年,星期一常见的栅格数据压缩存储的编码方法常见的栅格数据压缩存储的编码方法 AAAAARAAARAAARAARAAAAAAAAAGGAAGGGGGGGAGGGAGGAAAAAARAAAARAAARRAAA143258761234567801234567起点行列号,单位矢量R:(1,5),3,2,2,3,3,2,3链式编码游程长度编码逐行编码数据结构:行号,属性,重复次数1,A,4,R,1,A,3块状编码正方形区域为记录单元数据结构:初始位置,半径,属性(1,1,3,A),(1,5,1,R),(1,6,2,A),NE SWNWSEGGGGAGGAAGAAA四叉树编码第49页,共90页,编辑于2022年,星期一压缩编码方式压缩编码方式1 链码(链码(Chain Encoding)链式编码又称为弗里曼链码(链式编码又称为弗里曼链码(FreemanFreeman,19611961)或边界)或边界链码。该编码方法将数据表示为由某一原点开始进行循链码。该编码方法将数据表示为由某一原点开始进行循迹并按某些基本方向确定的单位矢量链。迹并按某些基本方向确定的单位矢量链。基本方向定义基本方向定义为:东为:东0 0,东南,东南1 1,南,南2 2,西南,西南3 3,西,西4 4,西北西北5 5,北,北6 6,东北,东北7 7 等八个基本方向。等八个基本方向。注意:图注意:图4.154.15方向定义方向定义第50页,共90页,编辑于2022年,星期一 例如,确定原点为像元(例如,确定原点为像元(1010,1 1),则某个多边形边界按顺),则某个多边形边界按顺时针方向的链式编码为:时针方向的链式编码为:1010,1 1,7 7,0 0,1 1,0 0,7 7,1 1,7 7,0 0,0 0,2 2,3 3,2 2,2 2,1 1,0 0,7 7,0 0,0 0,0 0,0 0,2 2,4 4,3 3,4 4,4 4,3 3,4 4,4 4,5 5,4 4,5 5,4 4,5 5,4 4,5 5,4 4,6 6,6 6。其中前两个数字其中前两个数字10 10 和和1 1 表示起点为第十行第一列,从第三表示起点为第十行第一列,从第三个数字开始每个数字表示单位矢量的方向,八个方向以个数字开始每个数字表示单位矢量的方向,八个方向以007 7 的整数代表。的整数代表。另例:图另例:图4.154.15,图,图4.164.16,表表4.124.12,注意图,注意图4.154.15方向定义和方向定义和循迹方式。循迹方式。链码(Chain Encoding)第51页,共90页,编辑于2022年,星期一链码(链码(Chain EncodingChain Encoding)优点:优点:链式编码对多边形的表示具有很强的数据压缩能力,链式编码对多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如面积和周长计算等,探测边且具有一定的运算功能,如面积和周长计算等,探测边界急弯和凹进部分等都比较容易,比较适于存储图形数界急弯和凹进部分等都比较容易,比较适于存储图形数据。据。缺点:缺点:对叠置运算如组合、相交等则很难实施,对局部修改将对叠置运算如组合、相交等则很难实施,对局部修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界,相邻区域的公共边界被重复存储会产生冗余。储边界,相邻区域的公共边界被重复存储会产生冗余。第52页,共90页,编辑于2022年,星期一2 2 游程长度编码(游程长度编码(游程长度编码(游程长度编码(Run-Length EncodingRun-Length Encoding)所谓所谓游程(行程)游程(行程)游程(行程)游程(行程)是指按行(列)的顺序连续且属性值相同是指按行(列)的顺序连续且属性值相同的若干栅格。的若干栅格。游程长度的记录方式有两种游程长度的记录方式有两种 记录每个游程象元数记录每个游程象元数 记录每个游程起(迄)列号记录每个游程起(迄)列号 第53页,共90页,编辑于2022年,星期一游程长度编码(游程长度编码(Run-Length EncodingRun-Length Encoding)其实现方法有两种其实现方法有两种 一种编码方案是,只在各行(或列)数据的属性代码发一种编码方案是,只在各行(或列)数据的属性代码发生变化时依次记录该代码以及相同的代码重复的个数,生变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。从而实现数据的压缩。格式:(代码,重复个数)格式:(代码,重复个数)另一种游程长度编码方案就是逐个记录各行(或列)属性代另一种游程长度编码方案就是逐个记录各行(或列)属性代码发生变化的位置和相应代码码发生变化的位置和相应代码 格式:(代码变化位置,代码)格式:(代码变化位置,代码)第54页,共90页,编辑于2022年,星期一游程长度编码示例游程长度编码示例按第一种编码方法,此数据游程长度编码:(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个整数表达了原始数据中的64个栅格。第55页,共90页,编辑于2022年,星期一游程长度编码示例游程长度编码示例按第二种编码方法,此数据游程长度编码(沿列方向沿列方向):(1,0),(2,4),(4,0);(1,4),(4,0);(1,4),(5,8),(6,0);(1,7),(2,4),(4,8),(7,0);(1,7),(2,4),(3,8),(8,0);(1,7),(3,8);(1,7),(6,8);(1,7),(5,8)。第56页,共90页,编辑于2022年,星期一游程长度编码优缺点游程长度编码优缺点 优点优点压缩效率较高,且易于进行检索,叠加合并等操作,运压缩效率较高,且易于进行检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情又要避免复杂的编码解码运算增加处理和操作时间的情况况 缺点缺点对于图斑破碎,属性和边界多变的数据压缩效率较低,甚至压缩对于图斑破碎,属性和边界多变的数据压缩效率较低,甚至压缩后的数据量比原始数据还大。后的数据量比原始数据还大。第57页,共90页,编辑于2022年,星期一3 3 块码(块码(块码(块码(Block EncodingBlock Encoding)块码(二维行程编码)是游程长度编码扩展到二维的情况,块码(二维行程编码)是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。位的代码组成。格式:(行号,列号,方块半径,代码)格式:(行号,列号,方块半径,代码)第58页,共90页,编辑于2022年,星期一块码编码示例块码编码示例其块码编码为:(1,1,1,0),(1,2,2,4),(1,4,1,7),(1,5,1,7),(1,6,2,7),(1,8,1,7),(2,1,1,4),(2,4,1,4),(2,5,1,4),(2,8,1,7),(3,1,1,4),(3,2,1,4),(3,3,1,4),(3,4,1,4),(3,5,2,8),(3,7,2,7),(4,1,2,0),(4,3,1,4),(4,4,1,8),(5,3,1,8),(5,4,2,8),(5,6,1,8),(5,7,1,7),(5,8,1,8),(6,1,3,0),(6,6,3,8),(7,4,1,0),(7,5,1,8),(8,4,1,0),(8,5,1,0)。第59页,共90页,编辑于2022年,星期一块码编码示例块码编码示例M M R M M M M M1 2 3 4 5 6 7 81 2 3 4 5 6 7 8M 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