Presentation is loading. Please wait.

Presentation is loading. Please wait.

第二章 GIS 数据结构 §2-3 栅格数据结构 一、图形表示 栅格结构用密集正方形(或三角形,多边形)将地理区域划分为网格阵列。

Similar presentations


Presentation on theme: "第二章 GIS 数据结构 §2-3 栅格数据结构 一、图形表示 栅格结构用密集正方形(或三角形,多边形)将地理区域划分为网格阵列。"— Presentation transcript:

1 第二章 GIS 数据结构 §2-3 栅格数据结构 一、图形表示 栅格结构用密集正方形(或三角形,多边形)将地理区域划分为网格阵列。
§2-3 栅格数据结构 3 一、图形表示 栅格结构用密集正方形(或三角形,多边形)将地理区域划分为网格阵列。 位置由行,列号定义,属性为栅格单元的值。 点:由单个栅格表达。 线:由沿线走向有相同属性取值的一组相邻栅格表达。 面:由沿线走向有相同属性取值的一片栅格表达。 栅格数据表示的是二维表面上的地理数据的离散化数值。在栅格数据中,地表被分割为相互邻接、规则排列的地块,每个地块与一个象元相对应。因此,栅格数据的比例尺就是栅格(象元)的大小与地表相应单元的大小之比,当象元所表示的面积较大时,对长度、面积等的量测有较大影响。每个象元的属性是地表相应区域内地理数据的近似值,因而有可能产生属性方面的偏差。 2 1 3 返回

2 第二章 GIS 数据结构 §2-3 栅格数据结构 二、栅格数据组织 组织方法 ——针对一个栅格单元对应多个属性值的多层栅格文件。 土壤 2
§2-3 栅格数据结构 二、栅格数据组织 ——针对一个栅格单元对应多个属性值的多层栅格文件。 2 a 土壤 植被 组织方法 空间数据库 返回

3 第二章 GIS 数据结构 §2-3 栅格数据结构 组织方法
§2-3 栅格数据结构 组织方法 方法a:以象元为记录序列,不同层上同一象元位置上的各属性值表示为一个列数组。N层中只记录一层的象元位置,节约大量存储空间,栅格个数很多。 方法b:每层每个象元的位置、属性一一记录,结构最简单,但浪费存储。 方法c:以层为基础,每层内以多边形为序记录多边形的属性值和多边形内各象元的坐标。节约用于存储属性的空间。将同一属性的制图单元的n个象元的属性只记录一次,便于地图分析和制图处理。 返回

4 第二章 GIS 数据结构 §2-3 栅格数据结构 三、栅格结构的建立 (二)栅格系统的确定 (三)栅格代码的确定 (一)建立途径
§2-3 栅格数据结构 三、栅格结构的建立 (一)建立途径 (二)栅格系统的确定 (三)栅格代码的确定 1、  手工获取,专题图上划分均匀网格,逐个决定其网格代码。 2、扫描仪扫描专题图的图像数据{行、列、颜色(灰度)},定义颜色与属性对应表,用相应属性代替相应颜色,得到(行、列、属性)再进行栅格编码、存贮,即得该专题图的栅格数据。 3、  由矢量数据转换而来。 4、  遥感影像数据,对地面景象的辐射和反射能量的扫描抽样,并按不同的光谱段量化后,以数字形式记录下来的象素值序列。 5、  格网DEM数据,当属性值为地面高程,则为格网DEM,通过DEM内插得到。 返回

5 第二章 GIS 数据结构 §2-3 栅格数据结构 (二)栅格系统的确定 1、 栅格坐标系的确定
§2-3 栅格数据结构 (二)栅格系统的确定 1、  栅格坐标系的确定 表示具有空间分布特征的地理要素,不论采用什么编码系统,什么数据结构(矢、栅)都应在统一的坐标系统下,而坐标系的确定实质是坐标系原点和坐标轴的确定。 由于栅格编码一般用于区域性GIS,原点的选择常具有局部性质,但为了便于区域的拼接,栅格系统的起始坐标应与国家基本比例尺地形图公里网的交点相一致,并分别采用公里网的纵横坐标轴作为栅格系统的坐标轴。 2 1 3

6 第二章 GIS 数据结构 §2-3 栅格数据结构 2、 栅格单元的尺寸 1)原则:应能有效地逼近空间对象的分布特征,又减少数据的冗余度。
§2-3 栅格数据结构 2、  栅格单元的尺寸 1)原则:应能有效地逼近空间对象的分布特征,又减少数据的冗余度。 格网太大,忽略较小图斑,信息丢失。 一般讲实体特征愈复杂,栅格尺寸越小,分辨率愈高,然而栅格数据量愈大(按分辨率的平方指数增加)计算机成本就越高,处理速度越慢。 2)方法:用保证最小多边形的精度标准来确定尺寸经验公式: h为栅格单元边长 Ai为区域所有多边形的面积。 返回

