




已阅读5页,还剩137页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章计算机地图制图数据模型,3.1矢量数据模型3.2栅格数据模型3.3矢栅一体化数据模型3.4矢量栅格数据结构转换3.4三维数据模型3.5面向对象数据模型,3.1矢量数据模型,1.矢量数据的概念,点、线、面的矢量表示,矢量数据结构是通过坐标值来精确地表示点、线、面等地理实体的。,3.1矢量数据模型,2.矢量数据的获取,2.1几何数据的获取,由外业测量获得由栅格数据转换获得跟踪数字化,3.1矢量数据模型,2.矢量数据的获取,2.2属性数据的获取,对地图要素进行分类编码要遵循以下原则:科学性和系统性,即以适合计算机、数据库技术应用和管理为目标,按国土基础信息的属性或特征进行严格的科学分类,形成系统的分类体系;稳定性和唯一性,即分类体系以各种地图要素最稳定的属性或特征为基础,能在较长时间里不发生重大变更;同时要考虑所编代码的唯一性,以利于查询检索等操作。标准性和通用性,即所编代码在大的分类分级时应遵循国家和行业已颁布的有关规范和标准,使所编代码具有较好的通用性。完整性和可扩展性,即要素的分类既要反映其属性,又要反映其相互关系,具有完整性;代码结构应留有适当的可扩充的余地,具有可扩充性;,3.1矢量数据模型,3.矢量数据的组织和存储,3.1矢量数据的组织方式,点:坐标对(x,y)+识别符线:坐标对系列(x1,y1).(xn,yn)及有关属性、其它属性面:首尾相同的坐标串,关系表,几何位置坐标文件,连接,矢量数据表示时应考虑以下问题:矢量数据自身的存贮和处理。与属性数据的联系。矢量数据之间的空间关系(拓扑关系)。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,1)实体式,(spaghetti)-面条模型:以实体为单位记录其坐标,优点:结构简单、直观、易实现以实体为单位的运算和显示。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,1)实体式,缺点:1、相邻多边形的公共边界被数字化并存储两次,造成数据冗余和碎屑多边形数据不一致,浪费空间,导致双重边界不能精确匹配。2、自成体系,缺少多边形的邻接信息,无拓扑关系,难以进行邻域处理,如消除多边形公共边界,合并多边形。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,1)实体式,缺点:3、岛作为一个单个图形,没有与外界多边形联系。不易检查拓扑错误。4、难以检查多边形边界的拓扑关系正确与否,如是否存在间隙、重叠、不完整的多边形(死点)或拓扑学上不能接受的环(奇异多边形)等问题。所以,这种结构只用于简单的制图系统中,显示图形。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,1)实体式,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,2)索引式(树状),对所有点的坐标按顺序建坐标文件,再建点与边(线)、线与多边形的索引文件。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,2)索引式(树状),Map,1、点文件:,3、面文件:,2、弧段文件:,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,2)索引式(树状),Map,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,2)索引式(树状),Map,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,2)索引式(树状),Map,与实体式相比:优点:用建索引的方法消除多边形数据的冗余和不一致,邻接信息、岛信息可在多边形文件中通过是否公共弧段号的方式查询。缺点:表达拓扑关系较繁琐,给相邻运算、消除无用边、处理岛信息、检索拓扑关系等带来困难,以人工方式建立编码表,工作量大,易出错。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,3)双重独立式编码,Map,简称DIME(DualIndependentMapEncoding),是美国人口统计系统采用的一种编码方式,是一种拓扑编码结构。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,3)双重独立式编码,Map,1、点文件,2、线文件:线文件是以线段为记录单位,关联,邻接,关联,连通,拓扑关系明确,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,3)双重独立式编码,Map,3、面文件,在DIME中做如下改进:将以线段为记录单位改为以弧段为单位,链状双重独立式编码,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,4)链状双重独立式编码-拓扑数据结构,Map,在拓扑结构中,多边形(面)的边界被分割成一系列的线(弧、链、边)和点(结点)等拓扑要素,点、线、面之间的拓扑关系在属性表中定义,多边形边界不重复。,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,4)链状双重独立式编码-拓扑数据结构,Map,1、弧段坐标文件:,2、弧段文件:链面,链结点关系,3.1矢量数据模型,3.矢量数据的组织和存储,3.2矢量数据结构编码的方式,4)链状双重独立式编码-拓扑数据结构,Map,3、面文件,4、点拓扑文件:结点链关系,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,对线状矢量数据压缩时,首先要根据需求和对制图比例尺精度的要求,给定控制数据压缩的限差。表示被舍弃的结点偏离特征点连线之间的垂直距离,一般取值为0.2mm(若比例尺为1:10000,则实际距离为2m)。,目前,使用较为广泛的曲线矢量数据压缩算法主要有道格拉斯普克法(Douglas-PeuckerAlgorithm,简称D-P算法)、垂距限值法和光栏法,另外还有间隔取点法、合并法等。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,道格拉斯普克法,道格拉斯普克法,又称分裂法。该算法实现的基本思路是:对每一条曲线的首末点虚连一条直线,求其它所有点与该直线的距离,并找出其中的最大距离值dmax,用dmax与限差相比:若dmax,这条曲线上的中间点全部舍去;若dmax,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分曲线重复上述操作,直至整条曲线处理结束。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,道格拉斯普克法,压缩效果好,但必须在对整条曲线数字化完成后才能进行,且计算量较大。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,垂距(限值)法,垂距法的基本思路是:每次顺序取曲线上的三个点,计算中间点与其它两点连线的垂线距离di,并与限差比较。若di,则中间点去掉;若di,则中间点保留。然后顺序取下三个点继续处理,直到这条线结束。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,垂距(限值)法,压缩算法好,可在数字化时实时处理,每次判断下一个数字化的点,且计算量较小。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,间隔取点法,间隔取点法的基本思路是:每隔n个点取一点,或每隔一规定的距离取一点,但首末点一定要保留。例如对一曲线每隔一个点(n=1)取一点进行压缩,其过程和结果如图所示。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,间隔取点法,从该压缩方式可看出,这种方法的优点是算法简单,可以大量压缩数字化时用连续方法获取的点和通过栅格数据矢量化得到的点,其缺点是不一定能恰当地保留方向上曲率显著变化的点。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,1)曲线的矢量数据压缩算法,Map,光栏法,光栏法的基本思想:定义一个扇形区域,通过判断曲线上的点在扇形外还是在扇形内,确定保留还是舍去。,光栏边界点,扇边,新光栏口径,算法简单,速度快,但有时会将曲线的弯曲极值点p值去掉而失真。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,2)多边形的矢量数据压缩算法,Map,多边形矢量数据的压缩过程可以看成是组成其边界的曲线段的分别压缩,但为了不破坏多边形矢量数据的封闭性和拓扑关系,在数据压缩过程中,应注意两个问题。,3.1矢量数据模型,3.矢量数据的组织和存储,3.3矢量数据的压缩方法,2)多边形的矢量数据压缩算法,Map,多边形封闭边界的数据压缩,原节点是分割点之一;离原节点最远的下一节点是分割点之二。,3.1矢量数据模型,4.矢量数据的拓扑关系,4.1拓扑关系的概念,拓扑关系是一种对空间结构关系进行明确定义的数学方法,是指图形在保持连续状态下变形,但图形关系不变的性质。点(结点)、线(链、弧段、边)、面(多边形)是表示空间拓扑关系最基本的拓扑元素。,将橡皮任意拉伸,压缩,但不能扭转或折叠。,3.1矢量数据模型,4.矢量数据的拓扑关系,4.1拓扑关系的概念,3.1矢量数据模型,4.矢量数据的拓扑关系,4.2拓扑关系分类,3.1矢量数据模型,4.矢量数据的拓扑关系,4.2拓扑关系分类,拓扑关联和邻接,3.1矢量数据模型,4.矢量数据的拓扑关系,4.2拓扑关系分类,拓扑包含,3.1矢量数据模型,4.矢量数据的拓扑关系,4.3建立拓扑关系的意义,拓扑关系能清楚地反映制图要素之间的逻辑结构关系,它比几何关系具有更大的稳定性,不随地图投影而变化;有助于空间要素的查询、检索,并可利用拓扑关系来解决许多实际问题,如邻接多边形的研究和供水管网监测系统对故障阀门的查询等。根据拓扑关系可重建地图要素,如根据弧段构建多边形,实现面域的选取;根据弧段与结点的关联关系重建道路网络,并进行最佳路径选择等。,3.2栅格数据模型,1.栅格数据的概念,栅格数据结构是最简单、直观的空间数据结构,又称网络结构或像元结构,是指将二维平面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个像元或像素,每个像元由行列号确定它的位置,且具有表示实体属性类型或值的编码值。,3.2栅格数据模型,1.栅格数据的概念,栅格数据结构常用的网格类型,3.2栅格数据模型,1.栅格数据的概念,1)原则:应能有效地逼近空间对象的分布特征,又减少数据的冗余度。格网太大,忽略较小图斑,信息丢失。一般讲实体特征愈复杂,栅格尺寸越小,分辨率愈高,然而栅格数据量愈大(按分辨率的平方指数增加)计算机成本就越高,处理速度越慢。,栅格单元尺寸的确定,3.2栅格数据模型,1.栅格数据的概念,2)方法:用保证最小多边形的精度标准来确定尺寸经验公式:h为栅格单元边长Ai为区域所有多边形的面积。,栅格单元尺寸的确定,3.2栅格数据模型,1.栅格数据的概念,当一个栅格单元内有多个可选属性值时,按一定方法来确定栅格属性值。1、中心点法:取位于栅格中心的属性值为该栅格的属性值。2、面积占优法:栅格单元属性值为面积最大者,常用于分类较细,地理类别图斑较小时。3、重要性法:定义属性类型的重要级别,取重要的属性值为栅格属性值,常用于有重要意义而面积较小的要素,特别是点、线地理要素。4、长度占优法每个栅格单元的值由该栅格中线段最长的实体的属性来确定。,3.2栅格数据模型,2.栅格数据的组织,3.2栅格数据模型,2.栅格数据的组织,2.1栅格数据的组织方式,3.2栅格数据模型,2.栅格数据的组织,2.2栅格数据组织顺序,3.2栅格数据模型,3.栅格数据的存储和压缩,3.1直接栅格编码,将栅格数据看作一个数据矩阵,逐行记录代码数据。1)每行都从左到右记录;AAAAABBBAABBAABB2)奇数行从左到右,偶数行从右到左;特点:最直观、最基本的网格存贮结构,没有进行任何压缩数据处理。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.1直接栅格编码,栅格数据量大,格网数多,由于地理数据往往有较强的相关性,即相邻像元的值往往是相同的。所以,出现了各种栅格数据压缩方法。数据压缩是将数据表示成更紧凑的格式以减少存储空间的一项技术。分为:无损压缩:在编码过程中信息没有丢失,经过解码可恢复原有的信息-信息保持编码。有损压缩:为最大限度压缩数据,在编码中损失一些认为不太重要的信息,解码后,这部分信息无法恢复。-信息不保持编码。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.2行程编码(变长编码),将原图表示的数据矩阵变为数据对:1)属性码,长度,行号(可不要)长度:连续相同码值的栅格个数。2)属性码,点位,3.2栅格数据模型,3.栅格数据的存储和压缩,3.2行程编码(变长编码),特点:对于行程编码,区域越大,数据的相关性越强,则压缩越大,适用于类型区域面积较大的专题图,而不适合于类型连续变化或类别区域分散的分类图(压缩比与图的复杂程度成反比)。这种编码在栅格加密时,数据量不会明显增加,压缩率高,并最大限度地保留原始栅格结构,编码解码运算简单,且易于检索,叠加,合并等操作,这种编码应用广泛。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.2行程编码(变长编码),特点:对于行程编码,区域越大,数据的相关性越强,则压缩越大,适用于类型区域面积较大的专题图,而不适合于类型连续变化或类别区域分散的分类图(压缩比与图的复杂程度成反比)。这种编码在栅格加密时,数据量不会明显增加,压缩率高,并最大限度地保留原始栅格结构,编码解码运算简单,且易于检索,叠加,合并等操作,这种编码应用广泛。,行程编码程序示例,1、Qbasic简介QBASIC是一种简单实用、功能较强的解释型计算机高级语言,适合初学者学习使用。关键语句:(1)数组的建立DIM(上界1,上界2)如:DIMa(10,10)(2)读写文件OPENFORAS#:OUTPUT:写数据,向文件输出;INPUT:读数据,从文件读入;,行程编码程序示例,(2)读写文件如:OPEN“yy.txtFORINPUTAS#1(3)输出语句PRINT表达式常量、变量、函数如:PRINT2,4,6PRINTX=;X(4)条件语句IFTHENELSEENDIF,行程编码程序示例,(5)循环语句DO循环:DOWHILELOOPWHILE循环:WHILEWENDFOR循环:FOR=TOSTEP循环体NEXT如:fori=1to10step2printi,nexti,行程编码程序示例,2、全栅格数据文件qs.txt,9999111199911111199177111111771111117777111177771111777711117777,行程编码程序示例,3、行程编码程序CLSDIMw(8,8)OPEN“qs.txtFORINPUTAS#1DOUNTILEOF(1)FORi=1TO8FORj=1TO8INPUT#1,w(i,j)PRINTw(i,j);NEXTjPRINTNEXTiLOOP,行程编码程序示例,3、行程编码程序n=1OPEN000.txtFOROUTPUTAS#2FORi=1TO8FORj=1TO7IFw(i,j)=w(i,j+1)THENn=n+1ELSEPRINTw(i,j),n,i:PRINT#2,w(i,j),n,i:n=1ENDIFNEXTjPRINTw(i,j),n,i:PRINT#2,w(i,j),n,i:n=1NEXTiEND,如(1,1,1,0)(1,2,2,4)(1,4,1,7)(1,5,1,7),3.2栅格数据模型,3.栅格数据的存储和压缩,3.3块码游程编码向二维扩展,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格。,数据对组成:(初始行、列,半径,属性值),依次扫描,编过的不重复。,12345678104477777244444777344448877400488877500888878600088888700008888800000888,3.2栅格数据模型,3.栅格数据的存储和压缩,3.3块码游程编码向二维扩展,12345678104477777244444777344448877400488877500888878600088888700008888800000888,特点:具有可变分辨率,即当属性变化小时图块大,对于大块图斑记录单元大,分辨率低,压缩比高。小块图斑记录单元小,分辨率高,压缩比低所以,与行程编码类似,随图形复杂程度的提高而降低分辩率。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.4链式编码,将栅格数据(线状地物面域边界)表示为矢量链的记录。,1)首先定义一个3x3窗口,中间栅格的走向有8种可能,并将这8种可能07进行编码。2)记下地物属性码和起点行、列后,进行追踪,得到矢量链。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.4链式编码,a,a,a,a,a,a,b,链式编码表,优点:链码可有效地存贮压缩栅格数据,便于面积、长度、转折方向和边界、线段凹凸度的计算。缺点:不易做边界合并,插入操作、编辑较困难(对局部修改将改变整体结构)。区域空间分析困难,相邻区域边界被重复存储。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:一种可变分率的非均匀网格系统。是最有效的栅格数据压缩编码方法之。,1)基本思想:将2n2n像元组成的图像(不足的用背景补上)按四个象限进行递归分割,并判断属性是否单一,单一:不分。不单一:递归分割。最后得到一颗四分叉的倒向树。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:,2)四叉树的树形表示:用一倒立树表示这种分割和分割结果。根:整个区域高:深度、分几级,几次分割叶:不能再分割的块树叉:还需分割的块每个树叉均有4个分叉,叫四叉树。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:,3)编码方法,常规四叉树记录这棵树的叶结点外,中间结点,结点之间的联系用指针联系,每个结点需要6个变量:父结点指针、四个子结点的指针和本结点的属性值。,指针不仅增加了数据的存储量,还增加了操作的复杂性:如层次数(分割次数)由从父结点移到根结点的次数来确定,结点所代表的图像块的位置需要从根节点开始逐步推算下来。所以,常规四叉树并不广泛用于存储数据,其价值在于建立索引文件,进行数据检索。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:,3)编码方法,线性四叉树,记录叶结点的位置,深度(几次分割)和属性。地址码(定位码、Morton码)四进制、十进制,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(一)四叉树概述:,3)编码方法,线性四叉树,优点:存贮量小,只对叶结点编码,节省了大量中间结点的存储,地址码隐含着结点的分割路径和分割次数。线性四叉树可直接寻址,通过其坐标值直接计算其Morton码,而不用建立四叉树。定位码容易存储和执行实现集合相加等组合操作。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)十进制的Morton码,1)一种按位操作的方法:如行为2、列为3的栅格的MD步骤:(1)行、列号为二进制Ib=10Jb=11(2)I行J列交叉1101=13(3)再化为十进制.实质上是按左上、右上、左下、右下的顺序,从零开始对每个栅格进行自然编码。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)十进制的Morton码,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)十进制的Morton码,2)把一幅2n2n的图像压缩成线性四叉树的过程,1、按Morton码把图象读入一维数组。2、相邻的四个像元比较,一致的合并,只记录第一个像元的Morton码。循环比较所形成的大块,相同的再合并,直到不能合并为止。3、进一步用游程长度编码压缩。压缩时只记录第一个像元的Morton码。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)十进制的Morton码,2)把一幅2n2n的图像压缩成线性四叉树的过程,1、按Morton码读入一维数组。Morton码:0123456789101112131415象元值:AAABABBBAAAABBBB,2、四相邻像元合并,只记录第一个像元的Morton码。01234567812AAABAABBAB,3、由于不能进一步合并,则用游程长度编码压缩。0346812ABABAB,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)四叉树优缺点,优点:对于团块图像,四叉树表示法占用空间较少,四叉树表示法基本上是一种非冗余表示法。四叉树具有可变率或多重分辩率的特点使得它有很好的应用前景,适用于处理凝聚性或呈块状分布的空间数据,特别适用于处理分布不均匀的块状空间数据,但不适用于连续表面(如地形)或线状地物。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)四叉树优缺点,此外,目前应用四叉树还存下列问题:1)矢/栅正反变换还不理想。2)建立四叉树耗费机时很多。3)四叉树虽可修改,但很费事。4)四叉树未能直接表示物体间的拓扑关系。5)与非树表示法比较,四叉树表示法的缺点在于转换的不稳定性或叫滑动变异。6)一个物体的图像在构成四叉树时会被分割到若干个象限中,使它失去了内在的相关性。,3.2栅格数据模型,3.栅格数据的存储和压缩,3.5四叉树编码,(二)四叉树优缺点,例如,两个图像的差异仅由于平移,就会构成极为不同的四叉树,因而很难根据四叉树来判断这两个图像是否全同,故不利于做形状分析和模式识别。,3.3矢栅一体化数据模型,1.矢、栅优缺点:,3.3矢栅一体化数据模型,1.矢、栅优缺点:,矢量、栅格数据结构的选择,栅格结构:大范围小比例尺的自然资源、环境、农林业等区域问题的研究。,矢量结构:城市分区或详细规划、土地管理、公用事业管理等方面的应用。,应根据应用目的和应用特点、可能获得的数据精度以及地理信息系统软件和硬件配置情况,选择合适的数据结构。,将矢量面对目标的方法和栅格元子充填的方法结合起来,具体采用填满线状目标路径和充填面状目标空间的方法作为一体化数据结构的基础。线状地物:除记录原始取样点外,还记录路径所通过的栅格。面状地物:除记录它的多边形周边以外,还包括中间的面域栅格。一方面,它保留了矢量的全部性质,以目标为单元直接聚集所有的位置信息,并能建立拓扑关系;另一方面,它建立了栅格与地物的关系,即路径上的任一点都直接与目标建立了联系。,2.矢栅一体化概念,3.3矢栅一体化数据模型,3.三个约定和细分格网法,3.3矢栅一体化数据结构,为便于组织数据,首先作如下约定:a.地面上的点状地物是地球表面上的点,它仅有空间位置,没有形状和面积,在计算机内部仅有一个位置数据。,b.地面上的线状地物是地球表面的空间曲线,它有形状但没有面积,它在平面上的投影是一连续不间断的直线或曲线,在计算机内部需要用一组元子填满整个路径。,c.地面上的面状地物是地球表面的空间曲面,并具有形状和面积,它在平面上的投影是由边界包围的紧致空间和一组填满路径的元子表达的边界组成。,3.三个约定和细分格网法,3.3矢栅一体化数据模型,为提高栅格表示精度,采用细分格网法:将一对X,Y坐标用两个Morton码代替:前一M1表示该点(采样点或附加的交叉点)所在基本格网的地址码,后者M2表示该点对应的细分格网的Morton码,既顾全整体定位,又保证精度。,x,y,M1M2,4.一体化数据结构设计,3.3矢栅一体化数据模型,线性四叉树(Morton)是基本数据格式,三个约定设计点、线、面数据结构的基本依据,细分格网法保证足够精度。,约定1,点仅有位置、没有形状和面积,只要将点的坐标转化为地址码M1和M2,结构简单灵活,便于点的插入和删除,还能处理一个栅格内包含多个点状目标的情况。,4.1点状地物和结点的数据结构,4.一体化数据结构设计,3.3矢栅一体化数据模型,4.2线状地物的数据结构,约定(2),线状地物有形状但没有面积,没有面积意味着只要用一串数据表达每个线状地物的路径即可,将该线状地物经过的所有栅格的地址全部记录下来。仿照矢量数据组织的链状双重独立式编码,以弧段为记录单位。,弧段的数据结构:,线状地物的数据结构:,4.一体化数据结构设计,3.3矢栅一体化数据模型,4.3面状地物的数据结构,1)弧段文件,边界弧段-形状,2)带指针的二维行程码,面域,叶结点的属性值,改为指向该地物的下一个子块的循环指针,循环指针指向该地物下一个子块的地址码,并在最后指向该地物本身。,只要进入第一块就可以顺着指针直接提取该地物的所有子块,从而避免像栅格数据那样为查询某一个目标需遍历整个矩阵,大大提高了查询速度。,0,8,32,40,46,用循环指针将同属于一个目标的叶结点链接起来,4.一体化数据结构设计,3.3矢栅一体化数据模型,4.3面状地物的数据结构,3)面文件,4.一体化数据结构设计,3.3矢栅一体化数据模型,4.4复杂地物的数据结构,由几个或几种点、线、面状简单地物组成的地物称为复杂地物。例如将一条公路上的中心线、交通灯、立交桥等组合为一个复杂地物,用一个标识号表示。复杂地物的数据结构如表所示。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,点:简单的坐标变换线:线的栅格化面:线的栅格化+面填充,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,在矢量数据中,曲线在数字化时输入多个点,形成折线,由于点多而密集,折线在视觉上就形成曲线,也就是说曲线是由折线逼近形成的。因为相邻两点之间是直线,因此只要说明了一条直线段如何被栅格化,对任何线段的栅格化过程也就清楚了。线段栅格化的三种不同方法:即八方向栅格化、全路径栅格化及恒密度栅格化。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,八方向栅格化,八方向栅格化是指根据矢量的倾角情况,在每行或每列上,只有一个像元被“涂黑”(赋予不同于背景的灰度值)。其特点是在保持八方向连通的前提下,栅格影像看起来最细,不同线划间最不易“粘连”。,八方向是指每一个像元都有8个邻元,即东西南北4个正方向上的邻元和东南、东北、西南及西北4个对角线方向上的邻元,与此对应的8个方向即为八方向。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,八方向栅格化,首先,按照点的栅格化的方法,确定每相邻两个结点1和2所在的一组栅格的行、列值,并将它们“涂黑”。然后求出这两个结点位置的行数差和列数差。若行差大于列差,则逐行进行,否则逐列求出本行中心线与过这两个结点的直线交点。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,八方向栅格化,一条线段的八方向栅格化,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,全路径栅格化,全路径栅格化是指依据“分带法”,按行计算起始列号和终止列号。当行差大于列差时,计算列值;当行差小于列差时,计算行值。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,全路径栅格化,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.1线的栅格化,恒密度栅格化,恒密度栅格化的实质是在八方向栅格化的基础上,在矢量所通过的路径上,适当增加“涂黑”的像元,使得在任何方向上,栅格化结果的视觉密度基本保持恒定。,1.矢量数据转换为栅格数据,3.4矢量栅格数据结构转换,1.2面域的栅格化,对多边形进行特征编码时,由于记录的是组成多边形边界线段的属性而非多边形本身的属性,因此针对面域的栅格化,必须实现以多边形线段反映多边形及其邻域的属性特征。目前一般采用的是左码记录法。一闭合多边形将整个矩形面域分割成属性为1和为0的两部分。如果在矢量数字化取数时没有在数字化点的属性码中反映面域属性分异状况,转换的第一步工作即是要实现这个目标。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,从栅格单元转换为几何图形的过程为矢量化;(一)要求(矢量化过程应保持):1)栅-矢转换为拓扑转换,即保持实体原有的连通性、邻接性等;2)转换实体保持正确的外形。(二)方法方法一,实际应用中大多数采用人工矢量化法,如扫描矢量化,该法工作量大,成为GIS数据输入、更新的瓶颈问题之一。方法二,程序转化转换(全自动或半自动),2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,过程为:,遥感影象图,栅格分类图,边界提取,二值化,编辑,矢量跟踪,数据压缩,原始线划图,二值化,细化,分类图,扫描,预处理,拓扑化,1、边界提取2、二值化3、二值图像的预处理,4、细化5、跟踪6、拓扑化,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,边界提取,(1)如果窗口内的四个网格点值相同,它们就属于一个等值区,而无边界通过,否则就存在多边形的边界或边界的结点。(2)如果窗口内有两种栅格值,这四个栅格则均标识为边界点,同时保留原栅格的值。(3)如果窗口内有三个以上不同的值,则标识为结点。,边界提取是遥感图像处理中的一个专门问题。另一种情况通常是从原来的线划图扫描得到的栅格图。用一个2x2栅格的窗口,按顺序沿行列方向对栅格图像进行扫描。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,二值化,二值图像中的图形用1表示,背景用0表示。,所谓二值化就是将图像中的灰度取一个阈值,凡高于阈值的灰度取1,低于阈值的灰度取0。设阈值为,则二值化后的像元灰度值为,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,二值图像的预处理,对于扫描输入的图幅,由于原稿不干净等原因,总是会出现一些飞白、污点、线划边缘凹凸不平等。除了依靠图像编辑功能进行人机交互处理外,还可以通过一些算法来进行处理。,还可用其它许多方法。例如,对于飞白和污点,给定其最小尺寸,不足的消除;对于断线,采取先加粗后减细的方法进行断线相连;用低通型滤波进行破碎地物的合并,用高通滤波提取区域范围等等。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,细化,所谓细化就是将二值图像像元阵列逐步剥除轮廓边缘的点,使之成为线划宽度只有一个像元的骨架图形。细化后的图形骨架既保留了原图形的绝大部分特征,又便于下一步的跟踪处理。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,细化,基本原理是在33的像元矩阵中,凡是去掉后不会影响原栅格影像拓扑连通性的像元都应该去掉,反之,则应保留。33的像元共有256种情况,经过旋转,去除相同情况,最终共有51种情况,其中只有一部分是可以将中心点剥去的。通过对每个像元点经过如此反复处理,最后可得到应保留的骨架图,并保留了其拓扑关系。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,细化,细化的基本过程是:第一步,确定需细化的像元集合;第二步,移去不是骨架的像元;第三步,重复第二步,直到仅剩骨架像元。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,细化,细化的常用方法:,距离变换搜寻中轴线法,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,细化,细化的常用方法:,剥皮法,剥皮法的基本思想是:先寻找到一个位于曲线边缘上的像元,接着以此像元为中心,按一定的顺序检测其相邻八个邻域的灰度值。剥皮法的实质是:从曲线的边缘开始,每次剥掉等于一个栅格宽的一层,直到最后留下彼此连通的由单个栅格点组成的图形。因为一条线在不同位置可能有不同的宽度,故在剥皮过程中必须注意一个条件,即不允许剥去会导致曲线不连通的栅格,这是这一方法的技术关键所在。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,跟踪,细化后的二值图像形成了骨架图,跟踪就是把骨架转换为矢量图形的坐标序列。其基本步骤为:1、从左向右,从上向下搜索线划起始点,并记下坐标。2、朝该点的8个方向追踪点,若没有,则本条线的追踪结束,转1进行下条线的追踪;否则记下坐标。3、把搜索点移到新取的点上,转2。注意的是,已追踪点应作标记,防止重复追踪。,2.栅格数据转换为矢量数据,3.4矢量栅格数据结构转换,拓扑化,为了进行拓扑化,需找出线的端点和结点,以及孤立点。1、孤立点:8邻城中没有为1的像元。如图(1)。2、端点:8邻城中只有一个为1的像元。如图(2)。3、结点:8邻城中有三个或三个以上为1的像元。如图(3)。,在追踪时加上这些信息后,就可形成结点和孤段,就可用矢量数据的自动拓扑方法进行拓扑化了。,1.概述,3.5三维数据模型,目前GIS主要还停留在处理地球表面的数据,若数据是地表以下或以上,则先将它投影到地表,再进行处理,其实质是以二维的形式来模拟、处理任何数据,在有些领域可行,但涉及到三维问题的处理时,往往力不从心。二维V=f(x,y),在不同的层V的含义不同,当V表示的是高程时,就是DEM。由于地形三维视图的原因,人们常把DEM误认为是三维模型。但从本质上讲,DEM是二维的,因为它只能表示地表的信息,不能对地表内部进行有效的表示。目前,人们常把DEM称为2.5维的数据模型。真三维模型V=f(x,y,z),z是一自变量,不受x,y的影响。三维GIS的要求与二维GIS相似,但在数据采集,系统维护和界面设计等方面比二维GIS复杂得多,如三维数据的组织与重建,三维变换、查询、运算、分析、维护等方面。下面主要介绍三维数据结构。同样,三维结构存在栅格和矢量两种形式。栅格:将地理实体的三维空间分成细小单元-体元。普遍用八叉树。矢量:x,y,z,抽象为点、线、面、体,面构成体。方法多种,常用三维边界表示法。,2.八叉树结构,3.5三维数据模型,2.1思想:四叉树在三维空间的推广。将要表示的形体V放在一个充分大的正方体C内,C的边长为2n,不断用两个与XOY、XOZ的平面均分C为8个子体,并判断属性单一性。当子体部分为V-灰结点需再1分为8。子体中无V-白结点停止分割,叶结点。子体全为V黑结点,0,1,2,3,4,5,7,2.八叉树结构,3.5三维数据模型,2.2存贮结构,1)规则八叉树与常规四叉树类似,用10项字段来记录每个结点(8个子结点指针,1个父结点指针,1个结点属性)。最普遍的形式,方式自然,易掌握。但指针占总存储量的94%,空间使用率低。,2)线性八叉树Motorn码用某一预先确定的次序将八叉树转换成一个线性表,表中的每个元素与一个结点相对应。每个结点用固定的字节描述,其中某些位专门用来说明它是否为叶结点。,特点:节省存贮空间,便于某些运算,但丧失一定的灵活性,不便于其它遍历方式对树的结点进行存取,应用效果不佳。,2.八叉树结构,3.5三维数据模型,2.2存贮结构,3)一对八式的八叉树,每个结点均1分为8,并标记为0,1,2,3,4,5,6,7。隐含地假定了这些子结点记录存放的次序-便于检索浪费存储,除非完全八叉树,即所有叶结点均在同一层次出现,上层均为非叶结点。,3.三维边界表示法,3.5三维数据模型,1)顶点表:用来表示多面体各顶点的坐标,)边表:指出构成多面体某边的两个顶点,3.三维边界表示法,3.5三维数据模型,5)扩充后的边表,为表达拓扑还可将其它一些有关的内容结合到所使用的表中,如将边所属的多边形信息结合进边表中以后的形式:,包含s1,s4公共边为l1的信息,3.三维边界表示法,3.5三维数据模型,6)拓扑检查,包含s1,s4公共边为l1的信息,数据存储后,必须检查数据的一致性、完全性,即进行拓扑检查。具体可检查下列几项:(1)顶点表中的每个顶点至少是两条边的端点;(2)每条边至少是一个多边形的边;(3)每个多边形是封闭的;(4)每个多边形至少有一条边是和另一个多边形共用的;(5)若边表中包含了指向它所属多边形的指针,那么指向该边的指针必在相应的多边形中出现。,3.三维边界表示法,3.5三维数据模型,7)应用,包含s1,s4公共边为l1的信息,三维边界法一般用于表示规则形体,如建筑物,对于自然界中的复杂形体如岩石的外表,理论上可找到一在误差范围内逼近的适合平面多面体,但这种逼近受多因素的制约。对于不规则形体,可在形体的外表面s,可测一组点p1,p2pn坐标,再建这些点的关系,即结构图,决定顶点连接的不同方式。同样数据点,由于连接方式不同,构成的平面多面体也不同。其中最重要的一种方法就是每个面均是三角形的平面多面体,类似TIN结构。,面向对象的数据模型是按照面向对象的思想,根据数字地图空间结构化的需要,在对现实世界地理空间和认知的基础上,利用面向对象的方法可以建立的一个通用的数字地图模型,它为研制相关的基础软件提供数据模型基础,并且该数据模型独立于物理实现,即具体的数据库管理系统可以是关系型,也可以是纯面向对象型。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.1基本概念,对象:含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。具有一个唯一的标识,以表明其存在的独立性;具有一组描述特征的属性,以表明其在某一时刻的状态静态属性数据;具有一组表示行为的操作方法,用以改变对象的状态。-作用、功能函数、方法。对象的划分:根据对象的共性,及对它的研究目的来划分,与具体的目的、性质相联系,不同的目的就会有不同划分。,划分原则:找共同点,所有具有共性的系统成份就可为一种对象。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.1基本概念,类共享同一属性和方法集的所有对象的集合构成类。如河流均具有共性,如名称、长度、流域面积等,以及相同的操作方法,如查询、计算长度、求流域面积等,因而可抽象为河流类。实例被抽象的对象,类的一个具体对象,称为实例,如长江、黄河等。真正抽象的河流不存在,只存在河流的例子。类是抽象的对象,是实例的组合,类、实例是相对的,类和实例的关系为上下层关系。类-申请实例-成为具体对象。,类,实例1,实例2,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.1基本概念,消息:对象之间的请求和协作。(并不独立存在)对象之间的关系,如鼠标点,就是消息,点某按纽,就是对按纽提出请求。,对象1,对象2,请求和协作,消息,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.2基本概念,消息:对象之间的请求和协作。(并不独立存在)对象之间的关系,如鼠标点,就是消息,点某按纽,就是对按纽提出请求。,对象1,对象2,请求和协作,消息,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.2面向对象的特性,抽象:是对现实世界的简明表示。形成对象的关键是抽象,对象是抽象思维的结果。封装:一般讲,包起来,将方法与数据放于一对象中,以使对数据的操作只可通过该对象本身的方法来进行。在这,指把对象的状态及其操作集成化,使之不受外界影响。,现实世界,抽象,对象1,对象n,对象2,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.2面向对象的特性,多态:是指同一消息被不同对象接收时,可解释为不同的含义。同一消息,对不同对象,功能不同。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.3四种核心技术,分类分类是把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程。如城镇建筑可分为行政区、商业区、住宅区、文化区等若干个类。概括将相同特征和操作的类再抽象为一个更高层次、更具一般性的超类的过程。子类是超类的一个特例。一个类可能是超类的子类,也可是几个子类的超类。所以,概括可能有任意多层次。概括技术避免了说明和存储上的大量冗余。这需要一种能自动地从超类的属性和操作中获取子类对象的属性和操作的机制,即继承机制。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.3四种核心技术,聚集聚集是把几个不同性质类的对象组合成一个更高级的复合对象的过程。联合相似对象抽象组合为集合对象。其操作是成员对象的操作集合。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.4面向对象模型的核心工具,继承:一类对象可继承另一类对象的特性和能力,子类继承父类的共性,继承不仅可以把父类的特征传给中间子类,还可以向下传给中间子类的子类。它服务于概括。继承机制减少代码冗余,减少相互间的接口和界面。,单重继承、多重继承;全部继承、部分继承;,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.4面向对象模型的核心工具,传播,传播与继承是一对。复杂对象的某些属性值不单独存于数据库中,而由子对象派生或提取,将子(成员)对象的属性信息强制地传播给综合复杂对象。成员对象的属性只存储一次,保证数据一致性和减少冗余。如武汉市总人口,由存储在各成员对象中的各区人口总和。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,1.面向对象技术简介,1.4面向对象模型的核心工具,继承与传播(区别)1)继承服务于概括,传播作用于联合和聚集;2)继承是从上层到下层,应用于类,而传播是自下而上,直接作用于对象;3)继承包括属性和操作,而传播一般仅涉及属性;4)继承是一种信息隐含机制,只要说明子类与父类的关系,则父类的特征一般能自动传给它的子类,而传播是一种强制性工具,需要在复合对象中显式定义它的每个成员对象,并说明它需要传播哪些属性值。,3.6面向对象数据模型,包含s1,s4公共边为l1的信息,2.基本框架结构,人类认知现实世界的事物和现象及相互之间的关系,总是在一定的范畴内进行,即先确定问题域(论域);然后,再明确研究对象;最后构造对象之间的相互关系。数字地图是数字化地描述现实世界地理空间的模型,地理空间的范围可以是全球、一个国家或一个地区。,3.6面向对象数据模型,包含s1,s4公共边为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灌南篝火晚会活动策划方案
- 美团团购的营销推广方案
- 福清建房基础施工方案
- 防洪设施建设土地利用影响分析
- 湖北省烟花爆竹应急预案
- 江门在线税务咨询方案
- 建筑教具制作比赛方案设计
- 分析鸿星尔克营销方案
- 推销食品活动策划方案模板
- 数据治理咨询项目方案
- 夫妻忠诚协议书8篇
- 2025年大队委竞选面试题库及答案
- 2025年信用管理专业题库- 信用管理对企业市场风险的控制
- 6.2 用7~9的乘法口诀求商(课件)数学青岛版二年级上册(新教材)
- 新教科版小学1-6年级科学需做实验目录
- GB/T 8492-2024一般用途耐热钢及合金铸件
- 第五版-FMEA-新版FMEA【第五版】
- pcr技术及其应用-ppt课件
- 铁路外部安全环境管理
- 110kV变电站一次与二次验收规范
- 论建筑隔震工程监理要点
评论
0/150
提交评论