2010-5-15 西北大学城市与资源学系 谢元礼 1
第三章 空间数据结构
2010-5-15 西北大学城市与资源学系 谢元礼 2
数据结构即指数据组织的形式,是适
合于计算机存储、管理和处理的数据逻辑
结构。对空间数据则是地理实体的空间排
列方式和相互关系的抽象描述。
在地理系统中描述地理要素和地理现
象的空间数据,主要包括空间位置、拓朴
关系和属性三个方面的内容。
2010-5-15 西北大学城市与资源学系 谢元礼 3
?空间数据结构
?网格数据结构 (显式表示 )
?矢量数据结构 (隐式表示 )
2010-5-15 西北大学城市与资源学系 谢元礼 4
显式描述
显式表示:就是栅格中的一系列
像元 (点 ),为使计算机认识这
些像元描述的是某一物体而不
是其它物体 。
注:, c”不一定用 c的形式,而
可以用颜色、符号、数字、灰
度值来显示。
则得到椅子的简单数据结构为:
椅子的属性 —— 符号/颜
色 —— 像元 x
2010-5-15 西北大学城市与资源学系 谢元礼 5
隐式表示
隐式表示:由一系列定义了始点
和终点的线及某种连接关系来
描述,线的始点和终点坐标定
义为一条表示椅子形式的矢量,
线之间的指示字,告诉计算机
怎样把这些矢量连接在一起形
成椅子,隐式表示的数据为:
椅子的属性 —— 一系列矢
量 —— 连接关系
2010-5-15 西北大学城市与资源学系 谢元礼 6
栅格数据结构
栅格数据,栅格数据结构实际就是像元阵列,每个像
元由行列确定它的位置。由于栅格结构是按一定
的规则排列的,所表示的实体位置很容易隐含在
网络文件的存储结构中,且行列坐标可以很容易
地转为其它坐标系下的坐标。在网络文件中每个
代码本身明确地代表了实体的属性或属性的编码。
栅格数据结构就是像元阵列,每个像元的行列号确
定位置,用像元值表示空间对象的类型、等级等特征。
每个栅格单元只能存在一个值。
( a)三角形 ( b) 菱形 ( c) 六边形
2010-5-15 西北大学城市与资源学系 谢元礼 7

线

对于栅格数据结构
?点:为一个像

?线:在一定方
向上连接成串
的相邻像元集
合。
?面:聚集在一
起的相邻像元
集合。
2010-5-15 西北大学城市与资源学系 谢元礼 8
栅格数据结构,坐标系与描述参数
Y:列
X:行
西南角格网坐标
( XWS,YWS)
格网分辨率
2010-5-15 西北大学城市与资源学系 谢元礼 9
栅格数据单元值确定
C
A
B