7 第二章 GIS 数据结构 §2-3 栅格数据结构 (三)栅格代码(属性值)的确定
§2-3 栅格数据结构 (三)栅格代码(属性值)的确定 当一个栅格单元内有多个可选属性值时,按一定方法来确定栅格属性值。 1、中心点法:取位于栅格中心的属性值为该栅格的属性值。 2、面积占优法:栅格单元属性值为面积最大者,常用于分类较细,地理类别图斑较小时。  3、 重要性法:定义属性类型的重要级别,取重要的属性值为栅格属性值,常用于有重要意义而面积较小的要素,特别是点、线地理要素。 4、长度占优法——每个栅格单元的值由该栅格中线段最长的实体的属性来确定。 A B a b a 2 1 返回

8 第二章 GIS 数据结构 §2-3 栅格数据结构 四、栅格数据编码方法 1、直接栅格编码: 将栅格数据看作一个数据矩阵,逐行记录代码数据。
§2-3 栅格数据结构 四、栅格数据编码方法 1、直接栅格编码: 将栅格数据看作一个数据矩阵,逐行记录代码数据。 1)每行都从左到右记录; AAAAABBBAABBAABB 2)奇数行从左到右,偶数行从右到左; 特点:最直观、最基本的网格存贮结构,没有进行任何压缩数据处理。 A A A A A B B B A A B B 栅格数据量大,格网数多,由于地理数据往往有较强的相关性,即相邻象元的值往往是相同的。所以,出现了各种栅格数据压缩方法。 数据压缩是将数据表示成更紧凑的格式以减少存储空间的一项技术。分为: 无损压缩:在编码过程中信息没有丢失,经过解码可恢复原有的信息---信息 保持编码。 有损压缩:为最大限度压缩数据,在编码中损失一些认为不太重要的信息,解码后,这部分信息无法恢复。--信息不保持编码。 返回

9 第二章 GIS 数据结构 §2-3 栅格数据结构 2、行程编码(变长编码): 特点: 将原图表示的数据矩阵变为数据对:
§2-3 栅格数据结构 2、行程编码(变长编码): 将原图表示的数据矩阵变为数据对: 1)属性码,长度,行号(可不要) 长度:连续相同码值的栅格个数。 2)属性码,点位 A A A A A B B B A A B B 特点: 对于游程长度编码,区域越大,数据的相关性越强,则压缩越大,适用于类型区域面积较大的专题图,而不适合于类型连续变化或类别区域分散的分类图(压缩比与图的复杂程度成反比)。 这种编码在栅格加密时,数据量不会明显增加,压缩率高,并最大限度地保留原始栅格结构,编码解码运算简单,且易于检索,叠加,合并等操作,这种编码应用广泛。 返回

10 第二章 GIS 数据结构 §2-3 栅格数据结构 3、块码 ---- 游程编码向二维扩展
§2-3 栅格数据结构 3、块码 游程编码向二维扩展 采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格。 数据对组成:(初始行、列,半径,属性值) 如:(1,1,1,0),(1,2,2,4),(1,4,1,7),(1,5,1,7)… 依次扫描,编过的不重复。 特点: 具有可变分辨率,即当属性变化小时图块大,对于大块图斑记录单元大,分辨率低,压缩比高。 小块图斑记录单元小,分辨率高,压缩比低 所以,与行程编码类似,随图形复杂程度的提高而降低分辩率。 返回

11 4、链式编码、Freeman 链码、边界链码
第二章 GIS 数据结构 §2-3 栅格数据结构 4、链式编码、Freeman 链码、边界链码 将栅格数据(线状地物面域边界)表示为矢量链的记录 1)首先定义一个3x3窗口,中间栅格的走向有8种可能,并将这8种可能0~7进行编码。 2)记下地物属性码和起点行、列后,进行追踪,得到矢量链. a a a a 链式编码表 a b a 属性码 起点行 起点列 链码 a 1 4 556656 b 3 7 a 具体应用时,一般从上到下,从左到右找起始点,属性非0的点,记下该地物的属性码后按顺时针方向找相邻的等值点,并按八个方向的编码记录,如遇不闭合的线段,结束返回找下一线段的起始点,为避免重复,记录过的栅格属性值赋为背景值0。 优点:链码可有效地存贮压缩栅格数据,便于面积、长度、转折方向和边界、线段凹凸度的计算。 缺点:不易做边界合并,插入操作、编辑较困难(对局部修改将改变整体结构)。区域空间分析困难,相邻区域边界被重复存储。 返回 5、四叉树编码

12 第二章 GIS 数据结构 §2-3 栅格数据结构 五、四叉树编码 (一)四叉树概述: A
§2-3 栅格数据结构 五、四叉树编码 (一)四叉树概述: 一种可变分率的非均匀网格系统。是最有效的栅格数据压缩编码方法之一 1、  基本思想: 将2n×2n象元组成的图像(不足的用背景补上) 按四个象限进行递归分割, 并判断属性是否单一, 单一:不分。 不单一:递归分割。 最后得到一颗四分叉的倒向树。 2、  四叉树的树形表示: 用一倒立树表示这种分割和分割结果。 根:整个区域 高:深度、分几级,几次分割 叶:不能再分割的块 树叉:还需分割的块 每个树叉均有4个分叉,叫四叉树。 A B 1 2 3 返回

