admin管理员组文章数量:1535871
2024年6月6日发(作者:)
万事开头难。
中国俗语
第六章 空间数据获取
导读:空间数据获取是地理信息系统建设首先要进行的任务,它可以有多种实现方
式包括数据转换、遥感数据处理以及数字测量等等,其中已有地图的数字化录入,
是目前被广泛采用的手段,也是最耗费人力资源的工作。在GIS中,录入的内容包
括空间信息和非空间信息,前者是录入的主体。目前,空间信息的录入主要有两种
方式,即手扶跟踪数字化和扫描矢量化,本章具体介绍了两种方式,以及相关的算
法,如曲线近似拟合,栅格图形细化跟踪等。
在图形数据录入完毕后,需要进行各种处理,包括坐标变换、拼接等等,其中最重
要的是建立拓扑关系。在拓扑建立过程中,需要先对各种错误修改,本章描述了各
种具体的错误情形,最后则介绍了多边形自动拓扑生成算法。
1.地图数字化
1.1概述
无论古代、现代还是将来,地图总是重要的信息形式。在计算机图形图像技术应用于地
图制作之前,各部门一般都使用纸质地图或工程图纸,纸图在查阅、计算距离和标注地名符
号等方面都是人工操作;另外不能对一幅纸地图进行修改、缩小比例和分层读图,至于地图
局部放大只能借助于放大镜,被放大的区域很小且操作不方便。
随着技术的发展,人们对地图的要求进一步提高。由于传统纸地图效率、速度和精度很
低,因此难以适应现代和未来科技发展。而通过GIS工具,可以把纸地图经过一系列处理而
转换成可以在屏幕上显示的电子化地图,可以满足人们使用地图的新的要求。为了讨论问题
方便,将矢量电子地图定义如下:
当纸地图经过计算机图形图像系统光——电转换量化为点阵数字图像,经图像处理和曲
线矢量化,或者直接进行手扶跟踪数字化后,生成可以为地理信息系统显示、修改、标注、
漫游、计算、管理和打印的矢量地图数据文件,这种与纸地图相对应的计算机数据文件称为
矢量化电子地图。这种地图工作时需要有应用软件和硬件系统的支撑。对矢量化地图的操作
是以人机交互方式,通过GIS应用软件对硬件设备的控制来实现的。
在硬件系统及相应的地理信息系统软件支持下,矢量电子地图与纸地图相比有如下优
点:
.计算距离和标注地名符号快速准确;
.可对地图局部放大、全图缩小和移动显示、漫游功能很强;
.分层显示地图(当对地图上各种信息分不同层归类存放后,则可以显示某些层,关闭
不显示的层);
.可以以图元为单位进行信息编缉修改,人机交互画线标注符号文字,删除地图上多余
的信息;
.可以通过计算机网络进行电子地图传递,提供信息共享,传递的速度快,保密性强;
.如果能有效解决地图符号自动分割和识别问题,则能实现地图的智能矢量化。这里智
能化是指自动矢量化和自动标注符号,最佳路径优化选择和自动跟踪目标等。
矢量电子地图与点阵地图图像相比有如下优点:
.相同信息量下前者的文件相对要小得多,图越复杂表现越明显;
.前者可以以图元为单位进行信息编缉修改删除,人机交互画线标注符号文字;后者只
能以像素为基本单位(如矩形图像块)进行拷贝,移动和删除,即它的编辑功能很差;
.前者可对所有图元分层显示,后者只能做到对整图某区域(矩形区)的开窗显示控制。
1.2地图数据类型
为地图自动制图目的所搜集的上述资料,要适应计算机处理的需要,必须同时考虑通过
这些资料,最后能获取各种不同性质的地图数据。
为此,可以定义地图数据是载荷地理信息的数字集合。它们应指被输入到某种计算机系
统中进行处理,必要时可重新生成人的视觉可以感受的地理信息。在这一层意义上,地图数
据可以分为:
1)空间数据(或图形数据)
空间数据是构成地图内容要素的几何图形,例如地图上的井、山峰、灯塔、河流、道路、
等值线、湖泊、森林界线和土壤类型界线等。为表示这些要素在二维平面上空间图形的定位
特征,常用一对平面直角坐标
(
X,Y
)
来表示,这种地图数据称为矢量数据;或用其通过栅
格单元的左下角坐标(行和列)来表示,称此为栅格数据。
地图要素图形大致可以分为点、线、面三种基本类型。
面——可由环绕它们的线表示;也可以由其区域内的点表示;
线——可离散化成为点的集合;
而点则能用一对平面坐标系中的坐标来确定。
在实际应用中,仅有坐标数据是不够的,必须依照不同地图要素的意义,通过特别的编
码加以区别。
2)语义数据(属性数据)
语义数据又称为非几何数据,包括定性数据和定量数据。定性数据用来描述要素的分类
或对要素进行标名。定量数据是说明要素的性质、特征或强度的,例如距离、面积、人口、
产量、收人、流速,以及温度和高程等.
对于语义数据,基本上是一个地理编码问题。以科学的分类分级系统为基础,对地理环
境中各基本实体及其联系进行编码,以便唯一地对某一系统中所有地图要素进行认别和处
理,这种功能不仅在用户环境中而且在计算机系统内也是十分重要的。
当前,要为满足各方面全部需求而建立一种通用的编码是不可能的。因此,最现实的是
研制多样性编码满足各部门的不同需要,同时兼顾符合建立数据库的规定。一般来说编码的
一些基本要求包括:
(2.1)要素类别——如地名,实体类型及等级等;
(2.2)要素特征(属性)——每一要素可具有与它有联系的大量的属性值,它承载关
于要素特征的信息;
(2.3)作用范围的描述——例如,一个区域的土壤类型;
(2.4)地理定义——在某些情况下编码可以是一个实体集合的间接参考,而集合中的
每一个实体也会被它自身的地理代码所说明,如水系、地质层的编码。
在GIS数据录入过程中,空间数据的录入更为重要,因为处理空间数据和空间信息正是
GIS的核心功能。与属性数据录入相比,空间数据录入的工作量更大,并且需要GIS软件工
具的支持(利用通用的数据库软件即可以进行属性数据录入)。
1.3数字化仪数字化
1.3.1手扶跟踪数字化
尽管手扶跟踪数字化(Manual Digitising)工作量非常繁重,但是它仍然是目前最为广
泛采用的将已有地图数字化的手段。
利用手扶跟踪数字化仪可以输入点地物、线地物以及多边形边界的坐标。其具体的输入
方式与地理信息系统软件的实现有关,另外一些GIS系统也支持用数字化仪输入非空间信
息,如等高线的高度,地物的编码数值等等。
手扶跟踪数字化仪的通讯和参数:
手扶跟踪数字化仪是通过RS-232(串口)接口与计算机进行连接的,为了能够进行正
确的数据发送和接收,需要进行通讯参数的设置,包括波特率、数据位、校验位、停止位等
等。此外,数字化仪还包括坐标原点、分辨率、采点方式、数据格式等参数。数字化仪的参
数通常可以利用数字化板上的开关和菜单确定。为了保证数据录入的正确,必须设置数字化
软件的参数与数字化仪的一致。
在进行数字化之前,首先要确定需要数字化哪些信息,在目前由于大多数GIS软件对
空间数据采用分层管理,所以要确定输入哪些图层,以及每个图层包含的具体内容。另外,
由于数字化过程不可能一次完成,在两次输入之间地图的位置可能相对于数字化板发生错
动,这样前后两次录入的坐标就会偏移或旋转。解决该问题的办法就是,在每次录入之前,
先输入至少三个定位点(Tick Marks),或称为注册点(Register Points),这些点相对于地图
的位置是固定的,这样两次输入的内容就可以根据定位点坐标之间的关系进行匹配。
通常,数字化仪采用两种数字化方式,即点方式(Point Mode)和流方式(Stream Mode),
点方式是当录入人员按下游标(Puck)的按键时,向计算机发送一个点的坐标。输入点状地物
要素时必须使用点输入方式;而线和多边形地物的录入可以使用点方式,在输入时,输入者
可以有选择地输入曲线上的采样点,而采样点必须能够反映曲线的特征。
流方式录入能够加快线或多边形地物的录入速度,在录入过程中,当录入人员沿着曲线
移动游标时,能够自动记录经过点的坐标。采用流方式录入曲线时,往往采集点的数目要多
于点方式,造成数据量过大,一个解决的方案是对记录的点进行实时采样,即尽管系统接收
到了点的坐标,但是可以根据采样原则确定是否记录该点
*
。
目前大多数系统采取两种采样原则,即距离流方式(Distance Stream)和时间流方式
(Time Stream)(图6-1)。
(a)(b)
图6-1:距离流方式和时间流方式
(a)距离流方式是当前接收的点与上一点距离超过一定阈值,才记录该点;
*
也可以在整个曲线录入完毕后,使用下面描述曲线离散化算法去掉一些非特征点。
(b)采用时间流方式时,按照一定时间间隔对接收的点进行采样。
采用时间流方式录入时,一个优点是当录入曲线比较平滑时,录入人员往往移动游标比
较快,这样记录点的数目少;而曲线比较弯曲时,游标移动较慢,记录点的数目就多。而采
用距离流方式时,容易遗漏曲线拐点,从而使曲线形状失真。所以在保证曲线的形状方面,
时间流方式要优于距离流方式。
在实际的录入过程中,可以根据不同的录入对象选择不同的录入方式。例如,当录入地
块图时,由于其边界多为直线,并且点的数据较少,可以采用点方式录入;录入交通线时,
因为要保证某些特征点位置的准确性,也可以使用点方式;而等高线的录入由于数据量大,
使用流方式可以加快录入速度。
其它的矢量数据录入方式:
尽管手扶跟踪数字化是目前最主要的矢量格式地理数据的录入手段,但是在某些场合
下,也可以采用其它的数据输入方式:
1)其它数据转换:
其它格式数据的转换包括三种情形:
(1.1)其它矢量格式数据(往往是由其它GIS软件制订)的转换;
(2.2)坐标数据,往往表现为关系数据库表的形式(表6-1);
(2.3)位置描述信息,以关系数据表形式存取,同样可以转换为不太精确的坐标数据
(表6-2)。
表6-1:测站信息表(部分)
测站编码 经度 纬度
68013344 107.2 29.8
68026785 115.5 30.2
表6-2:企业员工信息表(部分)
姓名 住址
张三 北京市海淀区
李四 河北省石家庄市
2)键盘录入:
对于数据量较小、并且已知地物精确坐标的情况下,可以采用键盘录入。此外键盘录入
也是录入属性数据的主要手段。
3)鼠标录入:
如果不愿意手扶跟踪数字化,而扫描矢量化又难以识别地物时,可以使用鼠标录入,通
常是将地图扫描后,作为底图显示在屏幕上,用鼠标参照底图进行采点。由于鼠标定位不如
数字化仪精确,所以一般用于输入一些示意图。
4)其它定点测量设备:
目前GPS已经成为流行的定位导航设备,它同样可以为GIS提供矢量格式的坐标数据。
其它的定点测量设备包括平板测图仪等,使用这些设备,最重要的是要考虑精度问题。
1.3.2曲线离散化算法
在数字化过程中,需要对曲线进行采样简化,即在曲线上取有限个点,将其变为折线,
并且能够在一定程度上保持原有的形状。下面介绍Douglas-Peucker算法(图6-2)。
1)在曲线首尾两点A
、
B之间连接一条直线段AB,该直线称为曲线的弦;
2)得到曲线上离该直线段距离最大的点C,并计算其与AB的距离d;
3)比较该距离与预先给定阈值
ε
的大小,如果小于
ε
,则将该直线段作为曲线的近似,
该段曲线处理完毕;
4)如果距离大于阈值,则用C将曲线分为两段AC和BC,并分别对两段曲线进行1-3
步的处理。
5)当所有曲线都处理完毕后,依次连接各个分割点形成的折线,即可以作为曲线的近
似。
很明显,该算法是一个递归算法。
(a)
B
(b)
d
A
C
(c)(d)
(e)
(f)
图6-2:曲线的离散算法
1.4扫描矢量化及常用算法
1.4.1扫描矢量化以及处理流程
随着计算机软件和硬件更加便宜,并且提供了更多的功能,空间数据获取成本成为GIS
项目中最主要的成分。由于手扶跟踪数字化需要大量的人工操作,使得它成为以数字为主体
的应用项目瓶颈。扫描技术的出现无疑为空间数据录入提供了有力的工具。
常见的地图扫描处理的过程如图6-3所示。由于扫描仪扫描幅面一般小于地图幅面,因
此大的纸地图需先分块扫描,然后进行相邻图对接;当显示终端分辨率及内存有限时,拼接
后的数字地图还要裁剪成若干个归一化矩形块,对每个矩形块进行矢量化(Vectorization)
处理后生成便于编辑处理的矢量地图,最后把这些矢量化的矩形图块合成为一个完整的矢量
电子地图,并进行修改、标注、计算和漫游等编辑处理。
纸地图扫描转换拼接子图块裁剪地图
矢量图编辑矢量图合成图像处理矢量化
图6-3:地图信息处理流程图
在扫描后处理中,需要进行栅格转矢量的运算,一般称为扫描矢量化过程。扫描矢量化
可以自动进行,但是扫描地图中包含多种信息,系统难以自动识别分辨(例如,在一幅地形
图中,有等高线、道路、河流等多种线地物,尽管不同地物有不同的线型、颜色,但是对于
计算机系统而言,仍然难以对它们进行自动区分),这使得完全自动矢量化的结果不那么“可
靠”,所以在实际应用中,常常采用交互跟踪矢量化,或者称为半自动矢量化。
将栅格图像转换为矢量地图一般需要以下一系列步骤[Musavi 1988]:
1)图像二值化(Threshold)
图像二值化用于从原始扫描图像计算得到黑白二值图像(Binary Image),通常将图像上
的白色区域的栅格点赋值为0;而黑色区域为1,黑色区域对应了要矢量化提取的地物,又
称为前景。
2)平滑(Smooth)
图像平滑用于去除图像中的随机噪声,通常表现为斑点。
3)细化
细化将一条线细化为只有一个像素宽,细化是矢量化过程中的重要步骤,也是矢量化的
基础。
4)链式编码
链式编码将细化后的图像转换成为点链的集合,其中每个点链对应于一条弧段。
5)矢量线提取
将每个点链转化成为一条矢量线。每条线由一系列点组成,点的数目取决于线的弯曲程
度和要求的精度。
除了上述五个步骤以外,还需要一些处理以方便图像矢量化过程,如图像拼接和剪裁等
等,下面对这些操作以及相关算法进行描述。
1.4.2图像拼接/裁剪
1)图像拼接
以两相邻地图图像的部分重叠区为基础,把它们合成为一幅整图的过程叫做图像拼接,
分上下拼接和左右拼接。以左右拼接为例,取左图右边缘一个矩形区域A,取右图左边缘一
个矩形区域B,如果A和B有一定的重叠区,可以利用计算机实现自动的匹配,其拼接算法
如下:
(1.1)由A中右侧边缘从右至左依次取若干个列L1(O),L1(1),…,L1(n),以
各列内像素灰度的长度序列为特征向量,分别求出以上各列的特征向量V1
(
O
),
V1
(
1
),
…
,
V1
(
n
)
。
(2.2)自动拼接 即由B中左侧从左至右依次取若干列L2(n),L2(n-1),…,L2(O),
以各列内像素灰度的长度序列为特征向量,分别求出以上各列的特征向量V2
(
n
):
V2
(
n-1
),
…
,
V2
(
O
)
。若向量序列[V1
(
O
);
V1
(
1
)
,
…,
V1
(
n
)]
和[V2
(
O
),
V2
(
1
),…,
V2
(
n
)]
匹配,则转向步骤4。
(2.3)人工拼接 即固定A,通过人机交互控制B以一定步长上下左右移动,直到A
和B重叠区对齐为止。
(2.4)根据步骤2匹配情况或步骤3的偏移情况对两相邻地图图像进行修正和合成。
2)图像裁剪
把一幅图像裁成两两相邻的规则图块的过程称为地图裁剪。图像裁剪非常简单,实际应
用中,可以根据不同的硬件配置确定采用和不采用图像裁剪技术。
1.4.3 图像细化预处理二值图像平滑
在将地图扫描或摄像输入时,由于线不光滑以及扫描、摄像系统分辨率的限制,使得一
些曲线目标带来多余的小分支(即毛刺噪声);此外,还有孔洞和凹陷噪声,如图6-4所示。
如果不在细化前去除这几种噪声,就会造成细化误差和失真,这样会最终影响地图跟踪和矢
量化。曲线目标越宽,提取骨架和去除轮廓所需的次数也越多,因此噪声影响也越大。
图6-4:扫描图像的“毛刺”和“凹陷孔洞”
为了去除毛刺噪声的影响,可以采用如图5所示的3×3模板进行处理。处理的过程是:
0
按点阵格式扫描图像上每一像素,只要图像相应区域与图6-5中的模板(包括其三次90旋
转所形成的模板)匹配,则判定为毛刺,对应于模板中心的像素数值变为O。根据需要可进
行多次这种匹配运算。
0 0 0
0 1 0
Ⅹ Ⅹ Ⅹ
图6-5:去毛刺模板,X为任意数值
为了去除孔洞及凹陷噪声,我们采用如图6-6所示的模板进行处理,只要图像对应区域
O
与该模板(包括其三次90旋转)匹配,则区域中心点数值变为1。
X 1 X
1 0 1
Ⅹ Ⅹ Ⅹ
图6-6:去孔洞凹陷模板
总之,通过以上两种平滑处理,基本上消除了毛刺和孔洞凹陷噪声的影响,为进一步进
行细化处理打下了基础。
1.4.4图像细化(Thinning)
细化算法对二值图像进行处理,得到细化后的图像。线细化是处理包含线状地物二值图
像的一种重要技术,在地图扫描处理中,由于地图上主要信息是不同粗细和不同形状的线,
必须首先进行线细化,以准确、有效地提取这些线信息,并进一步完成跟踪矢量化。
线细化,就是不断去除曲线上不影响连通性的轮廓像素的过程,对细化的一般要求是:
l 保证细化后曲线的连通性
l 细化结果是原曲线的中心线
l 保留细线端点
根据各种不同的应用,目前已经提出了许多线细化算法,如内接圆法、经典算法、异步算法、
快速并行算法及并行八边算法等,不同的算法在处理速度和效果上各有其特点。
下面介绍一个常用的细化算法,其它算法基本是此算法的改进。
首先介绍几个相关的概念和符号。对于二值栅格图像中每个像素点p,以及该像素直接
相邻的8个像素点(图6-7),令:
p
图6-7:像素周围的8个直接相邻像素
1)N(p)为p的邻点的数值的和;
2)图像像素联接数T(p),如果旋转着看像素周围的点,T(p)就是p周围8个点从0变
成1的次数,它反映了像素邻点的联接的块数(图6-8)。
3)p
W
,p
E
,p
S
,p
N
分别指像素左侧、右侧、下边、上边邻点的数值。
1
(a)T=0
1
1
1
1
1
(d)T=1
1
1
1
1
1
(g)T=2
1
1
1
1
1
1
1
1
1
1
1
(b)T=0
1
1
1
(e)T=2
1
1
(h)T=3
1
1
1
1
1
1
1
1
(c)T=1
1
(f)T=2
1
(i)T=4
1
1
1
1
图6-8:像素联结数
算法步骤如下[Zhang-Suen,1984]:
1:对于栅格图像中的每个点p,进行如下操作:
如果2≤N(p)≤6并且T(p)=1并且p
N
p
S
p
E
=0并且p
W
p
E
p
S
=0
则标志p点;
2:将所有被标志的栅格点赋值为0,如果没有被标志的点,则算法结束;
3:对于栅格图像中的每个点p,进行如下操作:
如果2≤N(p)≤6并且T(p)=1并且p
N
p
S
p
W
=0并且p
W
p
E
p
N
=0
则标志p点;
4:将所有被标志的栅格点赋值为0,如果没有被标志的点,则算法结束;
5:转到第一步。
图6-9显示了采用该算法细化的过程和结果。
图6-9:线状地物的细化
1.4.5链码(弗里曼码)
链码是由弗里曼(Freeman)提出的用曲线出发点坐标和线的斜率来描述二值线图形的
一种方法。图6-10(a)所示是链码的八个方向及它们的序号。图6-10(b)的细线的链码
为(3,0)21100066567,其中(3,0)为起始点坐标,之后的数值序列描述了方向。
任意一条细线都可用链码序列表示为下式:
C
=
a
1
a
2
...a
n
,
0
≤
a
i
≤
7
如果始点a1和终点an重合,则说明曲线是闭合的。
0
321
1
2
4p0
3
4
567
5
(a)(b)
图6-10:链码及其对细线的表示
(a):链码的8个方向;(b)细线
1.4.5矢量线生成
扫描矢量化的最后一步是生成矢量线,可以很方便地将链式编码的每一条链转换成为一
条矢量线。自然地,弯曲的矢量线比直线需要更多的点,这还取决于要求的精度。在矢量线
生成过程中,可以使用Douglas-Peucher算法。
目前,自动扫描矢量化还不是完全可靠的,为了提高其可靠性,需要在模式识别方面做
出更多的研究。
2.空间数据录入后的处理
2.1图形坐标变换
在地图录入完毕后,经常需要进行投影变换,得到经纬度参照系下的地图。对各种投影
进行坐标变换的原因主要是输入时地图是一种投影,而输出的地图产物是另外一种投影。进
行投影变换有两种方式,一种是利用多项式拟合,类似于图像几何纠正;另一种是直接应用
投影变换公式进行变换。
2.1.2基本坐标变换
在投影变换过程中,有以下三种基本的操作:平移、旋转和缩放。
1)平移
平移是将图形的一部分或者整体移动到笛卡尔坐标系中另外的位置(图6-11-a),其变
换公式如下:
X’=X+T
x
Y’=Y+T
y
2)缩放
缩放操作可以用于输出大小不同的图形(图6-11-b),其公式为:
X’=XS
x
Y’=YS
y
3)旋转
在地图投影变换中,经常要应用旋转操作(图6-11-c),实现旋转操作要用到三角函数,
*
假定顺时针旋转角度为θ,其公式为:
X’=Xcos
θ
+Ysin
θ
Y’=-Xsin
θ
+Ycos
θ
X
方向
Y
方向
(a)平移
*
公式同“空间参照系统和地图投影”一章的坐标旋转公式,顺时针旋转图形相当于逆时针旋转坐标系。
(b)缩放
(c)图形旋转
图6-11:图形坐标变换
2.1.2仿射变换(Affine Tranformation)
如果综合考虑图形的平移、旋转和缩放,则其坐标变换式如下:
cosθ
(X',Y')=λ
−sinθ
sinθ
X
T
X
+
cosθ
Y
T
Y
上式是一个正交变换,其更为一般的形式是:
ab
X
T
X
(X',Y')=λ
Y
+
T
cd
Y
后者被称为二维的仿射变换(Affine Transformation),仿射变换在不同的方向可以有不
同的压缩和扩张,可以将球变为椭球,将正方形变为平行四边形(图6-12)。
图6-12:仿射变换
2.2图形拼接
在对底图进行数字化以后,由于图幅比较大或者使用小型数字化仪时,难以将研究区域
的底图以整幅的形式来完成,这是需要将整个图幅划分成几部分分别输入。在所有部分都输
入完毕并进行拼接时,常常会有边界不一致的情况,需要进行边缘匹配处理(图6-13)。边
缘匹配处理,类似于下面提及的悬挂节点处理,可以由计算机自动完成,或者辅助以手工半
自动完成。
除了图幅尺寸的原因,在GIS实际应用中,由于经常要输入标准分幅的地形图,也需
要在输入后进行拼接处理,这时,一般需要先进行投影变换,通常的做法是从地形图使用的
高斯——克吕格投影转换到经纬度坐标系中,然后再进行拼接。
(a)
(b)
(c)
图6-13:图幅拼接
(a)拼接前;(b)拼接中的边缘不匹配;(c)调整后的拼接结果
2.3拓扑生成
在图形数字化——无论是手扶跟踪数字化还是扫描矢量化——完成后,对于大多数地图
需要建立拓扑,以正确判别地物之间的拓扑关系。在GIS数据管理中,拓扑关系可以定义
以下内容:
1)区域,如果多边形数据DIME数据模型,每个多边形可以用一组封闭的线
*
来表示,
而不需要记录封闭线上的所有点,避免两次记录相邻多边形的公共边界,这样减少了数据冗
*
余。
*
*
通常称为弧段
与DIME数据模型相对应的是Spaghetti多边形编码方式,该编码方式对每个多边形都依次记录其边界上
2)邻接性,另一种可以用拓扑描述的属性是多边形之间的相互邻接性。
3)连通性,连通性是指对弧段连接的判别,连通性的建立和表现是网络分析的基础。
2.3.1图形修改
在建立拓扑关系的过程中,一些在数字化输入过程中的错误需要被改正,否则,建立的
拓扑关系将不能正确地反映地物之间的关系。
ESRI定义了以下判断录入图形是否正确的六个准则,可以帮助发现拓扑错误。
1)所有录入的实体都能够表现出来;
2)没有输入额外的实体;
3)所有的实体都在正确的位置上,并且其形状和大小正确;
4)所有具有连接关系的实体都已经连上;
5)所有的多边形都有且只有一个标志点以识别它们;
6)所有的实体都在边界之内
上述的准则,特别是第五和第六条,只是针对ESRI的ARC/INFO软件而言,其它的
GIS软件由于具体实现的不同,可能会有差异。
由于地图数字化,特别是手扶跟踪数字化,是一件耗时、烦杂的人力劳动,在数字化过
程中的错误几乎是不可避免的,造成数字化错误的具体原因包括:
1)遗漏某些实体;
2)某些实体重复录入,由于地图信息是二维分布的,并且信息量一般很大,所以要准
确记录哪些实体已经录入,哪些实体尚未录入是困难的,这就容易造成重复录入和遗漏;
3)定位的不准确,数字化仪分辨率可以造成定位误差,但是人的因素是位置不准确的
主要原因,如手扶跟踪数字化过程中手的抖动,两次录入之间图纸的移动都可以使位置不准
确;更重要的,在手扶跟踪数字化过程中,难以实现完全精确的定位,例如在水系的录入中
(图6-14),将支流的终点恰好录入在干流上基本上是不可能的(图6-14-a),更常见的是图
(b)和(c)所示的两种情况。
(b)
不及
(a)
实际地物
(c)
过头
图6-14:数字化错误——不及和过头
在数字化后的地图上,错误的具体表现形式有:
1)伪节点(Pseudo Node),伪节点使一条完整的线变成两段(图15),造成伪节点的
原因常常是没有一次录入完毕一条线。
的顶点,显然公共边界被记录了两次。Spaghetti的意思是意大利细面条,用来形象的比喻这种数据结构。
伪节点
图6-15:伪节点
2)悬挂节点(Dangling Node),如果一个节点只与一条线相连接,那么该节点称为悬
挂节点,悬挂节点有多边形不封闭(图6-16-a)、不及和过头(图6-14-b,图6-14-c),节点
不重合(图6-16-b)等几种情形。
(a)多边形不封闭 (b)节点不重合
图6-16:悬挂节点的两种情形
3)“碎屑”多边形或“条带”多边形(Sliver Polygon)
条带多边形(图6-17)一般由于重复录入引起,由于前后两次录入同一条线的位置不
可能完全一致,造成了“碎屑”多边形。另外,由于用不同比例尺的地图进行数据更新,也
可能产生“碎屑”多边形。
图6-17:碎屑多边形
4)不正规的多边形(Weird Polygon)
不正规的多边形(图6-18)是由于输入线时,点的次序倒置或者位置不准确引起的。
在进行拓扑生成时,同样会产生“碎屑”多边形。
(a)
正常多边形
(b)
不正规多边形
图6-18:不正规的多边形
上述的错误,一般会在建立拓扑的过程中发现,需要进行编辑修改。一些错误,如悬挂
节点,可以在编辑的同时,由软件自动修改,通常的实现办法是设置一个“捕获距离”,当
节点之间、或者节点与线之间的距离小于此数值后,即自动连接;而另外的错误需要进行手
工编辑修改。
2.3.2建立拓扑关系
在图形修改完毕之后,就意味着可以建立正确的拓扑关系,拓扑关系可以由计算机自动
生成,目前大多数GIS软件也都提供了完善的拓扑功能;但是在某些情况下,需要对计算
机创建的拓扑关系进行手工修改,典型的例子是网络连通性。
正如拓扑的定义所描述的,建立拓扑关系时只需要关注实体之间的连接、相邻关系,而
节点的位置、弧段的具体形状等非拓扑属性则不影响拓扑的建立过程。
1)多边形拓扑关系的建立
如果使用DIME或者类似的编码模型,多边形拓扑关系的表达需要描述以下实体之间的
关系:
l 多边形的组成弧段;
l 弧段左右两侧的多边形,弧段两端的节点;
l 节点相连的弧段。
多边形拓扑的建立过程实际上就是确定上述的关系。具体的拓扑建立过程与数据结构有
关,但是其基本原理是一致的,下面简述多边形拓扑建立过程(图6-19)。
图6-19中共有4个节点,以A、B、C、D表示;6条弧段,用数字表示;以及I、II、
III三个多边形(图6-19-a)。首先定义以下概念:
l 由于弧段是有方向的,算法中将弧段A的起始节点称为首节点N
s
(A),而终止节点
为尾节点N
E
(A);
l 考虑到弧段的方向性,沿弧段前进方向,将其相邻的多边形分别定义为左多边形和
右多边形P
L
(A)和P
R
(A)。
在建立拓扑之前,首先将所有弧段的左右多边形(在实现中,可以用多边形的编码表示)
都设置为空;然后对每个节点计算与其相连弧段的在连接处的角度,并进行排序(图6-19-b)
(注意,这个排序是循环的)。建立拓扑的算法如下:
(1)得到第一条弧段A,并设置为当前弧段;
(2)判断P
L
(A)和P
R
(A)是否为空。如果都非空,转到第一步,当所有弧段处理完毕后,
算法结束;
(3)如果左多边形为空,则创建一个新的多边形P,多边形的第一条弧段为当前弧段,
并设置P
L
(A)=P,设置搜寻起始节点为N
s
(A),搜寻当前节点为N
E
(A)。如果右多边形为空,
则创建一个新的多边形P,多边形的第一条弧段为当前弧段,并设置P
R
(A)=P,设置搜寻起
始节点N
0
=N
E
(A),搜寻当前节点N
C
=N
S
(A)。
(4)判断N
0
和N
C
是否相等,如果是,则多边形所有弧段都已经找到,转到第一步。
(5)检查与当前节点相连接的、已经排列好的弧段序列,将当前弧段的下一条弧段A'
作为多边形的第二条弧段。
(6)如果N
C
=N
S
(A'),设置P
L
(A')=P,N
C
=N
E
(A);如果N
C
= N
E
(A'),设置P
R
(A')=P,
N
C
=N
S
(A),转到第四步。
如图6-19-c所示,如果从弧段4开始搜寻,找到节点C后,根据弧段的排序,下一条
弧段是2;然后找到节点A,弧段1,整个搜寻结束,建立多边形I,其组成弧段为4、2、1。
按照这种算法,生成多边形的弧段从多边形内部看,是逆时针排列的。如果节点弧段排
序为顺时针,则算法中用P
L
(A)代替P
R
(A),用P
R
(A)代替P
L
(A),生成的多边形弧段是顺时
针排列的。
A
1
I
4
B
III
C
6
(a)
A
1
I
4
B
C
2
2
5
D
II
3
A 3 2 1
B 4 6 1
C 2 5 4
D 3 6 5
节点表,其中对于每
个节点记录了顺时针
方向排序的相连的弧
段
(b)
5
(c)
图6-19:多边形拓扑的建立过程
多边形拓扑的建立,要注意多边形带“岛”的情况,按照上述算法,对于带“岛”的多
边形,或者称为环,其包含的弧段构成了多个闭合曲线,并且“岛”的弧段排序是顺时针的
(图6-20)(实际上,从环状多边形内部看,它仍然是逆时针的)。
图6-20:带“岛”的多边形建立拓扑的结果。
2)网络拓扑关系的建立
在输入道路、水系、管网、通信线路等信息时,为了进行流量以及连通性分析,需要确
定线实体之间的连接关系。网络拓扑关系的建立包括确定节点与连接线之间的关系,这个工
作可以由计算机自动完成,但是在一些情况中,如道路交通应用中,一些道路虽然在平面上
相交,但是实际上并不连通,如立交桥,这是需要手工修改,将连通的节点删除(图6-21)。
图6-21:节点的编辑,将实际不连通的线路形成的节点删除
版权声明:本文标题:GIS原理_地图数据化 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1717662404a596121.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论