地理数据结构及其文件组织
学习目标
·理解地理空间信息的概念
·掌握地理空间信息的描述方法
·理解地理数据分类描述的方法
·理解和掌握地理空间数据的拓扑关系
·掌握栅格和矢量数据结构及其编码方法
·了解栅格与矢量数据之间的转化方法
重点,地理空间数据的拓扑关系、两种空间数据结构
的特点及其编码方法。
难 点,拓扑结构、栅格数据编码
地理数据结构及其文件组织
地理空间信息及其描述
地理空间数据类型
地理信息的空间关系
地理信息空间数据结构
地理信息数据的编码方法
矢量结构与栅格结构的相互转换
一、地理空间信息
? 1.地理空间( Geographic Space)是指物质、能量、
信息的形式与形态、结构过程、功能关系上的分布
方式和格局及其在时间上的延续。
? 2.地理信息
地理信息是一个时空过程,它存在于一定物质、能
量载体,并能从一种载体向另一种载体进行转移,
从而形成所谓的信息流。按照认知关系可将地理信
息载体化分为地理主体和地理对象两种。
二、地理空间信息的描述
? 是建立在地理空间坐标系基础上的
? 地理坐标 (经度、纬度)是描述地理空间信息最直接
的方法。
? 平面直角坐标系 (X,Y)建立了对地理空间良好的视觉
感,并易于进行距离、方向、面积等空间参数的量算,
以及进一步的空间数据处理和分析。
? 地理信息系统中的地理空间,通常就是指经过投影
变换后放在笛卡儿坐标中的地球表层特征空间,它的
理论基础在于旋转椭球体和地图投影变换。
三、地理数据的分类描述
? 定名( Nominol)量
? 顺序( Ordinal)量
? 间隔( Interval)量
? 比率( Ratio)量
定性而非定量地对众多地理事物
进行区分和标识。如北京、天津、
石家庄等;长江、黄河、鸭绿江
等;白洋淀、洪泽湖和太湖等
通过排序来区分和标识地理现象
的量称为顺序量。它是按照地理
数据的等级序列,由低到高(或
由高到低)进一步细分的
利用某种标准单位(可以是任意
的)作为间隔量来表示不同的量,
是一种较精确区分和标识地理现
象的测量方法。
比率量是间隔量的精确化。它提
供的定量值是具有真零值而且测
量单位的间隔是相等的数据
第二节 地理空间数据类型
? 地理数据的基本特征
? 地理数据的来源
? 地理空间数据类型
一、地理数据的基本特征
? 空间特征
表 示实体的空间位置或现在所处的地理位置。空间特
征又称定位特征或几何特征,一般用坐标数据表示。
? 属性特征
表示实体的特征。如名称、分类、质量特征和数量特
征等。
? 时间特征
描 述实体随时间的变化,其变化的周期有超短周期的、
短期的、中期的和长期的。
二、地理数据的来源
? 地图数据
地图是地理信息的主要载体,同时也是地理信息系统
最重要得信息源
? 遥感数据
各种遥感数据及其制成的图像资料(航片、卫片)包
含着及其丰富的地理内容,尤其是先进的卫星遥感技
术的广泛应用,能为地理信息系统提供源源不断的、
现势性很强的数据
? 统计数据、实测数据及各种文字报告
各种地理要素的统计数据、实验和各种观测数据、研
究报告等
三、地理空间数据的类型
1,类型数据,居民点、交通线、土地类型分布等。
2,面域数据,多边形中心点、行政区域界限和行政单元
3,网络数据,道路交叉点、街道和街区等。
4,样本数据,气象站、航线和野外样方的分布区等。
5,曲面数据,高程点、等高线和等值区域。
6,文本数据,如地名、河流名和区域名称。
7,符号数据,点状符号、线状符号和面状符号等。
第三节 地理信息的空间关系
? 地理空间数据的拓扑关系
? 地理空间信息的方向关系
? 地理空间信息的度量关系
一, 地理空间数据的拓扑关系
拓扑结构 是明确定义空间结构关系的一种数学方
法。 在 GIS中,它不但用于空间数据的组织,而且
在空间分析和应用中都有非常重要的意义。
1.地理空间数据的拓扑关系
2.地理空间数据拓扑关系应用价值
3.地理空间数据拓扑关系的表示
拓扑邻接,元素之间的拓扑关系。
拓扑关联,元素之间的拓扑关系 。
拓扑包含,元素之间的拓扑关系。
1、地理空间数据的拓扑关系
不 同 类
同 类
同类不同级
N1е
1
е2
е5
е6
е4
е7
е3P
1
P3
P2
P4
N4
N3
N5
N2
拓扑邻接,N1/N2,N1/N3,N1/N4 ;P1/P3 ;P2/P3
拓扑关联,N1/е1,е3, е6 ; P1/е1,е5, е6
拓扑包含,P3与 P4
2.地理空间数据拓扑关系应用价值
( 1)确定地理实体间的相对空间位置,无需坐标
和距离
( 2)利于空间要素查询
( 3)重建地理实体
3.地理空间数据
拓扑关系的表示
结点集合
结点名 指 针
第一个离开弧段 第一个到达弧段
坐标
N1 e3 e1 x1,y1
N2 e1 e2 x2,y2
N3 e2 e3 x3,y3
е1
е2
е5
е6
е4
е7
е3P
1
P3
P2
P4
N4
N3
N5
N2
顺时针第一弧段 逆时针第一弧段
指 针 属性
P0 e5 t0
P1 e1 t1
P2 e2 e5 t2
多边
形名
P3 e3 e4 t3
е1
е2
е5
е6
е4
е7
е3P
1
P3
P2
P4
N4
N3
N5
N2
3.地理空间数据
拓扑关系的表示
多边形集合



