《1 前言》

1 前言

随着城市化进程的不断推进,城市道路呈现出错综复杂的大立体特征。 同时,面向车道复杂而细致的交通规则应运而生,如单行道公交专用线、限速车道、限高限重车道、禁止转向车道、交通时段管制车道等。 描述细致真实的道路特征、表达复杂的交通现象、提供快速准确的路径规划与导航等成为智能交通和应急管理等领域迫切需要解决的关键科学问题[1,2]。 平面拓扑集成数据模型是表达道路网络的一种最常用方法,结点—弧段模型(即基于节点道路网络模型)基本上能表达交通网络,同时支持经典的最优路径算法、空间拓扑分析、地图匹配算法等功能,仍存在诸多不足,如节点的表达方式增加了数据存储的冗余,弧段与属性记录只支持一对一的关系、不支持一对多的关系等。 另外,为解决平面模型的缺点,提高平面模型的应用范围,脱离平面强化限制,将平面模型扩展到非平面模型,人们提出将车道作为建模单位,发展为基于车道的数据模型,对车道中的交通流、车道转向、车道之间的连通性等问题一并考虑。 但是,这种模型仍存在定位实时性差,成熟算法较少,数据生产困难等因素,制约了基于车道的数据模型的发展[3]。 在过去几十年里产生了若干代表性的道路网络模型,如结点—弧段模型、线性数据模型[4]、GIS - T 数据模型[5]、交通数据模型。 以上不同的模型都反映了道路交通的线性特征与道路数据的组织结构,都是基于节点道路网络模型对真实道路网络的简化,但是存在诸多缺陷[6],鉴于此,笔者首次提出基于虚拟节点的道路网络模型,并详细介绍了模型的设计及实现方法。

《2 基于节点道路网络模型描述》

2 基于节点道路网络模型描述

地理信息系统( geographic information system ,GIS )本质上是对客观地理世界的近似模拟,其理想状态应该是尽可能准确地反映客观地理世界,同时做到数据量小,又便于人们从中获取所需要的信息和规律。 道路网络是陆地移动目标导航地理信息系统中最重要的核心元素,陆地移动目标导航中如地图匹配、路径诱导等诸多功能都依赖于道路网络数据库;另外,交通流诱导和交通分配等领域中同样也要利用道路网络数据库。

图 1 显示的是当前普遍采用的基于节点连接的道路网络模型中的基本拓扑关系和几何元素,它仅包含点要素和线要素。 其中点要素,如图 1 中节点反映了道路段与道路段的交点、路段终点或路段起点,形状点是指同一条非直线道路上的转弯点,而道路段穿越反映了道路段之间的邻接;所以道路网络中点要素的主要功能:首先是表达现实世界道路网络中的道路位置(形状点);其次表达现实世界中道路段与道路段之间的穿越关系(节点),即道路间的拓扑关系。 线要素反映了现实世界中的道路段,对应现实世界中道路段的路心线,它是由多个点要素构成的,其主要功能是表达现实世界中的道路方向。

《图1》

图1 道路网络中的几何元素和拓扑元素示例

Fig.1 Geometry element and topology element on road network outline one

《3 基于节点道路网络模型的电子地图制作方法及缺陷》

3 基于节点道路网络模型的电子地图制作方法及缺陷

道路网络模型是导航电子地图道路网络和现实世界道路网络联系的桥梁,它是制作导航电子地图中道路网络的理论依据。 其含义是将现实世界道路网络进行简化,以便易于实现道路网络数字化,最终实现导航电子地图道路网络的制作,并且保证经简化后生成的数字化道路网络能真实反映现实世界中的道路网络。

对于陆地移动目标导航系统,导航电子地图是必不可少的一部分,而导航电子地图中的道路网络数据是其核心单元。 而当前陆地移动目标导航电子地图中,现实世界中的道路网络是通过基于节点道路网络模型对其进行数字化,仅用点要素和线要素来表达现实世界道路网络。 其中线要素对应了道路段的中心线,用来表达道路网络中的道路段,它是点要素中形状点的集合;点要素包括形状点和节点,节点用来表达道路网络中道路段间的交点(路口)、道路段起始点或道路段终止点;所以在道路网络数字化过程中主要是对点的简化,尤其重点是对道路段间交点的简化,即节点简化。

