赵变利,周晓光,董海峰
(1.中南大学 地球科学与信息物理学院,湖南 长沙 410083;2.中南大学 有色金属成矿预测与地质环境监测教育部重点实验室,湖南 长沙 410083)
互通式立交桥是指设有跨线构造物使相交道路在垂直空间分离,上、下道路间通过匝道连接,以供转弯车辆行驶的交叉方式[1],通常建设于高速公路互通处、城市干道或快速路之间的交汇处,以提高行车效率、减少交通事故发生率和缓解城市交通拥堵[2],是当前城市道路网的核心要素之一。立交桥的新建、修改、垮塌等变化事件时有发生,在城市交通服务中需要及时更新。目前在空间数据的更新模式方面,周晓光(2007)等分析定期更新、增量更新、多尺度联动更新模式的优劣及各自适用的情况;指出定期更新存在周期长、应用不灵活等缺点;多尺度联动更新对比例尺的关联性要求较高;增量更新因其更新方式灵活、能更好地保证空间数据的现势性、便于历史回溯等特点已成为基础数据更新的主要模式[3-4]。在空间数据更新方法方面,周晓光等(2006)和王磊(2009)采用事件驱动、内外业一体化方式解决简单离散目标增量更新处理的自动化问题[5-6];陈军和周晓光(2008)等以地籍地块为例提出一种拓扑联动目标增量更新与拓扑一致性维护的自动化方法[7];但该方法以地块的拓扑联动变化为基础,不适用于互通式立交桥的更新处理。在道路数据更新方面,张求喜等提出道路线更新方法[8];沙宗尧等(2019)提出利用道路网眼实现路网的增量式更新[9];但这些方法没有考虑互通式立交桥的复杂连接关系,直接用来更新互通式立交桥容易造成局部拓扑冲突。其他交通数据更新相关研究成果主要包括从增量数据获取角度,如Wu et al等通过GPS轨迹数据更新道路网络[10]和丁建勋等利用OpenStreetMap 开源数据更新专业数据库的方法等[11]。
GIS领域在互通式立交桥方面的研究主要集中在复杂立交桥结构的提取、识别和简化等方面,如Chiang & Knoblock提出一种从栅格地图中自动提取道路交叉口的位置、连通性和方向的方法[12];徐柱等(2011)提出一种基于有向属性关系图的典型道路交叉口识别方法[13];Fathi & Krumm 等从GPS轨迹检测道路交叉口[14];王颖和艾廷华(2018)等从制图综合角度研究提出一种顾及空间跨越关系的复杂道路交叉口图形简化表达方法[15]。但目前尚未看到互通式立交桥增量更新方面的研究成果。
因此,本文针对互通式立交桥更新时存在的拓扑联通关系维护困难问题,提出了一种顾及拓扑联通性的互通式立交桥增量更新方法。
通过分析,导致互通式立交桥更新处理拓扑联通(一致性)关系维护困难的根本原因在于互通式立交桥往往存在多条匝道,且匝道之间距离近,联通关系错综复杂,在利用轨迹和众源数据自动化更新处理时,由于受点位精度限制极易发生联通关系连接错误,导致拓扑不一致问题,无法服务于导航应用等;而人工处理,存在劳动强度大效率低易出错等问题。众所周知,互通式立交桥为人工构筑物,其拓扑联通关系在设计施工时即已确定,不同类型的立交桥存在着特定的拓扑结构特点,因此清楚认知并自动识别互通式立交桥错综复杂的拓扑结构类型是实现其增量更新处理及拓扑联通关系维护自动化的前提。
互通式立交桥的相交道路在空间上立体分离,上下层道路通过匝道连接,结构复杂。在当前的道路数据网中,互通式立体交叉形式多样。在道路立交规划与设计中,一般根据道路交汇条数将互通式立交桥分为三肢、四肢和多肢三大类[1]。三肢互通式立交桥主要包括喇叭型、子叶型、定向Y型和半定向Y型、部分互通式和交织型等,其在矢量地图中的拓扑结构如图1((a)-(g))所示。四肢形式主要包括X形、苜蓿叶式、3个环圈式、菱形(图1(h)~图1(r))等,以及四肢部分苜蓿叶式(图1(t))。多肢即环道式(图1(s))。此外,随着技术的发展,互通式立交桥还出现了螺旋型,见图1(u)等。
在道路网空间数据库中,图1所示的21种互通式立交桥一般以道路方向单线弧段要素存储,多个匝道弧段错综连接构成了不同的互通式立交桥类型以及复杂的拓扑空间结构,立交桥的空间跨越特点使得其拓扑结构中存在众多的平面相交点,如图1中的圆点标识点,其中不少交点仅在平面相交,立体跨越不相交。在互通式立交桥中实质发挥联通作用的结点为连接主干道弧段与匝道弧段连通的拓扑连接点,本文称之为拓扑联通点,如图1中的带方框红色标识点。互通式立交桥更新处理中需要维护这些拓扑联通点的拓扑一致性。然而在增量数据中没有区分平面相交和拓扑联通点,更新处理时不能直接识别出哪些点是拓扑联通点。仔细分析图1所示的21种互通式立交桥,不难发现不同类型互通式立交桥的匝道数及其平面相交点各不相同,而拓扑联通点数却有可能相同,如喇叭型的匝道数为4,平面相交点数为10,拓扑联通点数为6;而三肢部分互通式的匝道数为4,平面相交点数为9,拓扑联通点数为6。因此,匝道数与平面相交点数组成的二元组可成为识别互通式立交桥类别的主要依据。数据更新时可该通过二元组首先识别出立交桥的拓扑结构类型,然后拓扑结构类型推断出哪些点为拓扑联通点,进而进行拓扑一致性维护。
设Ts表示互通式立交桥类型;Sr表示匝道数;Si表示平面相交点数。为了方便后续增量更新处理,需要对21种互通式立交桥类型进行编码,本文在现有地理要素编码规范[16]基础上扩展相应类型编码(TypeCode)以唯一标识其拓扑结构类型(如表1所示)。则Ts可表达为:
Ts=[Sr,Si].
(1)
图1 互通式立交桥的类型及其平面相交点(圆点表示)和拓扑联通点(带方框圆点表示)
表1 21种互通式立交桥类别的形式化表达
时空数据库中地理实体的增量更新过程往往涉及到多个变化处理操作,不同变化类型对应着不同的操作。如“新出现”实体的更新操作仅包括在当前数据库中插入新对象操作;而“消失”实体则不仅需要在当前基态数据库中执行删除操作,还需要在历史库中执行插入记录并修改时间戳的操作。在关于实体变化类型分析方面,周晓光等归纳了9种单一实体变化类型:新建、消失、属性变化、重现、移动、旋转、扩长、缩短、位置变化等[5]。由于互通式立交桥结构复杂、建设成本高且必须与道路联通,是在空间位置局限且确定的情况下设计建造的,一般不存在“移动”和“旋转”变化类型。但是由于人为或自然原因导致的“消失”,经过一段时间的重建维护后立交桥会发生“重现”的变化依然存在,如图2所示。互通式立交桥占地面积大、匝道多,因此建设成本相当高。通常为了节约造价成本,除了整个立交桥的整体新建、废弃(即消失)外,还存在匝道的部分新建、废弃和修改等变化情况。这里的修改变化包括立交桥几何和属性信息的修改。此外,互通式立交桥还会出现“桥面扩宽/变窄”的变化情况,主要指路面拓宽/变窄导致车道数的增加或减少,如2车道变成4车道等。由于在目前的基础地理信息国标数据规范中规定[16],只有当桥面宽度大于12 m时才以面要素的形式存储。交通导航系统中,由于受实时定位精度的影响,目前暂未精确表达车道情况,扩宽/变窄的桥梁仍以双向带方向的线要素形式表示,只是桥面扩宽/变窄后中心线位置发生了变化。因此这里将该空间变化类型归为几何位置修改类型。
综合上述分析,互通式立交桥的空间变化主要有匝道新建或整体新建、匝道消失或整体消失、匝道延长修改、匝道缩短修改、位置修改、属性修改和重现9种情况,具体见图2。
图2 互通式立交桥的空间变化类型示例
为了实现互通式立交桥增量更新处理自动化的同时,维护其更新后匝道与匝道及主干道间的拓扑一致性和上下层通达性,更新处理时必须顾及立交桥匝道与匝道及主干道弧段间的拓扑联通关系。根据前文分析的互通式立交桥的拓扑结构类型及变化情况,设计了一套互通式立交桥的增量更新规则。
根据匝道与匝道之间有无拓扑联通点又可将21种互通式立交桥分为两大类:①匝道与匝道之间无拓扑联通点,如图1中的(图1(a)、图1(b)、图1(i)、图1(j)、图1(q)、图1(s))6种情况,更新处理时仅需要维护匝道始末端点与主干道的拓扑联通点即可;②匝道与匝道之间有拓扑联通点,如图1中的(图1(c)、图1(d)、图1(e)、图1(f)、图1(g)、图1(h)、图1(k)、图1(l)、图1(m)、图1(n)、图1(o)、图1(p)、图1(r)、图1(t)、图1(u))15种类型,更新处理时除了需要维护匝道始末端点与主干道存在拓扑联通点外,还需要处理两个匝道弧段间的拓扑联通点并维护其联通关系。
如前文所述,互通式立交桥的空间变化主要包括图2所示的9种情况。由于更新处理时匝道新建和整体新建都通过“插入”操作来实现,可合并为“新建”;匝道消失和整体消失都对应于“删除”操作,可合并为“消失”;匝道延长和缩短都是几何变化,可合并为“修改”。因此下面按照新建、位置修改、匝道修改(延长/缩短)、消失、属性修改和重现6类变化类型来设计更新处理规则。
由于目前增量信息获取途径(如OSM增量数据)的增量文件一般只有新建、修改、删除三种变化类型,更新时无法得到匝道的延长、缩短和位置修改情况,但是通过计算增量和基态间的拓扑关系可以确定修改参数情况,即位置修改、匝道修改(延长/缩短)。如变化类型为匝道延长时,增量与匹配到的基态之间存在重叠拓扑关系,如图3(a)所示;位置修改变化的立交桥,其匝道桥面扩宽后的中心线位置发生变化导致增量与基态相离,如图3(b)所示;匝道缩短变化导致增量与基态间存在覆盖关系。这些拓扑关系可用来细化确定互通式立交桥的变化类型。因此拓扑关系也是也是更新规则的核心要素。
图3 互通式立交桥增量与基态的拓扑关系示例
综上分析,假设Ai为第i个基态,Ais、Aie分别表示Ai的始末端点,VAi表示Ai的属性值;Aj′为第j条增量;Bi为第i个周边拓扑联通对象;Ci为第i个重构后的几何对象;Changetype(Ai)表示Ai的变化类型,TopoType(Aj′,Ai)表示Aj′与Ai的拓扑关系类型。TypeCode(Ai)表示Ai的互通式立交桥拓扑结构类型唯一编码。Insert(Ai′)表示插入增量Ai′操作; InsertHisData(Ai) 表示插入基态Ai到历史数据库中的操作;Delete(Ai)表示删除基态Ai操作;Recall(Ai)表示从历史库中召回某个历史目标Ai;GeoModify(Ai→Ci)表示将Ai的几何修改为Ci;GeoModify(Bi→Bi1+Bi2) 表示将Bi的节点打断修改为两条弧段Bi1和Bi2;SemModify(Ai→Ai′)表示将Ai的属性修改为Ai′;TimeModify(Ti→Ti′) 表示将Ti的时间戳修改为Ti′; Union(A1,A2,…,An)表示合并操作;MoveNode(Ai)表示移动节点操作;BreakNode(Ai)表示打断节点操作;“&&”表示逻辑与运算;“||”表示逻辑或运算。根据4种情况设计66条互通式立交桥增量更新规则:①匝道与匝道之间无拓扑联通点的 6种互通式立交桥,Changetype(Ai)分别为新建、位置修改、匝道修改(延长/缩短)、消失四种类型时,其更新处理拓扑一致性维护重点都是保持匝道始末端点与主干道的拓扑联通点的一致性,每种变化类型对应1条规则,共4条更新规则;②匝道与匝道之间有拓扑联通点的15种互通式立交桥拓扑结构类型的4种变化(即新建、位置修改、匝道修改(延长/缩短)、消失)各对应1条规则,共有15×4=60条规则;③Changetype(Ai)为属性修改时,共1条增量更新规则;④Changetype(Ai)为重现时,共1条增量更新规则;合计66条更新规则。下面结合21种互通式立交桥拓扑结构与6种变化类型举例说明更新处理规则设计方法。
2.1.1 6种互通式立交桥增量更新设计
匝道与匝道之间无拓扑联通点的6种互通式立交桥增量更新规则设计。该情况最关键的操作是打断匝道始末端点处与主干道连接的拓扑联通结点,重构与匝道始末端点相连的主干道联通基态,下面以Changetype(Ai)为新建和位置修改为例进行说明。
1)当Changetype(Ai)为新建时,以喇叭型互通式立交桥(图1(a))的匝道新建增量更新情况为例。首先插入增量Aj′到当前基态库;然后打断Aj′始末端点处的拓扑联通结点,重构周边联通基态Bi为Bi1和Bi2;最后将原始基态Bi插入历史库,修改Bi时间戳的截止时间为当前更新时间TBi′。具体规则表达式:
Rule1: If (Changetype(Ai) = rampCreate && TypeCode(Aj′) = 450 308) Then (Insert (Aj′);
BreakNode(Aj′s);BreakNode(Aj′e);GeoModify(Bi→Bi1+Bi2);InsertHisData(Bi);
TimeModify(TBi→TBi′);)
2)当Changetype(Ai)为位置修改时,以图4所示京珠高速与快速路的互通式立交桥匝道(变窄)位置修改为例说明四肢苜蓿叶式互通式立交桥(图1(i))的增量更新情况。图4(a)为增量更新前的立交桥,原匝道Ai经变窄后其中心位置变为Aj(图4(a)中红色虚线表示),Aj为增量对象。增量更新处理时,首先将原有基态Ai插入历史库,修改时间戳的截至时间为当前更新时间TAi′;在当前基态中用Aj更新Ai的几何数据,修改时间戳的起始时间为当前更新时间TAj′;然后打断Aj的始末端点(图4(b)中方框圆点表示),修改Bi的几何结点重构Bi的几何为Bi′,拓扑联通点的更新从图4(a)中的方框圆点处(图4(a)中红框部分为局部放大图)修改为图4(b)中方框圆点处;最后将原有对象Bi插入历史库,修改Bi的时间戳的截至时间为当前更新时间TBi′,具体规则表达式如下。
Rule2: If (Changetype(Ai)=locModify &&TypeCode(Aj′)=450 316) Then(GeoModify(Ai→Aj′); TimeModify(TAj→TAj′);InsertHisData(Ai);TimeModify(TAi→TAi′);BreakNode(Ais);BreakNode(Aie);GeoModify(Bi→Bi′);InsertHisData(Bi);TimeModify(TBi→TBi′);)
图4 四肢苜蓿叶型互通式立交桥的匝道(变窄)位置修改增量更新情况
2.1.2 15种互通式立交桥的增量更新设计
匝道与匝道之间有拓扑联通点的15种互通式立交桥的增量更新规则设计。该情况最关键的操作是找到匝道与匝道间的相交点,以便在更新维护拓扑联通性时,进行打断、移动结点等操作,下面以Changetype(Ai)为位置修改和匝道修改为例进行说明。
1)当Changetype(Ai)为位置修改时,以图5所示长韶娄高速与赤江的互通式立交桥匝道(拓宽)位置修改为例说明三个环圈式互通式立交桥(图1(m))的增量更新情况。图5 (a)为增量更新前的立交桥,原匝道Ai经拓宽后其中心位置变为Aj(图5(a)中红色虚线表示),Aj为增量对象。增量更新处理时,首先将原有基态Ai插入历史库,修改时间戳的截至时间为当前更新时间TAi′;在当前基态中用Aj替换Ai的几何位置数据,修改时间戳的起始时间为当前更新时间TAj′;然后移动Bi的原有拓扑联通结点(图5(a)中方框圆点表示,图5(a)中红框部分为局部放大图),移动后图5(b)中方框圆点表示,修改Bi的几何结点,拓扑联通点的更新从图4(a)中的方框圆点处修改为图4(b)中方框圆点处;最后将Bi插入历史库,修改Bi的时间戳的截至时间为当前更新时间TBi′,具体规则表达式如下。
Rule3: If (Changetype(Ai)=locModify &&TypeCode(Aj′)= 450 320) Then (InsertHisData(Ai);
TimeModify(TAi→TAi′);GeoModify(Ai→Aj′);TimeModify(TAj→TAj′);MoveNode(Bi);
GeoModify(Bi→Bi′);InsertHisData(Bi); TimeModify(TBi→TBi′);)
图5 3个环圈型互通式立交桥的匝道(拓宽)位置修改增量更新情况
2)当Changetype(Ai)为匝道修改(延长/缩短)时,以四肢交织环形(图1(r))的匝道缩短增量更新情况为例,首先修改基态Ai的几何位置为Aj′(Aj′表示增量);然后移动周边联通基态Bi的拓扑联通结点,修改Bi的几何位置,最后将修改前的基态Ai和Bi插入历史库,修改时间戳的截至时间为Ti′。具体规则表达式如Rule4。
Rule4: If (Changetype(Ai)=shModify &&TypeCode(Aj′)= 450325) Then (GeoModify(Ai→Aj′);
MoveNode(Bi);GeoModify(Bi→Bi′);InsertHisData(Ai); InsertHisData(Bi);TimeModify(Ti→Ti′);)
2.1.3 Changetype(Ai)属性修改
当Changetype(Ai)为属性修改时,该种情况只需要修改增量Aj′匹配到的基态Ai的语义信息即可。因此不需要考虑21种互通式立交桥的拓扑结构。共1条规则,具体规则表达如Rule5。
Rule5: If (Changetype(Ai)= semModify) Then(SemModify(Ai→Aj′);)
2.1.4 Changetype(Ai)重现
当Changetype(Ai)为重现时,进行历史库中召回对应的历史目标Ai,插入数据库操作;然后修改时间戳为Ti′。同样也不需要考虑21种互通式立交桥的拓扑结构。共1条规则,具体规则表达如Rule6。
Rule6: If(Changetype(Ai)= reAppear) Then(Recall(Ai);Insert (Ai);TimeModify(Ti→Ti′);)
本文顾及拓扑联通性的互通式立交桥增量更新流程如下:
1)第一步首先进行数据(专业矢量数据“.shp”或OSM数据“.xml”)入库,并对其进行预处理操作。
2)第二步利用基于较短线中值Hausdorff距离(SMDH)、加权余弦相似度(aCS)等匹配方法[17]对预处理后的增量和基态数据进行匹配。
3)第三步对匹配成功的基态计算其Ts值,根据Ts值进行互通式立交桥类别的唯一标识。
4)第四步计算增量与基态的拓扑关系,判断互通式立交桥的具体变化类型及拓扑关系。
5)最后根据设计的66条增量更新规则对互通式立交桥进行自动化批量更新处理。具体更新流程图如图6所示。
图6 互通式立交桥增量更新流程
为了验证本文互通式立交桥增量更新方法的有效性,在Visual Studio 2010和ArcGIS Engine 10.1的开发环境下,采用Oracle11g数据库,开发了一套1∶10 000全球典型要素增量更新原型系统,实现了互通式立交桥的增量更新功能。本文以长沙市的OSM交通线数据(范围:112.8214E, 113.1430E; 28.0535N, 28.2890N),2019年06月OSM官网的基态数据,2019年06-12月(格式为*.osc” )的XML增量数据开展试验。实验数据采用课题组归纳的1∶1万OSM模型转换规则,通过OSM模型转换规则[18]和信誉度计算模块[19]进行预处理得到长沙市1∶1万的OSM道路网数据,包括3 108条道路线基态数据如图7(a)所示和632条增量数据如图7(b)所示。
图7 基态和增量实验数据
实验数据中共识别出48座互通式立交桥,其中包含21座喇叭型、5座子叶型、3座苜蓿叶型、2座3个环圈式、4座环道式、3座6匝道苜蓿叶式、6座4匝道苜蓿叶式立交桥及交织型、半定向Y型、螺旋型、无环圈型各1座。互通式立交桥自动化增量更新结果如图8(a)所示。局部更新细节如图8(b)和(c)所示中的喇叭型互通式立交桥(图中红色表示增量数据,灰色是更新前的基态数据),该立交桥位于长沙西三环新天地商圈附近,增量是喇叭型立交桥匝道即西三环辅道。图中采用规则2对修改的匝道增量进行了拓扑联通点处的结点打断和几何位置修改的更新处理。
图8 增量更新实验结果
互通式立交桥作为城市道路网的主干架构,其数据的现势性及更新质量将直接影响道路网的导航、制图等应用服务。本文针对互通式立交桥更新时存在的拓扑联通关系维护困难问题,提出了一种顾及拓扑联通性的互通式立交桥增量更新方法。该方法以21种互通式立交桥类型为基础,通过分析互通式立交桥的拓扑结构特点及增量更新要求,用计算匝道数及平面相交点数组成的二元组值来确定21种互通式立交桥拓扑结构类型;然后根据其拓扑结构和空间变化类型,设计了66条互通式立交桥增量更新规则,实现互通式立交桥拓扑联通关系维护及增量更新处理的自动化。最后在课题组1∶1万全球典型要素增量更新原型系统中,开发立交桥增量更新模块,并以长沙市的OSM道路网数据为试验数据,验证了本文方法的有效性。
但本文对互通式立交桥增量更新方法有效性的评价主要依据人工目视判断,尚未完成更新效果验证的自动化,且在更新处理过程中为了维护匝道与主干道及匝道间的拓扑关系,需要在容差内调整相关结点空间位置,本文方法尚不能自动评价其调整精度。