A
连续分布地理要素
C
具有特殊意义
的较小地物
A
分类较细、
地物斑块较小
AB
为了逼近原始数据
精度,除了采用这
几种取值方法外,
还可以采用缩小单
个栅格单元的面积,
增加栅格单元总数
的方法
2010-5-15 西北大学城市与资源学系 谢元礼 10
栅格数据压缩存储的编码方法
A AAA
A RAA
A RAA
A RAA
R AAA
A AAA
A AGG
A AGG
G GGG
G AGG
G AGG
A AAA
A ARA
A AAR
A AAR
R AAA
1 432 5 876
1
2
3
4
5
6
7
8
0
1
2
3
4
5
6 7
起点行列号,单位矢量
R,(1,5),3,2,2,3,3,2,3
链式编码
游程长度编码 逐行编码数据结构, 行号,属性,重复次数
1,A,4,R,1,A,4
块状编码 正方形区域为记录单元数据结构, 初始位置,半径,属性
(1,1,3,A),(1,5,1,R),(1,6,2,A),…
NE SWNW SE
G
GGGAGGAAGAAA
四叉树编码
2010-5-15 西北大学城市与资源学系 谢元礼 11
栅格矩阵( Raster Matrix)
Raster数据是二维表面上地理数据的离散量化值,
每一层的 pixel值组成像元阵列(即二维数组),
其中行、列号表示它的位置。
例如影像,A A A A
A B B B
A A B B
A A A B
在计算机内是一个 4*4阶的矩阵。但在外部设备
上,通常是以左上角开始逐行逐列存贮。如上例
存贮顺序为,A A A A A B B B A A B B A A A B
当每个像元都有唯一一个属性值时,一层内的编
码就需要 m行 × n列 × 3(x,y和属性编码值 )个存储
单元。数字地面模型就属此种情况。
2010-5-15 西北大学城市与资源学系 谢元礼 12
链式编码 (ChainCodes)
又称为弗里曼链码 (Freeman)或
边界链码。
基本方向可定义为:东= 0,东
南= l,南二 2,西南= 3,西
= 4,西北= 5,北= 6,东北
= 7等八个基本方向。如果再
确定原点为像元 (10,1),则
该多边形边界按顺时针方向
的链式编码为:
10,l,7,0,1,0,7,1,7,
0,0,2,3,2,2,1,0,7,
0,0,0,0,2,4,3,4,4,
3,4,4,5,4,5,4,5,4,
5,4,6,6。
2010-5-15 西北大学城市与资源学系 谢元礼 13
游程长度编码 (Run— LengthCodes)
游程长度编码是按行帧
序存储多边形内的各
个像元的列号,即在
某行上从左至右存储
属该多边形的始末像
元的列号。
问:对左图的进行游程
长度编码 。
2010-5-15 西北大学城市与资源学系 谢元礼 14
块式编码 (BlockCodes)
块式编码是将游程长度编码扩大到二维的情况,把多边形范
围划分成由像元组成的正方形,然后对各个正方形进行编码。
如图:
块式编码的数据结构由初始
位置 (行号,列号 )和半径,
再加上记录单元的代码组成。
根据这一编码原则,上述多
边形只需 17个单位正方形。
9个 4单位的正方形和 1个 16
单位的正方形就能完整表示,
总共要 57个数据,其中 27对
坐标,3个块的半径。
2010-5-15 西北大学城市与资源学系 谢元礼 15
四叉树编码 (Quadtree Encoding)
四叉树编码又称为四分树、四元树编码。它是一种更有效地压编
数据的方法。它将 2n× 2n像元阵列连续进行 4等分,一直分到
正方形的大小正好与象元的大小相等为止(如下图),而块
状结构则用四叉树描述,习惯上称为四叉树编码 。
99 99 00 00
99 09 00 00
90 09 77 00
00 00 77 00
00 00 77 77
00 00 77 77
00 00 77 77
00 00 77 7 7
9 999 0 00
0 000999
990 07
07000
000 7 7
7 7770 000
0 00 7 777
7 7770 000
77
0
07
07
0
0
0
0
0
0 7
0 0 7 09
9 9 9 0 0 9 0 0 9 00 0
NW NE SW SE
2010-5-15 西北大学城市与资源学系 谢元礼 16
八叉树编码
八叉树结构就是将空间
区域不断地分解为八
个同样大小的子区域
(即将一个六面的立方
体再分解为八个相同
大小的小立方体 ),
同 — 区域的属性相同。
八叉树主要用来解决
地理信息系统中的三
维问题。
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 2 0 0 3 0 1 2 0 1 3 1 0 2 1 0 3 1 1 2 1 1 3
0 2 0 0 2 1 0 3 0 0 3 1 1 2 0 1 2 1 1 3 0 1 3 1
0 2 2 0 2 3 0 3 2 0 3 3 1 2 2 1 2 3 1 3 2 1 3 3
2 0 0 2 0 1 2 1 0 2 1 1 3 0 0 3 0 1 3 1 0 3 1 1
2 0 2 2 0 3 2 1 2 2 1 3 3 0 2 3 0 3 3 1 2 3 1 3
2 2 0 2 2 1 2 3 0 2 3 1 3 2 0 3 2 1 3 3 0 3 3 1
2 2 2 2 2 3 2 3 2 2 3 3 3 2 2 3 2 3 3 3 2 3 3 3
4 4 4 4 5 4 5 5 4 5 5 5
5 4 1
4 0 5 5 0 5 5 1 5
4 0 0 4 1 5 5 0 0 5 1 0
0 4 4 0 5 4
0 4 0 0 4 1 0 5 0 0 5 1 1 4 0 1 4 1 1 5 0 1 5 1
0 0 4 0 0 5 0 1 4 0 1 5 1 0 4 1 0 5 0 0 4 0 0 5
0 1
2 3
7
4 5
0
1
2
3
4
5
6
7
1
2
3
4
5
6
7
I(X )
K