目前,在制作导航电子地图中的道路网络(即路心线)时,其方法是确定一条道路的节点(道路段间的交点,即路口)和形状点,然后连接节点和形状点形成一条道路的路心线,最后形成道路网络。 所以节点和形状点的简化,尤其是节点简化的合理性将直接影响电子地图道路网络的精度。 如图 2 所示,它是现实世界中最普遍的道路路口,由于汇交路口的各个道路段 101 ,102 ,103 ,104 的宽窄不一样,导致各个道路段简化后所对应的路心线 1011 ,1022 ,1033 ,1044 并不是交于一个点,而是交于多个点 201 ,202 ,203 ,204 。 而基于节点道路网络模型,在此处仅用一个节点来简化,必然影响电子地图道路网络的精度。 更甚至于,针对道路段间的同一个交点,因节点位置的选取不同,导致制作出不同的电子地图。 所以用基于节点道路网络模型来表示现实世界中的道路网络不仅在模型简化上存在不可避免的缺陷,而且道路段间交点简化后为了选取合适的节点位置,还会对电子地图制作人员提出更高的技术要求。

《图2》

图2 基于节点道路网络模型的电子地图制作示意图

Fig.2 Make digital map based on node joint road network model

另外,针对现实世界道路网络中道路段的多车道表示,路口处不同车道的不同行车准则,如左转弯、直行、右转弯等的表示,以及基于道路网络的动态路径规划及动态交通网络实时分析功能对路口处的交通信息,如信号灯阻尼信息、移动目标通过路口的距离阻尼信息等的需求,采用目前传统的基于节点道路网络模型已无法对其进行描述。

由于基于节点道路网络模型对道路段间交点(路口)处采用节点简化法存在上述缺陷,故现有电子地图道路网络数据在路口处存在不可避免的误差,针对来源于不同厂商的电子地图道路网络数据在路口处还会存在不同的奇异形状。 另外,导致现有电子地图道路网络数据已无法适应动态路径规划及动态交通网络实时分析功能的需求。

《4 基于虚拟节点道路网络模型设计及实现》

4 基于虚拟节点道路网络模型设计及实现

图 3 所示为基于虚拟节点道路网络模型数字化后的道路网络中的基本的几何形式元素(几何网络),它用点要素和线要素来表达现实世界中的道路网络并且可以显示,主要包括虚拟节点 4 、路心线 3 、形状点 5 。 从图 3 中可以看出,虚拟节点不再仅仅是一个点元素,它既可以是一个点元素,也可以是由若干个点元素组成。 对于由若干点元素组成的虚拟节点,它包括虚拟路段 2 、内点 1 以及内点包络线 7 。 其中内点表达虚拟节点的存储位置信息,在现实世界中很容易找到参考点,如路口的车辆等待线,其内点数可以是 1 个或若干个;内点包络线表达虚拟节点的几何形状;虚拟路段用来表达连接在虚拟节点上的各个路心线间的拓扑关系,以及虚拟节点所表达的路口处的交通信息,如距离阻尼信息、信号灯时间阻尼信息等。

《图3》

图3 道路网络中的几何元素和拓扑元素

Fig.3 Geometry element and topology element on road network

对于仅含 1 个内点数的虚拟节点,虚拟节点主要表达现实世界道路网络中的盲道路段的端点,如 4( )所示。 另外,对于图 4( )、图 4( )所示的道路实体,汇交在路口的道路段仅包含一条车道,在精度上用一个点元素来简化能满足电子地图精度要求,同时路口距离阻尼或者信号灯引起的时间阻尼可以忽略,可用仅含 1 个内点的虚拟节点表示。此时,虚拟节点不包含虚拟路段,可看作虚拟路段的距离阻尼和时间阻尼为零,连接在虚拟节点上的所有路心线两两之间可以相互穿越,此时基于虚拟节点道路网络模型等同于基于节点道路网络模型。

《图4》

图4 虚拟节点仅有一个内点的道路实体示意图

Fig.4 Virtual joint includes one inner point

