地理信息系统空间数据结构.docx
《地理信息系统空间数据结构.docx》由会员分享,可在线阅读,更多相关《地理信息系统空间数据结构.docx(61页珍藏版)》请在冰豆网上搜索。
地理信息系统空间数据结构
第二章地理信息系统空间数据结构
2.1 地理空间数据及其特征
【学时安排】
1 学时
【目的要求】
1、掌握地理信息系统的数据类型;
2、理解地理信息系统的数据来源;
3、掌握空间数据的特点。
【重点难点】
地理信息系统的数据类型与特征。
【教学方法与手段】
示例式教学方法,多媒体教学手段。
一、GIS 空间数据的来源与类型
空间数据是 GIS 的核心,也有人称它是 GIS 的血液,因为 GIS 的操作对象是空间数据,
因此设计和使用 GIS 的第一步工作就是根据系统的功能,获取所需要的空间数据,并创建
空间数据库。
1、地理数据的来源
GIS 中的数据来源和数据类型繁多,概括起来主要有以下几种来源:
⑴地图数据。
来源于各种类型的普通地图和专题地图,这些地图的内容丰富,图上实
体间的空间关系直观,实体的类别或属性清晰,实测地形图还具有很高的精度,是地理信
息的主要载体,同时也是地理信息系统最重要的信息源。
⑵影像数据。
主要来源于卫星遥感和航空遥感,包括多平台、多层面、多种传感器、
多时相、多光谱、多角度和多种分辨率的遥感影像数据,构成多源海量数据,也是 GIS 的
最有效的数据源之一。
⑶地形数据。
来源于地形等高线图的数字化,已建立的数字高程模型(DEM)和其他实
测的地形数据等。
⑷属性数据。
来源于各类调查报告、实测数据、文献资料、解译信息等。
⑸元数据。
来源于由各类纯数据通过调查、推理、分析和总结得到的有关数据的数据,
例如数据来源、数据权属、数据产生的时间、数据精度、数据分辨率、源数据比例尺、数
据转换方法等。
2、空间数据的类型
空间数据根据表示对象的不同,又具体分为七种类型(图 2-1),它们各表示的具体内
容如下:
(1)类型数据。
例如考古地点、道路线、土壤类型的分布等。
(2)面域数据。
例如随机多边形的中心点,行政区域界线、行政单元等。
(3)网络数据。
例如道路交点、街道、街区等。
(4)样本数据。
例如气象站、航线、野外样方分布区等。
(5)曲面数据。
例如高程点、等高线、等值区域等。
(6)文本数据。
例如地名、河流名称、区域名称等。
(7)符号数据。
例如点状符号、线状符号、面状符号(晕线)等。
地理数据
定位数据
非定位数据
x,y 坐标
拓扑关系
变量
级别
数值
名称
点
线面
格
网网络
土壤
1.
土厚
砂
1.1
1.2
1.3
细
中
粗
所有这些不同类型的数据都可以分为点、线、面三种不同的图形,并可以分别采用
x、y 平面坐标,地理经纬度 λ 、ϕ ,或者格网法表示。
二、空间数据的基本特征
要完整地描述空间实体或现象的状态,一般需要同时有空间数据和属性数据。
如果要
描述空间实体或的变化,则还需记录空间实体或现象在某一个时间的状态。
所以,一般认
为空间数据具有三个基本特征(图 2-2):
1、空间特征 表示现象的空间位置或现在所处的地理位置。
空间特征又称为几何特征
或定位特征,一般以坐标数据表示。
图 2-1 空间数据的类型和表示方法
(据 Jack Dangermond,1984)
2、属性特征表示现象的特征,例如
图 2-2 空间数据的基本特征
变量、分类、数量特征和名称等等。
3、时间特征 指现象或物体随时间的变化。
位置数据和属性数据相对于时间来说,常常呈相互独立的变化,即在不同的时间,空
间位置不变,但是属性类型可能已经发生变化,或者相反。
因此,空间数据的管理是十分
复杂的。
有效的空间数据管理要求位置数据和非位置数据互相作为单独的变量存放,并分别采
用不同的软件来处理这两类数据。
这种数据组织方法,对于随时间而变化的数据,具有更
大的灵活性。
2.2 空间数据结构的类型
【学时安排】
9 学时
【目的要求】
1、掌握拓扑数据结构;
2、掌握拓扑关系的类型;
3、理解拓扑关系的意义;
4、掌握栅格数据的表示及压缩方法;
5、理解栅格模型与矢量模型的优缺点。
【重点难点】
栅格数据结构及压缩方法;拓扑数据结构。
【教学方法与手段】
示例式、启发式教学方法,多媒体教学手段。
对现实世界的数据表达可以采用矢量数据模型和栅格数据模型。
那么,一旦数据模型
确定,必须选择和该模型对应的数据结构来组织实体的数据,最后是选择适合于记录该数
据结构的文件模式。
数据结构一般分为基于矢量模型的数据结构
和基于栅格模型的数据结构(如图 2-3)。
按照
传统的观念,矢量和栅格似乎是两类完全不同性
质的数据结构。
矢量数据是面向地物的结构,即
对于每一个具体的目标都直接赋有位置和属性信
息以及目标之间的拓扑关系说明。
但是矢量数据
仅有一些离数点的坐标,在空间表达方面它没有
直接建立位置与地物的关系,如多边形的中间区
域是“洞”或“岛”,其间的任何一点并没有与
某个地物发生联系。
与此相反,栅格数据是面向
图 2-3 栅格数据结构与矢量数据结构
位置的结构,平面空间上的任何一点都直接联系到某一个或某一类地物。
但对于某一个具
体的目标又没有直接聚集所有信息,只能通过遍历栅格矩阵逐一寻找,它也不能完整地建
立地物之间的拓扑关系。
因而,从概念上形成了基于矢量和基于栅格两种类型的系统,分
别用于不同的目的。
目前,为了设计一种系统能用于多种目的,正在研制一种一体化的数
据结构,该数据结构具有矢量和栅格两种结构的特性,称为矢量栅格一体化的数据结构。
以下分别介绍上述三种不同类型的数据结构。
一、矢量数据结构
基于矢量模型的数据结构简称为矢量数据结构。
矢量也叫向量,数学上称“具有大小
和方向的量”为向量。
在计算机图形中,相邻两结点间的弧段长度表示大小,弧段两端点
的顺序表示方向,因此弧段也是一个直观的矢量。
矢量数据结构是通过记录坐标的方式来表示点、线、面等地理实体空间分布的一种数
据组织方式。
这种数据组织方式定位明显,属性隐含,能最好地逼近地理实体的空间分布
特征,数据精度高,数据存储的冗余度低,便于进行地理实体的网络分析,但对于多层空
间数据的叠合分析比较困难。
矢量数据结构的获取方法主要有:
手工数字化法、手扶跟踪
数字化法、数据结构转换法。
矢量数据结构分为以下几种主要类型:
一)简单数据结构
在简单数据结构中,空间数据按照以基本的空间对象(点、线或多边形)为单元进行单独
组织,不含有拓扑关系数据,最典型的是面条(Spaghetti)结构。
这种数据结构的主要特点是:
(1)数据按点、线或多边形为单元进行组织,数据编排直观,数字化操作简单。
(2)每个多边形都以闭合线段存储,多边形的公共边界被数字化两次和存储两次,造成
数据冗余和不一致。
(3)点、线和多边形有各自的坐标数据,但没有拓扑数据,互相之间不关联。
(4)岛只作为一个单个图形,没有与外界多边形的联系。
二)拓扑数据结构
1、拓扑的基本概念
拓扑数据结构包括 DIME(对偶独立地图编码法)、POLYVRT(多边形转换器)、TICER(地
理编码和参照系统的拓扑集成)等。
它们共同的特点是:
点是相互独立的,点连成线,线构
成面。
每条线始于起始结点(FN),止于终止结点(TN),并与左右多边形(LP 和 RP)相邻接。
构成多边形的线又称为链段或弧段,两条以上的弧段相交的点称为结点,由一条弧段组成
的多边形称为岛,多边形图中不含岛的多边形称为简单多边形,表示单连通区域;含岛区
的多边形称为复合多边形,表示复连通区域。
在复连通区域中,包括有外边界和内边界,
岛区多边形看作是复连通区域的内边界,复连通区域的内边界多边形对应的区域含有平面
上的无穷远点。
一幅地图要传输地理要素的有关区域信息,包括位置信息、属性信息和空间信息。
表
示要素之间的临接关系和包含关系,在地图上借助图形来识别和解释,在计算机中按拓扑
结构加以定义。
拓扑结构是明确定义空间结构关系的一种数学方法;在 GIS 中,用于空间
数据的组织、分析和应用在 GIS 中。
为了真实反映地物,不仅包括实体的大小、形状及属
性,而且要反映出实体之间的相互关系。
例如:
自然与行政的分区,各种空间类型的分布
及交通网等,都存在结点、弧段和多边形之间的拓扑关系。
该数据结构的基本元素如图 2-
4 所示:
N1,N2,N3,N4,N5 为结点;a1,a2,a3,a4,a5,a6,a7 为弧段(链段);
P1,P2,P3,P4 为面(多边形)。
在这种数据结构中,弧段或链段是数据组织的基本对象。
弧段文件由弧段记录组成,
每个弧段记录包括弧段标识码、FN、TN、LP 和 RP。
结点文件由结点记录组成,包括每个结
点的结点号、结点坐标及与该结点连接的弧段标识码等。
多边形文件由多边形记录组成,
包括多边形标识码、组成该多边形的弧段标识码以及相关属性等。
2、空间数据的拓扑关系
空间数据拓扑关系的表示方法主要有下述几种:
表 2-1 多边形与弧段的拓扑关联表
⑴拓扑关联性。
表示空间图形中不同类元素之间的拓
扑关系。
如结点、弧段及多边形之间的拓扑关系。
如图
2-4 所示的图形,具有多边形和弧段之间的关联性:
P1/
a1,a5,a6 ;P2/ a2,a4,a6 等,也有弧段和结点之间的关联
性:
N1/ a1,a3,a5;N2/ a1,a6,a2 等。
即从图形的关联性
出发,图 2-4 可用表 2-1,表 2-2,所示的关联表来表
示。
用关联表来表示图的优点是每条弧段所包含的坐标点
只需存储一次,如果不考虑它们之间的关联性而以每个多
多边形号 弧段号
P1 a1,a5,a6
P2 a2,a4,a5
P3 a3,a4,a6
P4 a7
边形的全部封闭弧段的坐标点来存储数据,不仅数据量大,还无法反应空间关系。
(2)拓扑邻接性。
拓扑邻接性表示图形中同表 2-2 弧段与结点的拓扑关联表
类元素之间的拓扑关系。
如多边形之间的邻接性、
弧段之间的邻接性以及结点之间的邻接性(连通
性)。
由于弧段的走向是有方向的,因此,通常
用弧段的左右多边形来表示并求出多边形的邻接
性,如图 2-4 用弧段的左右多边形表示时,得
到表 2-3a。
显然,同一弧段的左右多边形必然
邻接,从而得到如表 2-3b 所示的邻接矩阵表,
表中值为 1 处,所对应多边形邻接。
根据表 2-3b
整理得到多边形邻接性表,如表 2-3c。
弧段号 起点 终点 坐标点
a1 N2 N1
a2 N3 N2
a3 N1 N3
a4 N4 N3
a5 N4 N2
a6 N1 N4
a7 N5 N5
N2
a1
N1
P1 P3
a5 N4
a4
P2
N5
P4
a7
a3
a2
N3
图 2-4 拓扑数据结构
表 2-3 多边形之间的邻接性
P1P2P3P4
P1-110
P21-10
P311-1
b
弧段号 左多边形 右多边形
a1 - P1
a2 - P2
P4001-
邻接多边形
P1P2 P3
a3 - P3
a4 P3 P2
a5 P2 P1
a6 P3 P1
a
P2P1 P3
c
a7 P4 P3
P3P1 P2 P4
P4P3
同理,从图 2-4 可以得到如表 2-4 所示的弧段和结点之间的关系表。
由于同一弧段
上两个结点必相通,同一结点上的各弧段必相邻,所以分别得弧段之间邻接矩阵和结点之
间连通性矩阵如表 2-5,表 2-6 所示。
表 2-4 弧段和结点之间的关系表
弧段起点终点
a1N2N1
a2N3N2
a3N1N3
a4N4N3
a5N4N2
a6N1N4
a7N5N5
结点 弧段
N1 a1,a3,a6
N2 a1,a2,a5
N3 a2,a3,a4
N4 a4,a5,a6
N5 a7
表 2-5弧段之间的邻接性
弧段a1a2a3a4a5a6a7
a1-110110
a21-11100
a311-1010
a4011-110
a51101-10
a610111-0
a7000000-
表 2-6结点之间的连通性
结点N1N2N3N4N5
N1-1110
N21-110
N311-10
N4111―0
N50000-
(3)拓扑包含性。
拓扑包含性是表示空间图形中,面状实体所包含的其他面状实体或线
状、点状实体的关系。
面状实体中包含面状实体的情况又分三种,即:
简单包含、多层包含
和等价包含。
如图 2-5 所示。
图 2-5 面状实体之间的包含关系
图 2-5a 中多边形 P1 包含多边形 P2;图 2-5b 中多边形 P3 包含在多边形 P2 中,而多边
形 P2、P3 又包含在多边形 P1 中;图 2-5c 中多边形 P2、P3 都包含在多边形 P1 中,多边
形 P2、 P3 对 P1 而言是等价包含。
3、拓扑关系的意义
空间数据的拓扑关系,对地理信息系统的数据处理和空间分析,具有重要的意义,因为:
(1)根据拓扑关系,不需要利用坐标或距离,可以确定一种地理实体相对于另一种地理
实体的空间位置关系。
因为拓扑数据已经清楚地反映出地理实体之间的逻辑结构关系,而
且这种拓扑数据较之几何数据有更大的稳定性,即它不随地图投影而变化。
(2)利用拓扑数据有利于空间要素的查询。
例如应答像某区域与哪些区域邻接;某条河
流能为哪些政区的居民提供水源;与某一湖泊邻接的土地利用类型有哪些;特别是野生生
物学家可能想确定一块与湖泊相邻的土地覆盖区,用于对生物栖息环境作出评价等等,都
需要利用拓扑数据。
(3)可以利用拓扑数据作为工具,重建地理实体。
例如建立封闭多边形,实现道路的选
取,进行最佳路径的计算等等。
三)矢量数据结构编码的方法
1、点实体
点实体包括由单独一对 x,y 坐标定位的一切地理或制图实体。
在矢量数据结构中,除
点实体的 x,y 坐标外还应存储其它一些与点实体有关的数据来描述点实体的类型、制图符
号和显示要求等。
点是空间上不可再分的地理实体,可以是具体的也可以是抽象的,如地
物点、文本位置点或线段网络的结点等,如果点是一个与其它信息无关的符号,则记录时
应包括符号类型、大小、方向等有关信息;如果点是文本实体,记录的数据应包括字符大
小、字体、排列方式、比例、方向以及与其它非图形属性的联系方式等信息。
对其它类型
的点实体也应做相应的处理。
图 2—6 说明了点实体的矢量数据结构的一种组织方式。
2、线实体
线实体可以定义为直线元素组成的各种线性要素,直线元素由两对以上的 x,y 坐标定
义。
最简单的线实体只存储它的起止点坐标、属性、显示符等有关数据。
例如,线实体输
出时可能用实线或虚线描绘,这类信息属符号信息,它说明线实体的输出方式。
虽然线实
体并不是以虚线存储,仍可用虚线输出。
弧、链是 n 个坐标对的集合,这些坐标可以描述任何连续而又复杂的曲线。
组成曲线
的线元素越短,x,y 坐标数量越多,就越逼近于一条复杂曲线,既要节省存储空间,又要
求较为精确地描绘曲线,唯一的办法是增加数据处理工作量。
亦即在线实体的纪录中加入
一个指示字,当起动显示程序时,这个指示字告诉程序:
需要数学内插函数(例如样条函数)加
密数据点且与原来的点匹配。
于是能在输出设备上得到较精确的曲线。
不过,数据内插工
作却增加了。
弧和链的存储记录中也要加入线的符号类型等信息。
线的网络结构。
简单的线或链携带彼此互相连接的空间信息,而这种连接信息又是供
点实体
唯一识别符
类型
简单点
文字说明
结点
序列号
x,y 坐标
有关的属性
如果是简单点
符号
比例尺
方向
如果是文字说明
字符大小
方向
字体
排列
如果是结点
符号
指针
与线相交的角度
其它有关的属性
图 2-6 点实体的矢量数据结构
排水网和道路网分析中必不可少的信息。
因此要在数据结构中建立指针系统才能让计算机
在复杂的线网结构中逐线跟踪每一条线。
指针的建立要以结点为基础。
如建立水网中每条
支流之间连接关系时必须使用这种指针系统。
指针系统包括结点指向线的指针。
每条从结
点出发的线汇于结点处的角度等,从而完整地定义线网络的拓扑关系。
如上所述,线实体主要用来表示线状地物(公路、水系、山脊线)、符号线和多边形边
界,有时也称为“弧”、“链”、“串”等,其矢量编码包括的内容如图 2-7 所示。
其中唯一
标识是系统排列序号:
线标识码可以标识线的类型;起始点和终止点可以用点号或直接用
坐标表示;显示信息是显示线的文本或符号等;与线相联的非几何属性可以直接存储于线
文件中,也可单独存储,而由标识码联接查找。
3、面实体
多边形(有时称为区域)数据是描述地理空间信息的最重要的一类数据。
在区域实体中,
具有名称属性和分类属性的,多用多边形表示,如行政区、土地类型、植被分布等;具有
标量属性的有时也用等值线描述(如地形、降雨量等)。
多边形矢量编码,不但要表示位置和属性,更重要的是能表达区域的拓扑特征,如形
状、邻域和层次结构等,以便使这些基本的空间单元可以作为专题图的资料进行显示和操
作,由于要表达的信息十分丰富,基于多边形的运算多而复杂,因此多边形矢量编码比点
和线实体的矢量编码要复杂得多,也更为重要。
线实体
唯一标识码
线标识码
起始点
终止点
坐标对序列
显示信息
非几何属性
图 2-7 线实体矢量编码的基本内容
面实体编码主要有多边形环路法、树状索引法、双重独立式、链状双重独立式。
1、多边形环路法
由多边形边界的 x,y 坐标队集合及说明信息组成。
如图 2-8 编码为:
Ⅲ
5
11
2
1
P1
Ⅰ
Ⅱ
6
12
13
P3
Ⅴ
14
10
Ⅳ
9
P2
15
7
图 2-8 面实体矢量数据结构
8
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
2、 树状索引法
树状索引法数据结构采用树状索引以减少数据冗余并间接增加邻域信息,具体方法是
对所有边界点进行数字化,将坐标对以顺序方式存储,由点索引与边界线号相联系,以线
索引与各多边形相联系,形成树状索引结构。
树状索引结构消除了相邻多边形边界的数据冗余和不一致的问题,在简化过于复杂的
边界线或合并多边形时可不必改造索引表,邻域信息和岛状信息可以通过对多边形文件的
线索引处理得到,但是比较繁琐,因而给邻域函数运算、消除无用边、处理岛状信息以及
检查拓扑关系等带来一定的困难,而且两个编码表都要以人工方式建立,工作量大且容易
出错。
此外,这种数据结构除了通过线文件生成面文件外,还需要点文件,这里不在列出。
111213
10
31
30
29
28
27
14
15
1
24 25 26
16
23
2
9
8
7
17
22
21
6
20
3
4
5
18 19
图 2-9 多边形原始数据
图 2-10、2-11 分别为图 2-9 的多边形文件和线文件树状索引图。
BCDE
abcfgh j
e f i b c i
图 2-10 线与多边形之间的树状索引
图 2-11 点与线之间的树状索引
3、双重独立式
这种数据结构最早是由美国人口统计局研
制来进行人口普查分析和制图的,简称为
DIME(Dual lndependent Map Encoding)系统或
双重独立式的地图编码法。
它以城市街道为
编码的主体。
其特点是采用了拓扑编码结构。
双重独立式数据结构是对图上网状或面
c
1
b
2
n
a
A
9
i
8
C
10 m
k
l
h
11
O
7
状要素的任何一条线段,用其两端的节点及
3
B
j
12
g
相邻面域来予以定义。
例如对图 2-12 所示
的多边形数据,用双重独立数据结构表示如
d
4
e
f
表 2-8 所示:
表中的第一行表示线段 a 的方向是从节
图 2-12 多边形原始数据
点 1 到节点 8,其左侧面域为 O,右侧面域为
A。
在双重独立式数据结构中,节点与节点或
者面域与面域之间为邻接关系,节点与线段或者面域与线段之间为关联关系。
这种邻接和
关联的关系称为拓朴关系。
利用这种拓朴关系来组织数据,可以有效地进行数据存储正确
性检查,同时便于对数据进行更新和检索。
因为在这种数据结构中,当编码数据经过计算
机编辑处理以后,面域单元的第一个始节点
表 2-8 双重独立式(DIME)编码
线号左多边形右多边形起点终点
aOA18
bOA21
cOB32
dOB43
eOB54
fOC65
gOC76
hOC87
iCA89
jCB95
kCD1210
lCD1112
mCD1011
nBA92
应当和最后一个终节点相一致,而且当按照左侧面域或右侧面域来自动建立一个指定的区
域单元时,其空间点的坐标应当自行闭合。
如果不能自行闭合,或者出现多余的线段,则
表示数据存储或编码有错,这样就达到数据自动编辑的目的。
例如,从上表中寻找右多边
形为 A 的记录,则可以得到组成 A 多边形的线及结点如表 2-9,通过这种方法可以自动
形成面文件,并可以检查线文件数据的正确性。
表 2-9 自动生成的多边形 A 的线及结点
线号起点终点左多边形右多边形
a18OA
i89CA
n92BA
b21OA
此外,这种数据结构除了通过线文件生成面文件外,还需要点文件,这里不在列出。
4、链状双重独立式
链状双重独立式数据结构是 DIME 数据结构的一种改进。
在 DIME 中,一条边只能用
直线两端点的序号及相邻的面域来表示,而在链状数据结构中,将若干直线段合为一个弧
段(或链段),每个弧