e1 N2 N1 P1 P0 e6 e2 s1
e2 N3 N2 e5 P2 P0 e4 e3 s2
e3 N1 N3 e6 e4 P3 P0 s3
e4 N4 N3 e5 e3 P2 P3 e2 e6 s4






离开始结
点的下一
条弧段
到达终结点
的下一条弧

右多
边形
左多
边形
右多边形顺
时针下一条
弧段
左多边形
逆时针下
一条弧段



е1
е2
е5
е6
е4
е7
е3P
1
P3
P2
P4
N4
N3
N5
N2
3.地理空间数据
拓扑关系的表示
弧段集合
二、地理空间信息的方向关系
? 方向关系:地理事物在空间中的相互方位和排列顺序。
? 描述空间实体的方向关系,对于点状空间实体只要计算两
点之间的连线与某一基准方向的夹角即可,该夹角称为连
线的方位角。基准方向通常有真子午线方向、磁子午线方
向和坐标纵线方向三种。
? 同样计算点状和线状空间实体、点状和面状空间实体时,
只需将线状和面状空间实体视为由它们的中心所形成的点
状实体,然后按点状实体来求解方向关系即可。
三、地理空间信息的度量关系
? 度量空间关系主要是指空间对象之间的距离关系。
? 这种距离关系可以定量地描述为特定空间中的某种
距离,如 A实体距离 B实体 100m。也可以应用与距
离概念相关的术语,如远近等进行定性的描述。
第四节 地理信息空间数据结构
? 空间数据结构
? 矢量数据结构
? 栅格数据结构
? 栅格结构与矢量结构的比较
常用的空间数据结构
X
Y
i
j
x1 y1
x2 y2
xi yi
xn yn
矢量数据结构
矢量结构是通过记录坐标的方式来表示点
,线, 面等地理实体 。
特点,定位明显, 属性隐含 。
获取方法:
(1) 手工数字化法;
(2) 手扶跟踪数字化法;
(3) 数据结构转换法 。
栅格数据结构
栅格结构是以规则的阵列来表示空间地物
或现象分布的数据组织, 组织中的每个数据表
示地理要素的非几何属性特征 。
特点,属性明显, 定位隐含 。
获取方法:
(1) 手工网格法;
(2) 扫描数字化法;
(3) 分类影像输入法;
(4) 数据结构转换法 。
8 8 8 8
8 8 8 8
8 8 8 8
8 8 8 88
8 8 8
8 8 8 8
8 8 8
8 8 8
8
8
8
8
8
8
8
8
8
8
8 8 8
8
8
1
1
1
1
1
1
1
1
1
1
1
1
1
122
22 2
2
2
2
2 2
2
3 2
2
A
.O
B
C
中心点

重要性