基于虚拟节点道路网络模型道路间的拓扑关系由虚拟节点内的虚拟路段表示,虚拟路段包含穿越路口时的距离阻尼信息、信号灯时间阻尼信息等路口实时交通信息属性,其形状如图 5 所示:线段型(如道路段 308 与道路段 305 之间的虚拟路段,它是由道路 308 的终止内点 408 与道路 305 的起始内点 405 的连接线)、折线型(如道路段 308 与道路段 303 之间的虚拟路段,它是由道路段 308 的终止内点 408 与折点 503 间的线段、折点 503 与道路段 303 起始内点间的线段这两个线段组成的折线),这样道路段 308 在虚拟节点处与道路段 303 和道路段 305 具有拓扑关系,分别通过虚拟路段 408-503-403和虚拟路段 408-405 对虚拟节点 ( 路口) 进行穿越。

《图5》

图5 虚拟节点表达的道路拓扑关系示意图

Fig.5 Road topology based on virtual joint

虚拟路段还有一个功能就是表达道路段的多车道及路口处不同车道的不同行驶规则(如左转弯、直行、右转弯等)。 如图 6 所示,道路段 601 在虚拟节点 801 处对应的唯一内点是 901,连接在内点 901 上有 701 ,702 ,703 ,704 四条虚拟路段,对于同一条道路段上具有相同行驶规则的车道在虚拟节点处用一条虚拟路段表示。 不同的虚拟路段分别表示道路段 601 在路口处的不同行驶规则,虚拟路段 701 表示路口容许掉头,虚拟路段 702 表示路口容许左转弯,虚拟路段 703 表示路口容许直行,虚拟路段 704 表示路口容许右转弯。 如果缺少某条虚拟道路段,即表示 601 在路口处禁止该虚拟路段所对应的行驶规则。

《图6》

图6 虚拟路段表达的行驶规则

Fig.6 Run rule on crossroad by virtual road segment

《5 基于虚拟节点道路网络模型的数据结构》

5 基于虚拟节点道路网络模型的数据结构

导航电子地图道路网络数据库的结构由路心线数据、虚拟节点数据、内点数据、虚拟路段数据组成,在 VC++ 6.0 语言环境下,其数据结构表示如下:

//道路段数据结构

typedef struct

 int  RoadID;    //道路编号

 int BeginVNodeID //起始虚拟节点

 int EndVNodeID //终止虚拟节点

 int iNum //形状点数

 double PLon[40] //所有形状点经度坐标

 double Plat[40] //所有形状点纬度坐标

}ROAD ;

//虚拟节点数据结构

typedef struct

 int VNodeID; //虚拟节点编号

 int InPoindID[12] //虚拟节点包含所有内点的编号

 int iNum //虚拟节点内点数

 int RoadID[12] //连接到该虚拟节点上所有道路段编号

 int iNumRoad //连接到该虚拟节点上的道路段数

}VIRTUALNODE ;

//虚拟节点中内点数据结构

typedef struct

 int InPoindID //内点的编号

 double PLon[40] //内点经度坐标

 double Plat[40] //内点纬度坐标

 int iNumRoad //连接到该内点上的道路段数

 int VRoadID[20]; //连接到该内点上的所有虚拟路段编号

 int RoadID //连接到该内点上的道路段编号

}INPOINT;

//虚拟道路段数据结构

typedef struct

 int VRoadID //虚拟道路段编号

 int BeginInPoindID //起始内点编号

 int EndInPoindID //终止内点编号

 float fDistance //距离阻尼

 int iTime //时间阻尼

}VIRTUALROAD ;

《6 结语》

6 结语

当前现实世界中道路网络的结构特点,给地图匹配算法[7,8]带来很多不利因素,从而导致地图匹配结果出错。 另外,道路网络模型除了进行地图匹配算法外,还是路径规划、交通分配、交通流诱导和网络分析等功能的基础,特别在交通分配和交通流诱导等应用领域要重点考察道路路口的通行情况,这样应用传统的基于节点道路网络模型存在着严重不足[9,10]

笔者首次提出基于虚拟节点道路网络模型,它能真实地反映现实世界中的道路网络结构。 由于其和基于节点道路网络模型的特殊关系,所以基于虚拟节点道路网络模型完全适合于以前学者们提出的适合“经典理论算法”。 另外,该模型能很好地表达真实道路路口参数,所以它在交通规划,交通管理和交通流模拟中都有着十分广阔的应用前景[9~13]