13 第二章 GIS 数据结构 §2-3 栅格数据结构 3、 编码方法 1)常规四叉树 记录这棵树的叶结点外,中间结点,结点之间的联系用指针联系,
§2-3 栅格数据结构 3、 编码方法 1)常规四叉树 记录这棵树的叶结点外,中间结点,结点之间的联系用指针联系, 每个结点需要6个变量: 父结点指针、四个子结点的指针和本结点的属性值。 指针不仅增加了数据的存储量,还增加了操作的复杂性:如层次数(分割次数)由从父结点移到根结点的次数来确定,结点所代表的图像块的位置需要从根节点开始逐步推算下来。所以,常规四叉树并不广泛用于存储数据,其价值在于建立索引文件,进行数据检索。 返回

14 第二章 GIS 数据结构 §2-3 栅格数据结构 2)线性四叉树 记录叶结点的位置,深度(几次分割)和属性。
§2-3 栅格数据结构 2)线性四叉树 记录叶结点的位置,深度(几次分割)和属性。 地址码(定位码、Morton码) 四进制、十进制 优点: ·存贮量小,只对叶结点编码,节省了大量中间结点的存储,地址码隐含着结点的分割路径和分割次数。 ·线性四叉树可直接寻址,通过其坐标值直接计算其Morton码,而不用建立四叉树。 ·定位码容易存储和执行实现集合相加等组合操作。 返回

15 第二章 GIS 数据结构 §2-3 栅格数据结构 (二)四进制的Morton码 03 1、 方法1: 四叉树从上而下(形成)(从整体开始)
§2-3 栅格数据结构 (二)四进制的Morton码 1 2 3 03 1、  方法1: 四叉树从上而下(形成)(从整体开始) 由叶结点找Morton码。 A、分割一次,增加一位数字,大分割在前,小分割在后。所以,码的位数表示分割的次数。 B、每一个位均是不大于3的四进制数,表达位置。 由Morton找出四叉树叶结点的具体位置。  A B A A B A 返回

16 第二章 GIS 数据结构 §2-3 栅格数据结构 2、 方法2:四叉树自下而上合并的方法 1)计算每个栅格对应的MQ MQ=2*Ib+Jb
§2-3 栅格数据结构 2、  方法2:四叉树自下而上合并的方法 1)计算每个栅格对应的MQ MQ=2*Ib+Jb I,J化为二进制Ib,Jb 看最大的I,J,不足在前补零。 其始行列号从0计。 2) 按码的升序排成线性表,放在连续的内存块中。 3)依次检查每四个相邻的MQ对应的属性值,相同合并(不同码位去掉),不同则存盘,直到没有能够合并的子块为止。 A B 返回

17 第二章 空间数据结构 §2-3 栅格数据结构 (三)十进制的Morton码---MD
§2-3 栅格数据结构 (三)十进制的Morton码---MD 四进制Morton码直观上切合四叉树分割,但许多语言不支持四进制变量,需用十进制表示Morton码. 1、一种按位操作的方法: 如行为2、列为3的栅格的MD 步骤: (1)行、列号为二进制 Ib= 1 0 Jb= 1 1 (2)I行J列交叉 = 13 (3)再化为十进制. 实质上是按左上、右上、左下、右下的顺序,从零开始对每个栅格进行自然编码。 A 0 A 1 A 4 A 5 A 2 B 3 B 6 B 7 A 8 A 9 B 12 B 13 A 10 A 11 B 14 B 15 返回

18 2、把一幅2n×2n的图像压缩成线性四叉树的过程
第二章 GIS 数据结构 §2-3 栅格数据结构 2、把一幅2n×2n的图像压缩成线性四叉树的过程 A 0 A 1 A 4 A 5 A 2 B 3 B 6 B 7 A 8 A 9 B 12 B 13 A 10 A 11 B 14 B 15   1°、按Morton码把图象读入一维数组。   2°、相邻的四个象元比较,一致的合并,只记录第一个象元的Morton码。循环比较所形成的大块,相同的再合并,直到不能合并为止。    3°、进一步用游程长度编码压缩。压缩时只记录第一个象元的Morton码。 右图的压缩处理过程为: 1°、按Morton码读入一维数组。 Morton码: 象 元 值: A A A B A B B B A A A A B B B B 2°、四相邻象元合并,只记录第一个象元的Morton码。 A A A B A A B B A B 3°、由于不能进一步合并,则用游程长度编码压缩。 A B A B A B A 0 A 1 A 4 A 5 A 2 B 3 B 6 B 7 A 8 A 9 B 12 B 13 A 10 A 11 B 14 B 15 解码时,根据Morton码就可知道象元在图像中的位置(左上角),本Morton码和下一个Morton码之差即为象元个数。知道了象元的个数和象元的位置就可恢复出图像了。 返回

19 第二章 GIS 数据结构 §2-3 栅格数据结构 (四)四叉树优缺点 优点:
§2-3 栅格数据结构 (四)四叉树优缺点 优点: 1)对于团块图像,四叉树表示法占用空间比网络法要少得多,四叉树表示法基本上是一种非冗余表示法。 2)四叉树具有可变率或多重分辩率的特点使得它有很好的应用前景,适用于处理凝聚性或呈块状分布的空间数据,特别适用于处理分布不均匀的块状空间数据,但不适用于连续表面(如地形)或线状地物。 此外,目前应用四叉树还存下列问题: 1) 矢/栅正反变换还不理想。 2) 建立四叉树耗费机时很多。 3) 四叉树虽可修改,但很费事(具体的数据结构中会提到)