长度占优法
面积占优法
栅格结构数据中混合像元的处理
方案一
方案二,缩小栅格单元的面积
比较内容 矢 量 结 构 栅 格 结 构
数据结构 复杂 简单
数据量 小 大
图形精度 高 低
图形运算、搜索 复杂、高效 简单、低效
软件与硬件技术 不一致 一致或接近
遥感影像格式 要求比较高 不高
图形输出 显示质量好、精度高,
但 成本比较高
输出方法快速,质量
低,成本比较低廉
数据共享 不易实现 容易实现
拓扑和网络分析 容易实现 不易实现
矢量结构与栅格结构的比较
第五节 地理数据的编码方法
编码的概念和意义
栅格结构编码方法
矢量结构编码方法
属性数据编码方法
第三节 地理数据的编码方法
地理数据编码, 是根据 GIS的目的和任务, 把
地图, 图像等资料按一定数据结构转换为适于计算
机存贮和处理的数据过程 。 地理内容的编码要反映
出地理实体的几何特征, 以及地理实体的属性特征,
空间数据的编码是地理信息系统设计中最重要的技
术步骤, 它表现由现实世界到数据世界之间的界面,
是联结从现实世界到数据世界的纽带 。
一、编码的概念和意义
链码 (chain Encoding)
直接栅格编码
游程长编码 (Run_length Encoding)
块 码
四叉树编码 (quarter_tree Encoding)








