栅格数据和矢量数据压缩编码
弧段号 a b c d e f g h i j
起始点 5 8 16 19 15 15 1 8 16 31
终结点 1 5 8 5 19 16 15 1 19 31
左多边形 O E E O O D O A D B
右多边形 A A B E D B B B E C
弧段文件主要有弧记录组成,存储弧段的起止 结点号和弧段左右多边形号。
栅格结构编码方法:
直接栅格编码 链码 游程长度编码 块码 四叉树编码
直接栅格编码:
• 直接编码就是将栅格数据看作一个数据矩 阵,逐行(或逐列)逐个记录代码,可以 每行从左到右逐像元记录,也可以奇数行 从左到右,偶数行从右到左记录,为了特 殊目的还可以采用其他记录顺序。
链码:
• (又称为freeman码)是用曲线起始点的坐 标和边界点方向代码来描述曲线或边界的 方法。 • 有八个基本方向组成,方向代码分别为 0,1,2,3,4,5,6,7,单位矢量的长度默认是一个 栅格单元。
11 30 10 1 2 9 31
12 29
13 14 28 27 26 17 7 20 18 19 16 15 23 22 21
24 25 8 6
3 4
5
多边形号 A Bh,-j j e,i,f
周长
面积 中心点坐 标
E
e,i,d,b
• 多边形文件主要由多边形记录组成,包括多边 形号、组成多边形的弧段号以及周长、面积、 中心点坐标及有关“洞”的信息等。
几种典型数据的压缩与编码
• 2014年4月28日
目录:
数据压缩的定义
栅格数据的压缩编码
矢量数据的压缩编码
数据压缩:
• 定义:数据压缩是指在不丢失信息的前提 下,缩减数据量以减少存储空间,提高其 传输、存储和处理效率的一种技术方法。 或按照一定的算法对数据进行重新组织, 减少数据的冗余和存储的空间。 • 分类:有损压缩和无损压缩
链状双重独立式:
• 链状双重独立式数据结构是DIME数据结构 的一种改进。在DIME中,一条边只能用直 线两端点的序号及相邻的面域来表示,而 在链状数据结构中,将若干直线段合为一 个弧段(或链段),每个弧段可以有许多 中间点。 • 在链状双重独立数据结构中,主要有四个 文件:多边形文件、弧段文件、弧段坐标 文件、结点文件。
线号
8 a 1 b 2 c 3 d 4 e B n A i C 10 m h O
11 D k 9 l j 5 12 f 6 g
7
a b c d e f g h i j k l m n
左多边 形 O O O O O O O O C C C C C B
右多边 形 A A B B B C C C A B D D D A
弧段号 a b c d e f g h i j
点
号
5,4,3,2,1 8,7,6,5 16,17,8 19,18,5 15,23,22,21,20,19 15,16, 1,10,11,12,13,14,15 8,9,1 16,19 31,30,29,28,27,26,25,24,31
弧段坐标文件由一系列点的位置坐标组成,一般从 数字化过程获取,数字化的顺序确定了这条链段的 方向。
矢量数据编码方法:
点实体矢量编码方法
线实体矢量编码方法
多边形矢量编码方法
点实体编码:
空间信息:X,Y坐标
属性信息
比例 简单点 朝向 比例 文本点 朝向 字体 文句
结点
线指针 线交汇编
线实体编码:
唯一标示码
线 实 体 编 码
线标示码
起始点
终止点
坐标对序列
显示信息
非几何属性
多边形矢量编码:
• 多边形环路法
• 树状索引编码法 • 拓扑结构编码法
多边形环路法:
• 由多边形边界的x,y坐标队集合及说明信息 组成。
P1:x1,y1;x2,y2; x3,y3;x4,y4;x5,y5; x6,y6; P2:x7,y7;x8,y8; x9,y9;x10,y10;x11, y11;x5,y5;x6,y6 P3:x12,y12;x13,y13; x14,y14;x15,y15
24 25 8 6
3 4
5
B
C
D
E
a
b
c
f
g
h j
e
f
i
b
c
i
线与多边形之间的树状索引
点与线之间的树状索引
拓扑结构编码法: 双 重 独 立 式 链 状 双 重 独 立 式
双重独立式:
• 这种数据结构最早是由美国人口统计局研 制来进行人口普查分析和制图的,简称为 DIME(Dual lndependent Map Encoding)系统 或双重独立式的地图编码法。 • 双重独立式数据结构是对图上网状或面状 要素的任何一条线段,用其两端的节点及 相邻面域来予以定义。
树状索引法:
• 树状索引法数据结构采用树状索引以减少 数据冗余并间接增加邻域信息,具体方法 是对所有边界点进行数字化,将坐标对以 顺序方式存储,由点索引与边界线号相联 系,以线索引与各多边形相联系,形成树 状索引结构。
11 30 10 1 2 9 31
12 29
13 14 28 27 26 17 7 20 18 19 16 15 23 22 21
闭合。如果不能自行闭合,或者出现多余的
线段,则表示数据存储或编码有错。
例如,从上表中寻找右多边形为A的记录,则可以 得到组成A多边形的线及结点如表2-9,通过这种 方法可以自动形成面文件,并可以检查线文件数据 的正确性。
线号
a i n b
起点
1 8 9 2
终点
8 9 2 1
左多边 右多边 形 形
O C B O A A A A
游程长度编码:
• 对于一幅栅格图像,常常有行(或列)方向上相邻的若干 点具有相同的属性代码,因而可采取某种方法压缩那些重 复的记录内容。
块码:
• 采用方形区域作为记录单元,数据编码由 初始位置行列号加上半径,再加上记录单 元的代码组成。
四叉树编码:
• 是根据栅格数据二维空间分布的特点,将 空间区域按照4个象限进行递归分割(2n×2 n,且n>1),直到子象限的数值单调为止, 最后得到一棵四分叉的倒向树。为了保证 四叉树分解能不断的进行下去,要求图形 必须为2n×2 n的栅格阵列。n 为极限分割次 数,n+1是四叉树最大层数或最大高度。
起点 终点 1 2 3 4 5 6 7 8 8 9 12 11 10 9 8 1 2 3 4 5 6 7 9 5 10 12 11 2
因为在这种数据结构中,当编码数据经过
计算机编辑处理以后,面域单元的第一个始 节点应当和最后一个终节点相一致,而且当 按照左侧面域或右侧面域来自动建立一个指 定的区域单元时,其空间点的坐标应当自行
五种编码比较:
• 直接栅格编码:简单直观,是压缩编码方法的逻辑 原型(栅格文件); • 链码:压缩效率较高,以接近矢量结构,对边界的 运算比较方便,但不具有区域性质,区域运算较难; • 游程长度编码:在很大程度上压缩数据,又最大限 度的保留了原始栅格结构,编码解码十分容易,十 分适合于微机地理信息系统采用; • 块码和四叉树编码:具有区域性质,又具有可变的 分辨率,有较高的压缩效率,四叉树编码可以直接 进行大量图形图象运算,效率较高,是很有前途的 编码方法。