20 6) 一个物体的图像在构成四叉树时会被分割到若干个象限中,使它失去了内在的相关性。
第二章 GIS 数据结构 §2-3 栅格数据结构 4) 四叉树未能直接表示物体间的拓扑关系。 5) 与非树表示法比较,四叉树表示法的缺点在于转换的不稳定性或叫滑动变异 例如,两个图像的差异仅由于平移,就会构成极为不同的四叉树,因而很难根据四叉树来判断这两个图像是否全同,故不利于做形状分析和模式识别, 6) 一个物体的图像在构成四叉树时会被分割到若干个象限中,使它失去了内在的相关性。 A 0 A 1 A 4 A 5 A 2 B 3 B 6 B 7 A 8 A 9 B 12 B 13 A 10 A 11 B 14 B 15 A B A B 返回

21 第二章 GIS 数据结构 §2-2 矢量数据结构 一、图形表示 摘自 张超 返回

22 矢量格式数据表达 1.基本概念 ——图件三要素(图元)(Map Elements) 点、线、面
  点、线、面 ——坐标链(有方向)(Coordinate Chain) ——弧段(Arc)、结点(Node)、岛弧段 ——多边形(Polygon)、岛、单连通域、多连通域、外边界、内边界 ——拓扑(Topology)与拓扑关系 ●结点与弧段 ●弧段与结点 ●弧段与面 ●面与弧段

23 矢量格式数据表达 1.基本概念 ——图件三要素(图元)(Map Elements):点、线、面
——坐标链(有方向)(Coordinate Chain) ——弧段(Arc)、结点(Node)、岛弧段 ——多边形(Polygon)、岛、单连通域、多连通域、外边界、内边界 ——拓扑(Topology)与拓扑关系 ●结点与弧段 ●弧段与结点 ●弧段与面 ●面与弧段

24 2.矢量格式数据组织 ——弧段、多边形的包络矩形(Range)
Xmin=MIN(x1,x2,……xn);Ymin=MIN(y1,y2,……yn) Xmax=MAX(x1,x2,……xn);Ymax=MAX(y1,y2,……yn) ( x1, y1)、( x2, y2)……( xn, yn)是弧段、多边形边界上各点坐标。 ——欧拉定理 Nn-Na+Np=1+Ni 2.矢量格式数据组织 ——分析 [拓扑关系] 坐标点 坐标链 多边形 (弧段)

25 ——数据表达的基本格式之二 矢量格式(Vector)
坐标点、坐标链、有方向,方向性是人为的。 图像只能用网格格式表达,而图形却可以用以上两种格式表达。

26 ——点状地物表达 点状地物空间数据表 注释 X Y 编码 序号代码 ——线状地物表达 线状地物坐标链数据表 注释 序号代码 X Y — …
1 20

27 线状地物坐标链索引表 Xmin Xmax Ymin Ymax ——面状地物表达 面状地物坐标链数据表 注释 序号代码 X Y 注释 序号代码
线状地物编码 起点序号 终点序号 Xmin Xmax Ymin Ymax 1 ——面状地物表达 面状地物坐标链数据表 注释 序号代码 X Y 1 20

28 面状地物弧段坐标链索引表 结点-弧段关系表 … … 注释 序号代码 起点序号 终点序号 左图斑编码 右图斑编码 Xmin Xmax Ymin
Ymax 结点-弧段关系表 注释 序号代码 X Y 弧段1 弧段2 弧段3 弧段4  40 41

29 面状地物弧段坐标链索引表 结点-弧段关系表 … … 注释 序号代码 起点序号 终点序号 左图斑编码 右图斑编码 Xmin Xmax Ymin
Ymax 结点-弧段关系表 注释 序号代码 X Y 弧段1 弧段2 弧段3 弧段4  40 41

30 图斑弧段组成关系 图斑弧段组成索引表 … … 注释1 注释2 序号代码 弧段序号代码 起点序号 终点序号 1 — 20 注释 序号代码
20 图斑弧段组成索引表 注释 序号代码 图斑编码 内点X 内点Y 起点序号 终点序号 Xmin Xmax Ymin Ymax

31 第二章 GIS 数据结构 §2-2 矢量数据结构 二、矢量数据的获取方式 1) 由外业测量获得
可利用测量仪器自动记录测量成果(常称为电子手薄),然后转到地理数据库中。 2)由栅格数据转换获得 利用栅格数据矢量化技术,把栅格数据转换为矢量数据。 3)跟踪数字化 用跟踪数字化的方法,把地图变成离散的矢量数据。 返回

32 第二章 GIS 数据结构 §2-2 矢量数据结构 三、矢量数据组织 四、矢量结构编码方法
矢量数据表示时应考虑以下问题:·矢量数据自身的存贮和处理;·与属性数据的联系;·矢量数据之间的空间关系(拓扑关系)。 点:坐标对(x,y) 识别符 线:坐标对系列(x1,y1)..(xn,yn) 及有关属性、其它属性 面:首尾相同的坐标串 关系表 几何位置坐标文件 连接 在GIS中,矢量数据表示时应考虑以下问题: ·矢量数据自身的存贮和处理。 ·与属性数据的联系。 ·矢量数据之间的空间关系(拓扑关系)。 四、矢量结构编码方法 1、点实体矢量编码方法 2、线实体矢量编码方法 3、多边形矢量编码方法