1、直接栅格编码
直接编码就是将栅格数据看作一个数据矩阵, 逐行 ( 或逐列 )
逐个记录代码, 可以每行从左到右逐像元记录, 也可奇数行从左
到右而偶数行由右向左记录, 为了特定的目的还可采用其他特殊
的顺序 。
0 2 2 5 5 5 5 5
2 2 2 2 2 5 5 5
0 0 0 0 0 3 3 3
2 2 2 2 3 3 5 5
0 0 2 3 3 3 5 5
0 0 3 3 3 3 5 3
0 0 0 3 3 3 3 3
0 0 0 0 3 3 3 3
0,2,2,5,5,5,5,5;
2,2,2,2,2,5,5,5;
2,2,2,2,3,3,5,5;
0,0,2,3,3,3,5,5;
0,0,3,3,3,3,5,3;
0,0,0,3,3,3,3,3;
0,0,0,0,3,3,3,3;
0,0,0,0,0,3,3,3。
由起点位置和一系列在基本方向的单位矢量给出每
个后续点相对其前继点的可能的 8个基本方向之一表
示 。 8个基本方向自 0° 开始按逆时针方向代码分别
为 0,1,2,3,4,5,6,7。 单位矢量的长度默认
为一个栅格单元 。
2、链码
123
4
5
0
76 0 0 1 0 7 6 7 0 1 1 0 0
链码编码,
2,2, 6, 7,6,0,6,5
123
4
5
0
76
0 5 0 0 0 0 0 0
0 0 5 0 0 0 0 0
0 0 0 0 0 0 0 0
0 5 0 0 0 0 0 0
0 0 5 5 0 0 0 0
0 0 0 5 0 0 0 0
0 0 5 0 0 0 0 0
0 0 0 0 0 0 0 0
链码编码示例
3、游程长度编码
(1)只在各行 ( 或列 ) 数据的代码发生变化时依次记录
该代码以及相同代码重复的个数;
0 2 2 5 5 5 5 5
2 2 2 2 2 5 5 5
0 0 0 0 0 3 3 3
2 2 2 2 3 3 5 5
0 0 2 3 3 3 5 5
0 0 3 3 3 3 5 3
0 0 0 3 3 3 3 3
0 0 0 0 3 3 3 3
沿行方向进行编码, ( 0,1),
( 2,2),( 5,5);( 2,5),
( 5,3);( 2,4),( 3,2),
( 5,2);( 0,2),( 2,1),
( 3,3),( 5,2);( 0,2),
( 3,4),( 5,1),( 3,1);
( 0,3),( 3,5);( 0,4),
( 3,4);( 0,5),( 3,3)。
3、游程长度编码
逐个记录各行 ( 或列 ) 代码发生变化的位置和相应代码 。
0 2 2 5 5 5 5 5
2 2 2 2 2 5 5 5
0 0 0 0 0 3 3 3
2 2 2 2 3 3 5 5
0 0 2 3 3 3 5 5
0 0 3 3 3 3 5 3
0 0 0 3 3 3 3 3
0 0 0 0 3 3 3 3
沿列方向进行编码, ( 1,0),
( 2,2),( 4,0);( 1,2),
( 4,0);( 1,2),( 5,3),
( 6,0);( 1,5),( 2,2),
( 4,3),( 7,0);( 1,5),
( 2,2),( 3,3),( 8,0);
( 1,5),( 3,3);( 1,5),
( 6,3);( 1,5),( 5,3)。
4、块码
采用方形区域作为记录单元, 数据编码由初始位置行列
号加上半径, 再加上记录单元的代码组成 。
0 2 2 5 5 5 5 5
2 2 2 2 2 5 5 5
0 0 0 0 0 3 3 3
2 2 2 2 3 3 5 5
0 0 2 3 3 3 5 5
0 0 3 3 3 3 5 3
0 0 0 3 3 3 3 3
0 0 0 0 3 3 3 3
( 1,1,1,0),( 1,2,2,2),
( 1,4,1,5),( 1,5,1,5),
( 1,6,2,5),( 1,8,1,5);
( 2,1,1,2),( 2,4,1,2),
( 2,5,1,2),( 2,8,1,5);
( 3,3,1,2),( 3,4,1,2),
( 3,5,2,3),( 3,7,2,5);
( 4,1,2,0),( 4,3,1,2),
( 4,4,1,3);( 5,3,1,3),
( 5,4,2,3),( 5,6,1,3),
( 5,7,1,5),( 5,8,1,3);
( 6,1,3,0),( 6,6,3,3);
( 7,4,1,0),( 7,5,1,3);
( 8,4,1,0),( 8,5,1,0)。
5、四叉树编码
是根据栅格数据二维空间分布的特点, 将空间区域按照
4个象限进行递归分割 ( 2n× 2 n,且 n>1), 直到子象限的数
值单调为止, 最后得到一棵四分叉的倒向树 。 四叉树分解,
各子象限大小不完全一样, 但都是同代码栅格单元组成的子
块, 其中最上面的一个结点叫做根结点, 它对应于整个图形 。
不能再分的结点称为叶子结点, 可能落在不同的层上, 该结
点代表子象限单一的代码, 所有叶子结点所代表的方形区域
覆盖了整个图形 。 从上到下, 从左到右为叶子结点编号, 最
下面的一排数字表示各子区的代码 。
为了保证四叉树分解能不断的进行下去, 要求图形必须
为 2n× 2 n的栅格阵列 。 n 为极限分割次数, n+ 1是四叉树最
大层数或最大高度
0 2 2 5 5 5 5 5
2 2 2 2 2 5 5 5
0 0 0 0 0 3 3 3
2 2 2 2 3 3 5 5
0 0 2 3 3 3 5 5
0 0 3 3 3 3 5 3
0 0 0 3 3 3 3 3
0 0 0 0 3 3 3 3
① ② ③
④ ⑤ ⑥⑦⑧⑨⑩ 11
12 13
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39
34 35 40
0 0 0
0 3 3 3 0 3 3 3 3 3 5 3 0 0 2 2 2 3 2 2 2 2 0 2 2 2 2 5 2 5 5 5
3 3 3 5 5
西南 东南 西北 东北
0 0 0 … 0 0 0 0 1 1 0 1 0 0 1 1
22位 6位 4位
直接栅格编码,简单直观,是压缩编码方法的逻辑原
型(栅格文件);
链码,压缩效率较高,以接近矢量结构,对边界的运
算比较方便,但不具有区域性质,区域运算较难;
游程长度编码,在很大程度上压缩数据,又最大限度
的保留了原始栅格结构,编码解码十分容易,十分适
合于微机地理信息系统采用;
块码和四叉树编码,具有区域性质,又具有可变的分
辨率,有较高的压缩效率,四叉树编码可以直接进行
大量图形图象运算,效率较高,是很有前途的编码方
法。
矢量结构编码方法
1、点实体矢量编码方法
2、线实体矢量编码方法
3、多边形矢量编码方法
点实体编码
比例
朝向
线指针
线交汇编
比例
朝向
字体
文句
x,y 坐标
其它非几何属性
建立和显示数据库联系的属性
简单点 —— 符号
文本点 —— 字符
结 点 —— 符号
统一标识
类别或系列号
点类型
简单点
文本点
结 点
线实体编码
唯一标示码
线标示码
起始点
终止点
坐标对序列
显示信息
非几何属性
多边形矢量编码
多边形环路法
树状索引编码法
拓扑结构编码法
由多边形边界的 x,y
坐标队集合及说明
信息组成
对所有边界点数字化,将坐
标对以顺序方式存储,由点
索引与边界线号相联系,以
线索引与各多边形相联系
形成完整的
拓扑结构
多边形环路法