Z

J

Y

2010-5-15 西北大学城市与资源学系 谢元礼 17
栅格数据组织
2010-5-15 西北大学城市与资源学系 谢元礼 18
栅格数据组织
栅格数据文件
像元 1 X坐标
Y坐标
层 2属性值
层 1属性值

层 n属性值

像元 2
像元 n
栅格数据文件
层 1 像元 1
层 2

X,Y,属性值
像元 2 X,Y,属性值
… …
像元 n X,Y,属性值
层 n
栅格数据文件
层 1 多边形 1
层 2

属性值
像元 1坐标

多边形 N
像元 n坐标
层 n
2010-5-15 西北大学城市与资源学系 谢元礼 19
栅格数据结构特点
? 离散的量化栅格值表
示空间对象
? 位置隐含,属性明显
? 数据结构简单,易于遥
感数据结合,但数据量

? 几何和属性偏差
? 面向位置的数据结构,
难以建立空间对象之
间的关系
2010-5-15 西北大学城市与资源学系 谢元礼 20
a b
c
3
4
5
a b
c
ac距离, 7/4 (5)
面积, 7 (6)
几何偏差
属性偏差
如以像元边线计算则为 7,以像元为单金大会则为 4。
三角形的面积为 6个平方单位,而右图中则为 7个平方单位,这种误
差随像元的增大而增加。
2010-5-15 西北大学城市与资源学系 谢元礼 21
矢量数据结构
?矢量数据结构 是通过记录坐标的方式,尽可
能地将点、线、面地理实体表现得精确无误。
其坐标空间假定为连续空间,不必象栅格数
据结构那样进行量化处理。因此矢量数据能
更精确地定义位置、长度和大小。
? 除数学上的精确坐标假设外,矢量数据存
储是以 隐式关系 以最小的存储空间存储复杂
的数据。
2010-5-15 西北大学城市与资源学系 谢元礼 22
矢量数据结构编码的基本内容
矢量数据结构通过记录空间对象的坐标及空间关
系来表达空间对象的位置。
?点:空间的一个坐标点;
?线:多个点组成的弧段;
?面:多个弧段组成的封闭多边形;
2010-5-15 西北大学城市与资源学系 谢元礼 23
矢量数据结构编码的基本内容
标识码 属性码
空间对象编码
唯一
连接空间和属性数据
数据库 独立编码
点, ( x,y )
线, ( x1,y1 ),(x2,y2 ),…,( xn,yn )
面, ( x1,y1 ),(x2,y2 ),…,( x1,y1 )
点位字典
点, 点号文件
线, 点号串
面, 点号串
点号 X Y
1 11 22
2 33 44
… … …
n 55 66
存储方法
2010-5-15 西北大学城市与资源学系 谢元礼 24



方向
字体
排列
指针
与线相交的角度
如果是简单点
符号
符号
字符大小
简单点
文字说明
结点
唯一识别符
比例尺
方向
x, y 坐标
其它有关的属性
点实体
类型
序列号
有关的属性
如果是文字说明
如果是结点
2010-5-15 西北大学城市与资源学系 谢元礼 25
线


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