33 点实体编码 简单点 文本点 点类型 结 点 统一标识 类别或系列号 x,y 坐标 比例 朝向 简单点——符号 文本点——字符 字体
线指针 线交汇编 字体 文句 x,y 坐标 其它非几何属性 建立和显示数据库联系的属性 简单点——符号 文本点——字符 结 点——符号 统一标识 类别或系列号 点类型 简单点 文本点 结 点

34 第二章 GIS 数据结构 §2-2 矢量数据结构 以点为例: 坐标
识别符 若是简单点要素如独立树、电线竿、三角点,符号、 有关属性中包括 比例尺、方向 若是注记点,记录有关字符的大小、方向、字体、排列等 若是结点Vertex:符号:指针、与线相交的角度。 其它属性 : 三角点设立年代、材料等 线(符号、方向)、面(符号)都有相应的相关属性,在此,看看矢量结构中关于几何位置坐标的编码方式 返回

35 唯一标示码 线标示码 起始点 终止点 坐标对序列 显示信息 非几何属性 线实体编码

36 第二章 GIS 数据结构 §2-2 矢量数据结构 多边形矢量的编码 P 1 2 3 4 5 6 7 8 9 10 11 12 13 15
14 15 P (一)实体式 (spaghetti)-- 面条模型:以实体为单位记录其坐标 优点:结构简单、直观、易实现以实体为单位的运算和显示。 多边形 坐标串 P1 2,3,4,5… P2 1,2,10,9… 缺点: 1、相邻多边形的公共边界被数字化并存储两次,造成数据冗余和碎屑多边形—数据不一致,浪费空间,导致双重边界不能精确匹配。 2、自成体系,缺少多边形的邻接信息,无拓扑关系,难以进行邻域处理,如消除多边形公共边界,合并多边形。 3、岛作为一个单个图形,没有与外界多边形联系。不易检查拓扑错误。 所以,这种结构只用于简单的制图系统中,显示图形。 返回

37 对所有点的坐标按顺序建坐标文件,再建点与边(线)、线与多边形的索引文件。
第二章 GIS 数据结构 §2-2 矢量数据结构 (二)索引式(树状) 对所有点的坐标按顺序建坐标文件,再建点与边(线)、线与多边形的索引文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 P 索引文件: Map 点号 坐标 1 x1,y1 1、点文件: 2、弧段文件: 弧段号 起点 终点 点号 A 5 2 7,8,9,10 3、面文件: 面号 弧段号 P1 A,B,C 与实体式相比: 优点:用建索引的方法消除多边形数据的冗余和不一致,邻接信息、岛信息可在多边形文件中通过是否公共弧段号的方式查询。 缺点:表达拓扑关系较繁琐,给相邻运算、消除无用边、处理岛信息、检索拓扑关系等带来困难,以人工方式建立编码表,工作量大,易出错。 返回

38 第二章 GIS 数据结构 §2-2 矢量数据结构 (三)双重独立式编码 P 1 2 3 4 5 6 7 8 9 10 11 12 13 15
简称DIME(Dual Independent Map Encoding),是美国人口统计系统采用的一种编码方式,是一种拓扑编码结构。  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 P 1、点文件 点号 坐标 1 x1,y1 2、线文件:线文件是以线段为记录单位 线号 左多边形 右多边形 起点 终点 L210 P1 P2 2 10 关联 邻接 关联 连通 3、面文件 拓扑关系明确 面号 线号 P1 L210,L109… 在DIME中做如下改进: 将以线段为记录单位改为以弧段为单位 返回 链状双重独立式编码

39 (四)链状双重独立式编码--拓扑数据结构
第二章 GIS 数据结构 §2-2 矢量数据结构 (四)链状双重独立式编码--拓扑数据结构 1、弧段坐标文件: 弧段号 坐标系列(串) A x2,y2,X10,y10… 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 P 2、弧段文件:链—面,链—结点关系 弧段号 左多边形 右多边形 起点 终点 A P1 P2 2 5 面号 弧段号 P1 A,B,-C 3、面文件 4、点拓扑文件: 结点—链关系 较好的解决了空间关系查询等问题,但增加了算法的复杂度 点号 弧段号 2 A,B,D 在拓扑结构中,多边形(面)的边界被分割成一系列的线(弧、链、边)和点(结点)等拓扑要素,点、线、面之间的拓扑关系在属性表中定义,多边形边界不重复。 返回