Ⅴ1
2
3
4 5
6
7 8
9
10
11
12
13
14
15
P1
P2
P3
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
树状索引法

Ⅱ Ⅲ
Ⅳ1
2
3 4 5
6
7 8
9
10
11
12
13
14
15
P1
P2
P3
Ⅰ Ⅱ
P1 P3P
2
Ⅱ Ⅲ Ⅳ
1 2 3 4 5 6 5 6 5 6 7 8 9 10 12 13 14 15
Ⅰ Ⅱ Ⅲ Ⅳ

Ⅱ Ⅲ
Ⅳ1
2
3 4 5
6
7 8
9
10
11
12
13
14
15
P1
P2
P3
点文件
点号 坐标
1 x1,y1
2 x2,y2
15 x15,y15
……
树状索引法

Ⅱ Ⅲ
Ⅳ1
2
3 4 5
6
7 8
9
10
11
12
13
14
15
P1
P2
P3
1 2 3 4 5 6 5 6 5 6 7 8 9 10 12 13 14 15
Ⅰ Ⅱ Ⅲ Ⅳ
线号 起点 终点 点号
Ⅰ 6 5 6,1,2,3,4,5
Ⅱ 5 6 5,6
Ⅲ 6 5 6,7,8,9,10,11,5
Ⅳ 12 13 12,15,14,13
树状索引法

Ⅱ Ⅲ
Ⅳ1
2
3 4 5
6
7 8
9
10
11
12
13
14
15
P1
P2
P3
多边形文件
多边形号 边界线号
1 Ⅰ, Ⅱ
2 Ⅱ, Ⅲ
3 Ⅳ
Ⅰ Ⅱ
P1 P3P
2
Ⅱ Ⅲ Ⅳ
树状索引法
拓扑结构编码法
唯一标示
多边形标示
外包多边形指针
邻接多边形指针
边界链接
范围
较好的解决了空间关
系查询等问题,但增
加了算法的复杂度
四、属性数据编码方法
1.编码内容
( 1)登录部分
( 2)分类部分
( 3)控制部分
2.编码原则
( 1)管理效率高
( 2)适用性好
( 3)接口方便
第六节 矢量结构与栅格结构的相互转换
? 矢量数据结构向栅格数据结构的转换
? 栅格数据结构向矢量数据结构的转换
一、矢量数据结构向栅格数据结构的转换
? 矢量数据转换成栅格数据后,图形的几何精度必然要降
低,所以选择栅格尺寸的大小要尽量满足精度要求,使
之不过多地损失地理信息。为了提高精度,栅格需要细
化,但栅格细化,数据量将以平方指数递增,因此,精
度和数据量是确定栅格大小的最重要的影响因素。
? 栅格尺寸确定
①计算若干个小图斑的面积 S( i= 1,2,…, n);
②求小图斑面积平均值=;
③求栅格尺寸 L=() 1/2。
一、矢量数据结构向栅格数据结构的转换
? 点的栅格化
? ?
? ???
?
??
??
xp
yp
DxJ
DyI
/1
/1
一、矢量数据结构向栅格数据结构的转换
? 直线栅格化
直线插补法
扫描线法
? ?
? ???
?
??
??
xp
yp
DxJ
DyI
/1
/1
一、矢量数据结构向栅格数据结构的转换
? 面域的栅格化
直线插补法
扫描线法
二、栅格数据结构向矢量数据结构的转换
? 多边形边界提取
? 边界线追踪
? 拓扑关系生成
? 去除多余点及曲线圆滑
二、栅格数据结构向矢量数据结构的转换
? 多边形边界提取
二值化 细化
二、栅格数据结构向矢量数据结构的转换
? 多边形边界提取
二值化 细化
二、栅格数据结构向矢量数据结构的转换
? 边界线追踪:边界线跟踪的目的就是将写入数据文件的
细化处理后的栅格数据,整理为从结点出发的线段或闭
合的线条,并以矢量形式存储于特征栅格点中心的坐标
? 拓扑关系生成:对于矢量表示的边界弧段,判断其与原
图上各多边形空间关系,形成完整的拓扑结构,并建立
与属性数据的联系。
? 去除多余点及曲线圆滑:由于搜索是逐个栅格进行的,
必须去除由此造成的多余点记录,以减少冗余。