体 多边形矢量编码,不但要表示位置和
属性,更重要的是
能表达区域的 拓扑
特征,如形状、邻
域和层次结构等,
以便使这些基本的
空间单元可以作为
专题图的资料进行
显示和操作。
2010-5-15 西北大学城市与资源学系 谢元礼 26
简单的矢量数据结构 — 面条结构(实体式)
只记录空间对象的位置坐标和属性信息,不记录拓扑关系。
? 存储:
?独立存储:空间对象位置直接跟随空间对象;
?点位字典:点坐标独立存储,线、面由点号组成
? 特征
? 无拓扑关系,主要用于显示、输出及一般查询
? 公共边重复存储,存在数据冗余,难以保证数据独立性和一致性
? 多边形分解和合并不易进行,邻域处理较复杂;
? 处理嵌套多边形比较麻烦
? 适用范围:
制图及一般查询,不适合复杂的空间分析
2010-5-15 西北大学城市与资源学系 谢元礼 27
简单的矢量数据结构 — 面条结构(实体式)
1
2
3
4
5
6
7
89
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2930
31
多边形 数据项
A
(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,
y5),(x6,y6),(x7,y7),(x8,y8),(x9,y9),(x1,y1)
B (x1,y1),(x9,y9),(x8,y8),(x17,y17),
(x16,y16),(x15,y15),(x14,y14),(x13,y13),
(x12,y12),(x11,y11),(x10,y10),(x1,y1)
C
(x24,y24),(x25,y25),(x26,y26),(x27,y2
7),(x28,y28),(x29,y29),(x30,y30),(x31,y31),
(x24,y24)
D
(x19,y19),(x20,y20),(x21,y21),(x22,y2
2),(x23,y23),(x15,y15),(x16,y16),(x19,y19)
E
(x5,y5),(x18,y18),(x19,y19),(x16,y16)
,(x17,y17),(x8,y8),(x7,y7),(x6,y6),(x5,y5)
2010-5-15 西北大学城市与资源学系 谢元礼 28



B C D E
a b c f g h e f i b c ij
1
2
3
4
5
6
7
89
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
线与多边形之间的树状索引
点与多边形之间的树状索引
2010-5-15 西北大学城市与资源学系 谢元礼 29
双重独立式 DIME(Dual lndependent
Map Encoding)
A
B
C
D
O
a
b
c
d
e
f
g
h
i
j
k
l
m
n
1
2
3
4
5
6
7
8
9
10
11
12
线号 左多边形 右多边形 起点 终点
a O A 1 8
b O A 2 1
c O B 3 2
d O B 4 3
e O B 5 4
f O C 6 5
g O C 7 6
h O C 8 7
i C A 8 9
j C B 9 5
k C D 12 10
l C D 11 12
m C D 10 11
n B A 9 2
这种数据结构除了通过线文
件生成面文件外,还需要点
文件
2010-5-15 西北大学城市与资源学系 谢元礼 30
链状双重独立式
链状双重独立式数据结构是 DIME数据结构的
一种改进。在 DIME中,一条边只能用直线
两端点的序号及相邻的面域来表示,而在
链状数据结构中,将若干直线段合为一个
弧段(或链段),每个弧段可以有许多中
间点。
在链状双重独立数据结构中,主要有四个文
件:多边形文件、弧段文件、弧段坐标文
件、结点文件。
2010-5-15 西北大学城市与资源学系 谢元礼 31
弧段文件
弧段号 起始点 终结点 左多边形 右多边形
a 5 1 O A
b 8 5 E A
c 16 8 E B
d 19 5 O E
e 15 19 O D
f 15 16 D B
g 1 15 O B
h 8 1 A B
i 16 19 D E
j 31 31 B C
弧段坐标文件
弧段号 点 号
a 5,4,3,2,1
b 8,7,6,5
c 16,17,8
d 19,18,5
e 15,23,22,21,20,19
f 15,16,
g 1,10,11,12,13,14,15
h 8,9,1
i 16,19
j 31,30,29,28,27,26,25,24,31
链状双重独立式
1
2
3
4
5
6
7
89
10
11
12
13
14
15
16
17
18
19
20
21
22
2324
25
26
27
28
2930
31
多边形文件
多边形号 弧段号 周长 面积 中心点坐

A h,b,a
B g,f,c,h,-j
C j
D e,i,f
E e,i,d,b
2010-5-15 西北大学城市与资源学系 谢元礼 32
矢量数据结构的属性数据表达
?属性特征类型
– 类别特征:是什么
– 说明信息:同类目标的不同特征
?属性特征表达
– 类别特征:类型编码
– 说明信息:属性数据结构和表格
?属性表的内容取决于用户
?图形数据和属性数据的连接通过目标识别
符或内部记 录号实现。
2010-5-15 西北大学城市与资源学系 谢元礼 33
矢量数据结构的属性数据表达
点状
对象
目标标识
目标标识
地物编码 坐 标 关联的线目标
精度控制点等级 测量单位测量年限
线状
对象
目标标识
目标标识
地物编码 坐 标串 起点、终点、左面、右面
路面材料等级 修建时间宽度 管养单位 ……
……
面状
对象
目标标识
目标标识
地物编码 边界目标号
建筑日期所有者 建筑面积建筑单位 结构 ……