40 第二章 GIS 数据结构 §2-2 矢量数据结构 链状双重独立式编码 特点
拓扑关系明确,也能表达岛信息,而且以弧段为记录单位,满足实际应用需要。因为一般数字化一条街道时,必然有许多中间点,但我们在做空间分析是却没有必要以这些中间点所组成的折线为研究对象,而应以整条弧段(某条街道)为研究对象. 被一些成熟的商品化软件采用,如ARC/INFO软件。 例:ARC文件:二进制文件: 弧段号 点数 坐标串 在GIS数据输入中,建拓扑是指给图形数据(点、线、面)增加拓扑结构,如ARC/INFO中,在ARCEDIT中输入图形后,需用BUILD 建图形拓扑,具体生成许多文件,如AAT,PAT等. INFO:属性表 如AAT(Arc Attribute Table) 继承了双重独立式编码的优点 弧段号 USER_ID LPOLY RPOLY FROM_NODE TO_NODE 其它属性:(名称) 用户标识码,表明地物类型 当图形数据修改、删除、增加点、线、面要素后,其拓扑关系也发生改变,所以,需重新建拓扑。 返回

41 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 矢量 一、矢、栅优缺点: 栅 格 优点 缺点
1、便于面向现象(土壤类,土地利用单元等) 2、结构紧凑,冗余度低,便于描述线或边界。 3、利于网络、检索分析,提供有效的拓扑编码,对需要拓扑信息的操作更有效。 4、 图形显示质量好,精度高。 1 1、数据结构复杂,各自定义,不便于数据标准化和规范化,数据交换困难。 2、多边形叠置分析困难,没有栅格有效,表达空间变化性能力差。 3、不能像数字图像那样做增强处理 4、软硬件技术要求高,显示与绘图成本较高。 栅 格 1、 结构简单,易数据交换。 2、叠置分析和地理(能有效表达空可 变性)现象模拟较易。 3、利于与感遥数据的匹配应用和分析,便于图像处理。 4、 输出快速,成本低廉。 1、现象识别效果不如矢量方法,难以表达拓扑。 2、图形数据量大,数据结构不严密不紧凑,需用压缩技术解决该问题。 3、投影转换困难。 4 4、图形质量转低,图形输出不美观,线条有锯齿,需用增加栅格数量来克服,但会增加数据文件。 由于矢量、栅格各有优缺点,且互补,不同的应用需要不同的数据结构。目前GIS软件大多均同时具有矢量、栅格两种数据结构,并能相互转换,但增加存储空间和运算时间,为提高效率,促使同时具有矢栅一体化结构的提出。

42 矢量结构:城市分区或详细规划、土地管理、公用事业管理等方面的应用。
矢量、栅格数据结构的选择 在GIS建立过程中,应根据应用目的和应用特点、可能获得的数据精度以及地理信息系统软件和硬件配置情况,选择合适的数据结构。 栅格结构:大范围小比例尺的自然资源、环境、农林业等区域问题的研究。 矢量结构:城市分区或详细规划、土地管理、公用事业管理等方面的应用。 返回

43 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 二、矢栅一体化概念
将矢量面对目标的方法和栅格元子充填的方法结合起来,具体采用填满线状目标路径和充填面状目标空间的方法作为一体化数据结构的基础。 线状地物:除记录原始取样点外,还记录路径所通过的栅格。 面状地物:除记录它的多边形周边以外,还包括中间的面域栅格。 一方面,它保留了矢量的全部性质,以目标为单元直接聚集所有的位置信息,并能建立拓扑关系; 另一方面,它建立了栅格与地物的关系,即路径上的任一点都直接与目标建立了联系。 3 4 2 1 从原理上说,这是一种以矢量的方式来组织栅格数据的数据结构。 返回

44 c. 地面上的面状地物是地球表面的空间曲面,并具有形状和面积,它在平面上的投影是由边界包围的紧致空间和一组填满路径的元子表达的边界组成。
§2-4 矢栅一体化数据结构 第二章 GIS 数据结构 三、三个约定和细分格网法 为便于组织数据,首先作如下约定: a. 地面上的点状地物是地球表面上的点,它仅有空间位置,没有形状和面积,在计算机内部仅有一个位置数据。 b. 地面上的线状地物是地球表面的空间曲线,它有形状但没有面积,它在平面上的投影是一连续不间断的直线或曲线,在计算机内部需要用一组元子填满整个路径。 c. 地面上的面状地物是地球表面的空间曲面,并具有形状和面积,它在平面上的投影是由边界包围的紧致空间和一组填满路径的元子表达的边界组成。 x,y 为提高栅格表示精度,采用细分格网法: 将一对X,Y坐标用两个Morton码代替: 前一M1表示该点(采样点或附加的交叉点)所在基本格网的地址码,后者M2 表示该点对应的细分格网的Morton码,既顾全整体定位,又保证精度。 M1 M2 返回

45 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 四、一体化数据结构设计
线性四叉树(Morton)是基本数据格式,三个约定设计点、线、面数据结构的基本依据,细分格网法保证足够精度。 1、点状地物和结点的数据结构 约定1,点仅有位置、没有形状和面积,只要将点的坐标转化为地址码M1 和M2 ,结构简单灵活,便于点的插入和删除,还能处理一个栅格内包含多个点状目标的情况。 点标识号 M1 M2 高程Z …… 10025 43 4084 432 10026 105 7725 463 返回

