地理信息系统 栅格数据结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
链式编码主要是记录线状地物和面状地物的边界。它 把线状地物和面状地物的边界表示为:由某一起始点 开始并按某些基本方向确定的单位矢量链。基本方向 可定义为:东=0,东南=l,南=2,西南=3,西=4, 西北=5,北=6,东北=7等八个基本方向。 编码过程:
起始点的寻找一般遵循从上到下,从左到右的原则; 当发现没有记录过的点,且数值不为0时,就是一条线 或边界的起点; 记下该地物的特征码、起点的行列号,然后按顺时针方 向寻迹,找到相邻的等值点,并按八个方向编码。
31
5)线性四叉树的二维行程编码
右图的压缩处理过程为: 1.按Morton Morton码:0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 象元值:A A A B A A B B A A A A B B B B 2.四相邻象元合并,只记录第一个象元的Morton码。 0 1 2 3 4 5 6 7 8 12 AAABAABBAB 3.进一步用游程长度编码压缩。 0 3 4 6 8 12 A B A B A B
2.游程长度编码(Run-Length Encoding)
优点:
栅格加密时,数据量不会明显增加,压缩效率高, 最大限度保留原始栅格结构, 编码解码运算简单,且易于检索、叠加、合并等操 作,得到广泛应用。 不适合于类型连续变化或类型区域分散的数据。
缺点:
20
3. 链式数据编码(Chain Encoding,弗里曼Freeman)
15
完全栅格数据的组织
完全栅格数据的组织有三种基本方式:
基于像元、基于层(波段)和基于行
.bsq (band sequential)基于层(波段)的方式
栅格数据文件 波段1 像元1,1 像元1,2 … 像元1,m … 像元m,n 波段2 … 波段k
16
.bil (band interleaved by line)基于行的方式
第4章 空间数据结构
1
主要内容
4.1 矢量数据结构 4.2 栅格数据结构 4.4 镶嵌数据结构 4.5 栅格结构与矢量数据结构的比较
2
4.2 栅格数据结构
3
4.2 栅格数据结构
4.2.1 栅格单元的确定 4.2.2 完全栅格数据结构 4.2.3 压缩栅格数据结构
4
4.2 栅格数据结构
网格结构(raster或grid cell)或像元结构(pixel) 以规则栅格阵列表示空间对象 最简单最直观
21
3. 链式数据编码(Chain Encoding,弗里曼Freeman)
特征码 线 面
5
链式编码表 起点行 起点列 1 5 3 6
6 7
链码 3223323 0213246676
起始点 3 0 6 2 7 1 起始点
2 2
4 0
3 2 3
3
2
1
3
6 3 2 6 4 4
链式编码的方向代码
链式编码示意图
22
优点:
链式编码对多边形的表示具有很强的数据压缩能力 且具有一定的运算功能,如面积和周长计算等,探 测边界急弯和凹进部分等都比较容易,比较适于存 储图形数据。 对边界做合并和插入等修改编辑比较困难; 类似矢量结构,不具有区域的性质,对叠置运算如 组合、相交等则很难实施; 而且由于链码以每个区域为单位存储边界,相邻区 域的边界则被重复存储而产生冗余。
A 0 A 2 A 8 A 10 A 1 B 3 A 9 A 11 A 4 B 6 B 12 B 14 A 5 B 7 B 13 B 15
A 0 A 2 A 8 A 10
A 1 B 3 A 9 A 11
A 4 B 6 B 12 B 14
A 5 B 7 B 13 B 15
32
四叉树编码法的优点
1)容易而有效地计算多边形的数量特征; 2)阵列各部分的分辨率是可变的,边界复杂部分四 叉树较高即分级多,分辨率也高,而不需表示许多 细节的部分则分级少,分辨率低,因而既可精确表 示图形结构又可减少存贮量; 3)栅格到四叉树及四叉树到简单栅格结构的转换比 其它压缩方法容易; 4)多边形中嵌套异类小多边形的表示较方便。
属性偏差
13
4. 栅格数据的编码方法
4.2.2完全栅格数据结构
直接栅格编码 游程长度编码 链式数据编码 四叉树编码 分块压缩编码
4.2.3压缩栅格数据结构
14
4.2.2完全栅格数据结构
1.直接栅格编码 将栅格看做一个数据矩阵,逐行逐个记录代码数据 优点:简单、直观,无压缩 缺点:存在大量冗余,精度提高有限制。
每个栅格单元上的数值表示空间对象的非几何属性特征 其位置由栅格阵列中每个单元的行列号来确定。
栅格数据结构表示的地表是不连续的,是量化和近似 离散的数据,一个栅格单元对应于小块地理范围。
5
面 线
对于栅格数据 结构
点
点:为一个 像元 线:在一定 方向上连接 成串的相邻 像元集合。 面:聚集在 一起的相邻 像元集合。
只记录叶结点的信息,包括叶结点的位置,深度 (几次分割)和属性。 叶结点的编号遵循一定的规则,这种编号称为地址 码,常用的有四进制、十进制Morton码 优点:
· 存贮量小,只对叶结点编码,节省了大量中间结点的 存储,地址码隐含着结点的位置和分割次数。 · 线性四叉树可直接寻址,通过其坐标值直接计算其 Morton码,而不用建立四叉树。 · 定位码容易存储和执行实现集合相加等组合操作。
23
缺点:
4. 四叉树编码(Quad tree Encoding)
四叉树概述:一种可变分辨率的非均匀网格系统。 基本思想:将一幅栅格数据层或图像等分为四部分, 逐块检查其格网属性值(或灰度);如果某个子区的 所有格网值都具有相同的值,则这个子区就不再继续 分割,否则还要把这个子区再分割成四个子区;这样 依次地分割,直到每个子块都只含有相同的属性值或 灰度为止。
27
3)四进制的Morton码
方法1(自上而下分割)其始行列号从0 计 03 由叶结点找Morton码。
A、分割一次,增加一位数字,大分割 在前,小分割在后。所以,码的位数 表示分割的次数。 B、每一个位均是不大于3的四进制数, 表达位置。 由Morton码找出四叉树叶结点的具体 位置。
0
2
1
3
A
最上面的一个结点叫做根结点,它对应于整个图形。 不能再分的结点称为叶子结点,可能落在不同的层上, 该结点代表子象限单一的代码,所有叶子结点所代表的 方形区域覆盖了整个图形。 从上到下,从左到右为叶子结点编号,最下面的一排数 字表示各子区的代码。
为了保证四叉树分解能不断的进行下去,要求图形必 须为2n×2n的栅格阵列。n 为极限分割次数,n+1是 四叉树最大层数或最大高度.
父结点指针、四个子结点的指针和本结点的属性值。
指针不仅增加了数据的存储量,还增加了操作的复 杂性:
如层次数(分割次数)由从父结点移到根结点的次 数来确定,结点所代表的图像块的位置需要从根节 点开始逐步推算下来。
常规四叉树并不广泛用于存储数据,其价值在于建 立索引文件,进行数据检索。
26
2)线性四叉树
8
栅格数据类型
1.卫星影像 2.数字高程模型(DEM) 3.数字正射影像图(DOM) 4.二进制扫描文件 5.数字栅格影像 6.图形文件:如JPG、TIFF、GIF等 7.特定地理信息系统软件的栅格数据 .grd
4.2.1栅格单元的确定
1. 栅格数据的参数
(1)栅格形状。栅格单元通常为矩形或正方形。特殊的 情况下按经纬网划分。 (2)栅格单元大小。栅格单元的尺寸,即分辨率。栅格 单元的合理尺寸应能有效地逼近空间对象的分布特征, 以保证空间数据的精度。 保证最小图斑不丢失为原则
24
方法:
1. 2.
自上而下 自下而上
A
B
A A A B A A B B
A A A A A B A A B B B A B B A A A A A B A A B B B A B B
A
A
B
B
A
A
B
B
25
1)常规四叉树
记录这棵树的叶结点外,中间结点,结点之间的联 系用指针联系, 每个结点需要6个变量:
6
y
0 0 0 0 9 0 0 0 0 0 0 9 0 0 0 0 0 0 0 9 0 7 7 0 0 0 0 9 0 7 7 0
0 6 9 0 7 7 7 7 0 9 0 0 7 7 7 0 0 9 0 0 7 7 7 0
x
9 0 0 0 0 0 0 0
点、线、面数据的矢量与栅格表示
7
Representation of point, line, and area features: raster format on the left and vector format on the right.
A 占区域面积最大 的地物类型取值 适用于分类较细、 地物斑块较小地 理要素
12
c 几何偏差 5 3 ac距离: 7/4 (5) 面积: 7 (6)
c
4 a b b a 如ac距离以像元边线计算则为7,以像元个数为单位则为 4。 三角形的面积为6个平方单位,而右图中则为7个平方单位,这种 误差随像元的增大而增加。
栅格数据文件 行1 波段1 像元1…n
波段2 像元1…n …
…
波段k 像元1…n
行2
… 行m
17
.bip (band interleaved by pixel)基于像元方式
栅格数据文件 像元1,1 波段1 … 波段k 像元1,2
… 像元m,n
18
2.游程长度编码(Run-Length Encoding)
A
A
A
A
A AA
B
A
B
B B
B
B
A
A
B
B
MQ q1q2q3...qk q1 4k 1 q2 4 k2 ...qk 4 0
28
方法2(自下而上合并的方法)
1)计算二维矩阵每个元素的下标对应 的MQ M Q 2 * Ib J b 其始行列号从0计。 2) 按码的升序排成线性表,放在连续 0 的内存块中。 1 3)依次检查每四个相邻的MQ对应的属 10 性值,相同合并(不同码位去掉), 不同则存盘,直到没有能够合并的子 11 块为止。
(3)栅格原点 和国家基本比例尺地形图公里网的交点相 一致,或者和已有的栅格系统数据相一致,并同时使用 公里网的纵横坐标轴作为栅格系统的坐标轴。 (4)栅格的倾角 栅格的坐标系统与国家坐标系统平行
10
1.栅格数据的参数
格网分辨率 30 Y:行
西南角格网坐标 (XWS,YWS)
(500,500)
X:列
11
2. 栅格数据单元值确定
C
A B
重 要 性
A 位于栅格中心处 的地物类型决定 其取值。 常用于连续分布 特性的地理现象。 C 选取最重要的地 物类型为单元值。 常用于有特殊意 义而面积较小的 地理要素
源自文库
为了逼近原始数据 精度,除了采用这 几种取值方法外, 还可以采用缩小单 个栅格单元的面积, 增加栅格单元总数 的方法
0
1
10
11
A 000 A 002 A 020 A 022
A 001 B 003 A 021 A 023
A 010 B 012 B 030 B 032
A 011 B 013 B 031 B 033
29
30
4)十进制的Morton码---MD
四进制Morton码直观上符合四叉树分割,但许多语 言不支持四进制变量,需用十进制表示Morton码. 1、一种按位操作的方法: (1)行、列号转换为二进制 Ib= 1 0 Jb= 1 1 (2)I行J列交叉 1 1 0 1 = 13 (3)再化为十进制. 实质上是按左上、右上、左下、右下的顺序,从零 开始对每个栅格进行自然编码。
行程编码,将每行中具有相同属性值的连续像元映射为一 个游程,每个游程的数据结构为(A,P),A表示属性值, P代表该游程最右端的列号或个数。 属性变化越少,压缩比例越大,适合于类型区域面积较大 的栅格。 (9,4),(0,4), 9 9 9 9 0 0 0 0 (9,3),(0,5), 9 9 9 0 0 0 0 0 (0,1)(9,2),(0,1),(7,2),(0,2), 0 9 9 0 7 7 0 0 (0,4),(7,2),(0,2), 0 0 0 0 7 7 0 0 (0,4),(7,4), 0 0 0 0 7 7 7 7 0 0 0 0 7 7 7 7 (0,4),(7,4), 0 0 0 0 7 7 7 7 (0,4),(7,4), 0 0 0 0 7 7 7 7 (0,4),(7,4) 19 原始栅格数据