2010-03-16
1
栅格与矢量数据结构
STRUCTURES OF RASTER AND VECTOR DATA
GIS概论与应用 第三讲
Email:gis.ecnu@gmail.com
余柏蒗
博士/讲师
地理学系 /地理信息科学教育部重点实验室
华东师范大学
栅格与矢量数据结构
内容提要
栅格与矢量数据模型
栅格数据结构
矢量数据结构
栅格与矢量数据格式的比较 栅格与矢量数据格式的比较
参考
《第三章 空间数据模型》、《第七章 空间数据管理》—
—邬伦等编著,《地理信息系统——原理、
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
和应
用》,科学出版社,2001年第一版
栅格和矢量数据模型
栅格数据模型更适合表达连续场;矢量数据模型更适
合表达离散对象。
栅格数据模型也可用于表达离散对象;矢量数据模型
也可用于表达连续场也可用于表达连续场。
栅格数据模型和矢量数据模型可以通过一定的方法加
以转换。
栅格数据结构
栅格数据结构,是指将地球表面划分为大小均匀紧密
相邻的网格阵列,每个网格作为一个像元(或像素)
,其位置由行、列号定义,并包含一个代码表示该像
元的属性类型或量值,或仅仅包括指向其属性记录的
指针。指针
像元的大小被称为栅格数据的水平分辨率。
2010-03-16
2
栅格数据结构
栅格数据结构的特点:属性明显、定位隐含
栅格数据=栅格图像=图像(Image)
栅格数据结构
根据像元值表达的数据类型不同,可以分为专题栅格
(Thematic Raster)和影像栅格(Image Raster)
专题栅格表现地理实体的某种属性值
离散栅格(分类栅格 例如土地利用类型) 离散栅格(分类栅格,例如土地利用类型)
连续栅格(例如高程)
影像栅格主要来自航空或者卫星遥感图像,每个像元
代表目标物体的电磁波特性。
专题栅格(离散栅格) 专题栅格(连续栅格)
影像栅格(遥感图像)
栅格数据的取值方法
栅格结构的数据获取途径
人工采样
将矢量地图转换为栅格地图
扫描
遥感影像 遥感影像
栅格数据的取值方法
中心点法
面积占优法
长度占优法
重要性法
2010-03-16
3
栅格数据的取值方法——中心点法
像元中心点的实际采样
值作为该像元的值
此法常用于具有连续渐
变分布特性的要素 如变分布特性的要素,如
地形
数字高程模型(DEM)
栅格数据的编码方法
直接编码
链式编码(Chain Encoding)
游程长度编码(Run-length Encoding)
块式编码(Block Encoding)
四叉树编码(Quarter-tree Encoding)
直接编码
直接编码:将栅格数据看作是一个数据矩阵,逐行或
逐列逐个记录代码
优点:最简单、最直接;无数据丢失(无损编码)
缺点:无任何数据压缩,数据冗余严重
5,5
A,A,B,B,B
A,C,C,C,A
D,C,C,A,A
D,D,C,A,A
D,D,A,A,A
链式编码
链式编码(Chain Encoding):又称为弗里曼(
Freeman)链码或边界链码,是用从某一起点开始沿8
个方向前进的单位矢量链来表示线状地物或多边形的
边界。
单位矢量的长度为一个栅格单元的边长或对角线的长
度,后续点位于前继点的8个基本方向之一。
0 0 0 0 0 0 0 0
0 0 0 6 0 0 0 0
0 6 6 0 6 0 0 0
6 0 0 0 0 6 0 0
0 0 0 0 0 6 0 0
1 2 3 4 5 6 7 8
1 2 3 4 5
P
765
4
3 2 1
0
八个基
本方向
0 0 0 0 0 6 0 0
0 0 0 0 0 6 0 0
0 0 0 0 0 0 6 0
0 0 0 0 0 0 0 0
8×8
4 1 6
1 0 1 7 7 6 6 7
起始行列
5 6 7 8
像元值
链式编码
链式编码
优点:可以有效地压缩栅格数据,而且对于估算面积
、长度、转折方向的凹凸度等运算十分方便,是栅格
向矢量数据转换的一种方法。
缺点:对边界进行合并和插入等修改编辑工作比较困缺点:对边界进行合并和插入等修改编辑工作比较困
难,对局部的修改将改变整体结构,效率较低,而且
由于链码以每个区域为单位存储边界,相邻区域的边
界将被重复存储而产生冗余。
2010-03-16
4
游程长度编码
游程长度编码(Run-length Encoding):将原始栅格
阵列中属性值相同的连续若干个栅格单元映射为一个
游程,采用记录像元值和游程长度的方式对栅格数据
进行编码
采用记录游程长度的记录方式有两种
记录每个游程最右端栅格的列号
记录每个游程像元数
5,5
A,2,B,5
A,1,C,4,A,5
D,1,C,3,A,5
D,2,C,3,A,5
D,2,A,5
记录每个游程最右端栅格的列号
5,5
A,2,B,3
A,1,C,3,A,1
D,1,C,2,A,2
D,2,C,1,A,2
D,2,A,3
记录每个游程像元数游程长度编码
游程长度编码
优点
无损压缩
对大图斑而言数据压缩明显,适用于类型区面积较大的
专题图、分区集中的分类图、二值图等
缺点:对属性变化较大的栅格数据压缩效率不显著
块式编码
块式编码(Block Encoding):是将游程扩大到二维
情况,把多边形范围划分成若干具有同一属性的正方
形,然后对各个正方形进行编码。
块式编码的数据结构由初始位置(行列号) 半径和块式编码的数据结构由初始位置(行列号)、半径和
属性代码组成。
M M R M M M M M
M R R R R R R M
M R R R R R R MR
M M R R M R M M
M M R M M M M M
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7
M M R R M R M M
M R R R R R R M
M R R R R R R M
M R R R R R R M
M R R R R R R M
M M R R R R R M
块式编码
M R R R R R R M
M R R R R R R M
M M R R R R R M
M M M R R M M M
R
M
8 M M M R R M M M
1,1,2,M;1,3,1,R;1,4,1,M;
1,5,1,M;1,6,1,M;1,7,2,M
2,3,2,R;2,5,1,M;2,6,1,R
3,1,1,M;3,2,1,R;3,5,3,R;
3,8,1,M
4,1,1,M;4,2,3,R; 4,8,1,M
5,1,1,M;5,8,1,M
……
块式编码
优点:
无损编码
块码在合并、插入、检查延伸性、计算面积等操作时有
明显的优越性。
缺点:
块码与游程长度编码相似,随着图形复杂程度的提高而
降低效率,就是说图斑越大,压缩比越高,图斑越碎,
压缩比越低
在某些操作时,则必须把游程长度编码和块码解码,转
换为基本栅格结构进行。
2010-03-16
5
四叉树编码
四叉树编码(Quarter-tree Encoding):将整个图像区
域按四个象限逐步分解为一系列方形区域,且每一个
方形区域具有单一的属性。最小的方形区域为原始栅
格数据的一个像元。
分割过程:将欲分解区域等分为四个象限,再根据各
个象限的象元值是否单一决定要不要再分。如果单一
则不再分割,否则同法再分,直到所有象限的像元属
性值相同为止。
M M R M M M M M
M R R R R R R M
M R R R R R R MR
M M R R M R M M
1 2 3 4 5 6 7 8
1 2 3 4
M M R M M M M M
M M R R M R M M
M R R R R R R M
M R R R R R R M
M R R R R R R M
M R R R R R R M
M M R R R R R M
M M M R R M M M
R
M
四叉树编码——分割
5 6 7 8
M R R R R R R M
M R R R R R R M
M M R R R R R M
M M M R R M M M
1 2 3 4 5 6 7 8
1 2 3 4
M M R M M M M M
M M R R M R M M
M R R R R R R M
M R R R R R R M
树杈结点
叶子结点
5 6 7 8
M R R R R R R M
M R R R R R R M
M M R R R R R M
M M M R R M M M
M R M R R R M R
四叉树编码——分割
NW (0) NE (1)
SW (2) SE (3)
0层
1层
2层
0 1 2 3
20 21 22
23
000……001011000011
属性编码
22位
路径
2n位
深度
4位四叉树编码
3层
200 201 202 203 230 231 232 233
四叉树编码
优点:
无损编码
是最有效的栅格数据压缩编码方法之一,绝大部分图形
操作和运算都可以直接在四叉树结构上实现,既压缩了
数据量,又可大大提高图形操作的效率。
缺点:编码过程相对复杂
影像数据的压缩
小波变换(Wavelet Transformation)
分形压缩编码( Fractal Image Compression Encoding
)
MrSID( Multi-resolution Seamless Image Database )
JPEG( Joint Photographic Experts Group )
2010-03-16
6
矢量数据模型
矢量数据结构是通过记录地理空间实体坐标的方式精
确地表示点、线、面等实体的空间位置和形状。
(矢量数据采用一系列x-y位置来存储信息)
矢量数据 属性隐含 定位明显矢量数据:属性隐含,定位明显
矢量型数据结构按其是否明确表示地理实体之间的空
间相互关系可分为实体型和拓扑型两大类
Arc/Node
线的端点(起点、终点)称为节点(Node)
组成线的其它点称为顶点或拐点(Vertex)
节点与节点之间的线称为弧段(Arc)
V2
V1
V7
节点:V1,V4,V6,V9 ,
V13
顶点:其它点
弧段:L1,L2,L3,L4,
L5,L6,L7
多边形:P1,P2,P3,
P4
P1
P2
P3
P4L5
L4
L3
L2
L1
L6
L7
V6
V5 V4
V3
V10
V9
V11
V8
V17
V16
V15
V13
V12
V14
实体型数据结构
点:(x, y)
线: (x1, y1)……(xn, yn)
多边形: (x1, y1)……(xn, yn), (x1, y1)
优点:结构简单、直观,编码容易
缺点:
相邻多边形的公共边存储两次,产生数据冗余和不一致
实体互相独立,缺乏联系;无法表示拓扑关系
不能表示岛、洞等复杂图形
索引编码
索引编码对所有多边形边界点的坐标按顺序建立点坐
标文件,然后再建立多边形-弧段索引文件、弧段-点
索引文件。
优点 虽然增加了两个索引文件 但是所有点坐标只优点:虽然增加了两个索引文件,但是所有点坐标只
存储一次,减少数据冗余,提高数据文件访问速度
缺点:拓扑关系仍不明显,不能处理“岛”或“洞”
点号 坐标
V1 x1, y1
V2 x2, y2
V3 x3, y3
V4 x4, y4
V5 x5, y5
… …
点坐标文件
P1
P2
P3
P4L5
L4
L3
L1
L6
L7
V6
V2
V1
V10
V9
V11
V8
V7
V17
V16
V15
V13
V12
V14
… …
V16 x16, y16
弧段-点索引文件
弧段号 点数 点号(按顺序)
L1 4 V1, V2, V3, V4
… … …
多边形号 弧段数 弧段号(按顺序)
P1 4 L1, L3, L6, L7
… … …
多边形-弧段索引文件
索引编码
L2V5 V4
V3
拓扑型数据结构
拓扑数据结构由弧段坐标文件、节点文件、弧段文件
和多边形文件等一系列含拓扑关系的数据文件组成。
弧段坐标文件:存储V2
V1
V7
组成弧段的点坐标
P1
P2
P3
P4L5
L4
L3
L2
L1
L6
L7
V6
V5 V4
V3
V10
V9
V11
V8
V17
V16
V15
V13
V12
V14 弧段号 坐标串
L1 x1, y1, x2, y2 x3, y3 x4, y4
L2 x4, y4, x5, y5, x6, y6
… …
L7 x13, y13, x14, y14, x15, y15,
x16, y16
2010-03-16
7
拓扑型数据结构 节点文件:存储每个
节点的节点号、坐标
、及与该节点连接的
弧段号P1P3
P4L5
L4
L3
L1
L6
L7
V6
V2
V1
V10
V9
V
V8
V7
V13 V14
节点号 坐标 弧段
V1 x1, y1 L1, L4, L6
弧段文件:存储弧段
的起止节点号和左右
多边形号
P2
45 L3
L2V5 V4
V3
V11 V17
V16
V15V12
V4 x4, y4 L1, L2, L3
… … …
V13 x13, y13 L7
弧段号 起点 终点 左多边形 右多边形
L1 V1 V4 P0 P1
L2 V4 V6 P0 P2
… … …
L7 V13 V13 P1 P4
拓扑型数据结构
多边形文件:存储多边形
号、组成多边形的弧段号
及其它多边形属性(周长
、中心点坐标等)
P1P3
PL
L4
L1
L6
L7
V6
V2
V1
V10
V9V8
V7
V13 V14
P2
P4L5 L3
L2V5 V4
V3
V11 V17
V16
V15V12
多边形号 弧段号 …
P1 L1, L3, L6, -L7 …
P2 L2, L3, L5 …
P3 L4, L5, L6 …
P4 L7 …
拓扑数据结构可以存储“岛”或“洞”等复杂图形;
并能够较好反映图形之间的空间关系。
栅格与矢量数据格式的比较
优点 缺点
矢量 1.数据结构紧凑、冗余度低 1.数据结构复杂矢量
数据 2.有利于网络和检索分析3.图形显示质量好、精度高
2.多边形叠加分析比较
困难
栅格
数据
1.数据结构简单
2.便于空间分析和地表模拟
3.现势性较强
1.数据量大
2.投影转换比较复杂
延伸阅读
《第七章 空间数据管理》4.2 相互转换算
法——邬伦等编著,《地理信息系统——
原理、方法和应用》,科学出版社,2001
年第一版(p151)
张超主编,《地理信息系统实习教程》,
高等教育出版社,2000年第一版
第三章:空间数据结构