46 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 2、线状地物的数据结构
约定(2),线状地物有形状但没有面积,没有面积意味着只要用一串数据表达每个线状地物的路径即可,将该线状地物经过的所有栅格的地址全部记录下来。仿照矢量数据组织的链状双重独立式编码,以弧段为记录单位。 弧段的数据结构: 弧标识号 起结点号 终结点号 中间点串(M1,M2,Z)  20078 10025 10026 58,7749,435,92,4377,439… 这种数据结构比单纯的矢量结构增加了一定的存储量,但它解决了线状地物的四叉树表达问题,使它与点状、面状地物一起建立统一的基于线性四叉树编码的数据结构体系。这对于点状地物与线状地物相交,线状地物之间的相交,以及线状地物与面状地物相交的查询问题变得相当简便和快速。 线状地物的数据结构: 线标识号 弧段标识号 …… 30031 20078,20079 30032 20092,20098,20099 返回

47 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 3、面状地物的数据结构 1) 弧段文件 边界弧段-----形状
2)带指针的二维行程码 面域 叶结点的属性值 改为指向该地物的下一个子块的循环指针 二维行程M码 属性值 5 4 8 16 30 31 32 37 40 44 46 47 二维行程M码 循环指针属性值 8 5 16 32 31 30 37 4(属性值) 40 44 46 47 0(属性值) 8(属性值) 循环指针指向该地物下一个子块的地址码,并在最后指向该地物本身 返回

48 用循环指针将同属于一个目标的叶结点链接起来
§2-4 矢栅一体化数据结构 第二章 GIS 数据结构 用循环指针将同属于一个目标的叶结点链接起来 8 32 40 46 二维行程M码 循环指针属性值 8 5 16 32 31 30 37 4(属性值) 40 44 46 47 0(属性值) 8(属性值) 只要进入第一块就可以顺着指针直接提取该地物的所有子块,从而避免像栅格数据那样为查询某一个目标需遍历整个矩阵,大大提高了查询速度。 返回

49 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 3)面文件 面标识号 弧标识号串 面块头指针 40001(属性值为0)
20001,20002,20003 40002(属性值为4) 20002,20004 16 40003(属性值为8) 2000 37 …… 这种数据结构是面向地物的,具有矢量的特点。通过面状地物的标识号可以找到它的边界弧段并顺着指针提取所有的中间面块。同时它又具有栅格的全部特性,二维行程本身就是面向位置的结构,带指针的二维行程码中的Morton码表达了位置的相互关系,前后M码之差隐含了该子块的大小。给出任意一点的位置都可顺着指针找到面状地物的标识号确定是哪一个地物。 返回

50 第二章 GIS 数据结构 §2-4 矢栅一体化数据结构 4、复杂地物的数据结构
由几个或几种点、线、面状简单地物组成的地物称为复杂地物。例如将一条公路上的中心线、交通灯、立交桥等组合为一个复杂地物,用一个标识号表示。复杂地物的数据结构如表7所示。 复杂地物标识号 简单地物标识号 …… 50008 10025,30005,30025 50009 30006,30007,40032 返回

51 第二章 GIS 数据结构 §2-5 三维数据结构 一、概述
二维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,抽象为点、线、面、体,面构成体。方法多种,常用三维边界表示法。 返回

52 第二章 GIS 数据结构 §2-5 三维数据结构 二、八叉树结构 四叉树在三维空间的推广。
1、思想: 四叉树在三维空间的推广。 将要表示的形体V放在一个充分大的正方体C内,C的边长为2n,不断用两个与XOY、XOZ的平面均分C为8个子体,并判断属性单一性。 当子体部分为V---灰结点 需再1分为8。 子体中无V---白结点 停止分割,叶结点。 子体全为V—黑结点 4 5 1 7 2 3 返回

53 第二章 GIS 数据结构 §2-5 三维数据结构 2、存贮结构 1)规则八叉树
与常规四叉树类似,用10项字段来记录每个结点(8个子结点指针, 1个父结点指针,1个结点属性)。最普遍的形式,方式自然,易掌握。但指针占总存储量的94%,空间使用率低。 2)线性八叉树— Motorn码 用某一预先确定的次序将八叉树转换成一个线性表,表中的每个元素与一个结点相对应。每个结点用固定的字节描述,其中某些位专门用来说明它是否为叶结点。 特点:节省存贮空间,便于某些运算,但丧失一定的灵活性,不便于其它遍历方式对树的结点进行存取,应用效果不佳。 返回

54 第二章 GIS 数据结构 §2-5 三维数据结构 3)一对八式的八叉树
每个结点均1分为8,并标记为 0,1,2,3,4,5,6,7。隐含地假定了这些子结点记录存放的次序 –---便于检索 浪费存储,除非完全八叉树,即所有叶结点均在同一层次出现,上层均为非叶结点。 …7 …7 返回

55 第二章 GIS 数据结构 §2-5 三维数据结构 三、三维边界表示法 v1 v2 v3 v4 l1 l 2 l 3 l 4 l 5 l6
1、顶点表:用来表示多面体各顶点的坐标 v1 x1 y1 z1 v2 x2 y2 z2 v3 x3 y3 z3 v4 x4 y4 z4 2、边表:指出构成多面体某边的两个顶点; l1 v1 v2 l2 v2 v3 l3 v3 v1 l4 v2 v4 l5 v4 v3 l6 v1 v4 3、面表:给出围成多面体某个面的各条边。 s1 l1 l2 l3 s2 l2 l4 l5 s3 l5 l3 l6 s4 l3 l1 l4 后两个表一般使用指针的方法指出有关的边、点存放的位置 可避免重复表示某些点、边、面,节约存储,便于图形显示,如公共边不重复。 4、当有若干个多面体时,还必须有一个对象表。 返回 O1 S1,s2… 属性1…