地物编码 地物名称 制图颜色几何类型 制图符号编码 属性表明
地物类型特征与制图属性
2010-5-15 西北大学城市与资源学系 谢元礼 34
矢量数据结构的特点
? 用离散的点描述空间对象与特征,定位明显,属性
隐含
? 用拓扑关系描述空间对象之间的关系
? 面向目标操作,精度高,数据冗余度小
? 与遥感等图象数据难以结合
? 输出图形质量号,精度高
2010-5-15 西北大学城市与资源学系 谢元礼 35
第三节 两种数据结构的比较与转换
矢量数据
优点,
?表示地理数据的精度较高
?严密的数据结构,数据量小
?完整的描述空间关系
?图形输出精确美观
?图形数据和属性数据的恢复、
更新、综合都能实现
?面向目标,不仅能表达属性,
而且能方便的记录每个目标
的具体属性信息
缺点:
?数据结构复杂
?矢量叠置较为复杂
?数学模拟比较困难
?技术复杂,特别是软硬件
栅格数据
优点,
?数据结构简单
?空间数据的叠置和组合方便
?各类空间分析很易于进行
?数学模拟方便
缺点:
?图形数据量大
?用大像元减少数据量时,精
度和信息量受损
?地图输出不美观
?难以建立网络连接关系
?投影变换比较费时
2010-5-15 西北大学城市与资源学系 谢元礼 36
数据结构选择原则
?要素还是位置?
?可获取的数据
?定位要素的必要精度
?需要什么类型的要素
?需要什么类型的拓扑关联
?所需空间分析类型
?生产地图类型
2010-5-15 西北大学城市与资源学系 谢元礼 37
矢量数据向栅格数据转换
? 点的变换
Y
X
O
J
I
y
x
( 0,0 )
X
m i n
X
m a x
Y
m i n
2010-5-15 西北大学城市与资源学系 谢元礼 38
矢量数据向栅格数据转换
?矢量线段的变换
( x,y )
22
( x,y )
11
( x,y )
2010-5-15 西北大学城市与资源学系 谢元礼 39
矢量数据向栅格数据转换
? 多边形数据的转换 (边界代数算法、内部点扩散
法、射线算法)
a
b
c
d
e
f
1
0
00
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
01
0
0
1
0
0
0
1
0
0
0
1
0
0
0
000
100
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
000
100
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
111
011
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
000
111
1
1
1
1
1
1
0
2010-5-15 西北大学城市与资源学系 谢元礼 40
矢量数据向栅格数据转换
边界代数算法
2010-5-15 西北大学城市与资源学系 谢元礼 41
栅格数据向矢量数据转换
?二值化
5
9
10
1 4 1
1 3 8
9
5
3
1
0
2
2 4 5
1 5 6
7 3
1 4 4
1 7 8
1 3 2
2 3
7
3
2 1 2
5
6
8
2 9
11
2 1 4
1 6 7
5
1 2 4
1 1 0
7
6
5
4
7
1 3 3
5
1 9 2
3 5 0
1 1 0
1 3 5
6
4
7
2 4 4
1 2
2
5
12
1 3 5
2 0 1
1 6 6
1 2 7
1 5 5
9
1
1
9
4
8
21
12
2 1 1
4 3
5
0
2010-5-15 西北大学城市与资源学系 谢元礼 42
栅格数据向矢量数据转换
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
28 29 30 31 32 33 34 35 3624 25 26 2719 20 21 22 23
46 47 48 49 50 5142 43 44 4537 38 39 40 41
2010-5-15 西北大学城市与资源学系 谢元礼 43
栅格数据向矢量数据转换
?跟踪
2010-5-15 西北大学城市与资源学系 谢元礼 44
思考与练习
? 空间实体可抽象为哪几种基本类型?它们在矢量
数据结构和栅格数据结构分别是如何表示的?
? 叙述四种栅格数据存储的压缩编码方法。
? 试写出矢量和栅格数据结构的模式,并列表比较
其优缺点。
? 叙述由矢量数据向栅格数据的转换的方法。
? 叙述由栅格数据向矢量数据的转换的方法。
? 简述栅格到矢量数据转换细化处理的两种基本方
法。