56 第二章 GIS 数据结构 §2-5 三维数据结构 5、扩充后的边表
为表达拓扑还可将其它一些有关的内容结合到所使用的表中,如将边所属的多边形信息结合进边表中以后的形式: l1 v1 v2 s1 s4 l2 v2 v3 s1 s2 l3 v3 v1 s1 s3 l4 v2 v4 s2 s4 l5 v4 v3 s2 s3 l6 v1 v4 s3 s4 l1 v1 v2 l2 v2 v3 l3 v3 v1 l4 v2 v4 l5 v4 v3 l6 v1 v4 s1 l1 l2 l3 s2 l2 l4 l5 s3 l5 l3 l6 s4 l3 l1 l4 包含s1,s4公共边为l1的信息 返回

57 第二章 GIS 数据结构 §2-5 三维数据结构 6、拓扑检查
数据存储后,必须检查数据的一致性、完全性,即进行拓扑检查。具体可检查下列几项: (1) 顶点表中的每个顶点至少是两条边的端点; (2) 每条边至少是一个多边形的边; (3) 每个多边形是封闭的; (4) 每个多边形至少有一条边是和另一个多边形共用的; (5) 若边表中包含了指向它所属多边形的指针,那么指向该边的指针必在相应的多边形中出现。 返回

58 第二章 GIS 数据结构 §2-5 三维数据结构 7、应用
三维边界法一般用于表示规则形体,如建筑物,对于自然界中的复杂形体如岩石的外表,理论上可找到一在误差范围内逼近的适合平面多面体,但这种逼近受多因素的制约。 对于不规则形体,可在形体的外表面s,可测一组点p1,p2…pn坐标,再建这些点的关系,即结构图,决定顶点连接的不同方式。同样数据点,由于连接方式不同,构成的平面多面体也不同。其中最重要的一种方法就是每个面均是三角形的平面多面体,类似TIN结构。但即使这样,同一组点仍可得到不同的平面多面体。因此,需要研究拥有了哪些特征之后,才能更确切地逼近原来的三维形体? 这种逼近有两种形式: 表面S0的逼近:以确定后的平面多面体的表面作为对原三维形体的表面S0的逼近,着眼于形体的边界表示。 三维形体的逼近:给出一系列的四面体,这些四面体的集合就是对原三维形体的逼近。着眼于形体的分解表示。 返回

59 矢量格式与网格格式数据比较 矢量格式 网格格式 数据结构复杂 数据精度高 数据量小 长于表达面 图形运算复杂、高效 数据共享困难
拓扑与网格分析容易实现 无法表达图像 数据结构简单 数据精度低 数据量大 长于表达点 图形运算简单、低效 数据共享简单 拓扑与网格分析不易实现 可以表达图像

60 8、 矢量结构与栅格结构的相互转换 矢量数据结构向栅格数据结构的转换 栅格数据结构向矢量数据结构的转换

61 8.1矢量数据结构向栅格数据结构的转换 矢量数据转换成栅格数据后,图形的几何精度必然要降低,所以选择栅格尺寸的大小要尽量满足精度要求,使之不过多地损失地理信息。为了提高精度,栅格需要细化,但栅格细化,数据量将以平方指数递增,因此,精度和数据量是确定栅格大小的最重要的影响因素。 栅格尺寸确定 ①计算若干个小图斑的面积S(i=1,2,…,n); ②求小图斑面积平均值=; ③求栅格尺寸L=()1/2。

62 8.1矢量数据结构向栅格数据结构的转换 点的栅格化

63 8.1矢量数据结构向栅格数据结构的转换 直线栅格化 直线插补法 扫描线法

64 8.1矢量数据结构向栅格数据结构的转换 面域的栅格化 直线插补法 扫描线法

65 8.2 栅格数据结构向矢量数据结构的转换 多边形边界提取 边界线追踪 拓扑关系生成 去除多余点及曲线圆滑

66 8.2 栅格数据结构向矢量数据结构的转换 多边形边界提取 二值化 细化

67 8.2 栅格数据结构向矢量数据结构的转换 多边形边界提取 二值化 细化

68 8.2 栅格数据结构向矢量数据结构的转换 边界线追踪:边界线跟踪的目的就是将写入数据文件的细化处理后的栅格数据,整理为从结点出发的线段或闭合的线条,并以矢量形式存储于特征栅格点中心的坐标 拓扑关系生成:对于矢量表示的边界弧段,判断其与原图上各多边形空间关系,形成完整的拓扑结构,并建立与属性数据的联系。 去除多余点及曲线圆滑:由于搜索是逐个栅格进行的,必须去除由此造成的多余点记录,以减少冗余。


Download ppt "第二章 GIS 数据结构 §2-3 栅格数据结构 一、图形表示 栅格结构用密集正方形(或三角形,多边形)将地理区域划分为网格阵列。"

Similar presentations


Ads by Google