城市复合公共交通空间数据模型研究

2022-03-09 07:24卢晓龙
科学技术创新 2022年5期
关键词:链表数据模型结点

卢晓龙

(山东省地质测绘院,山东 济南 250013)

近年来,我国大中城市普遍都遇到了交通拥堵的问题。首先,城市长期按照“职住就近”原则安排城市用地的格局被打破,通勤活动在城市中成为普遍现象[1]。其次,快速的城市化脚步又促使城市常住人口的飞速增长。最后,不断普及的私家汽车也给交通带来了巨大的压力[1]。

为了缓解交通压力,公共交通系统成为城市大力发展的对象[3-5]。空间数据模型是实现公共交通系统管理和出行规划等诸多应用的基础。目前,大量的相关工作基本集中在巴士系统的数据模型构建上[2]。论文首先对复合模式下不同公交方式的特征进行分析,然后基于多项构模原则建立了复合公共交通空间数据模型,并探讨了由数据模型构建网络模型的核心算法。

1 现代城市公共交通系统的特征分析

1.1 城市巴士系统特征分析

作为最早的城市公共交通系统,巴士系统已经非常成熟,其主要特征包括[3]:

1.1.1 巴士运行路线沿城市道路网络布置。

1.1.2 巴士来回的两次运行路线基本相同。

1.1.3 存在同名站点位置不同的情况。

1.2 城市铁路系统特征分析

城市铁路系统由于具有运行速度快、运行时间稳定的特点,因此,成为当前各大城市解决交通问题的重要方式。城市铁路系统的特征包括:

1.2.1 专有的运行线路实现了高效率的运行。城市铁路具有专有的运行线路,因此就避免了其运行过程受其它交通方式的影响。

1.2.2 出入口和换乘站构成的换乘系统。铁路运行路线由固定的换乘站构成,换乘站和出入口由地下或地上通道连接,它们共同构成了城市铁路的换乘系统。

1.2.3 换乘时间有时较长。受城市铁路沿线建筑物的影响,很多换乘站点难以配置在离出入口较近的位置上,居民从出入口到乘车站经常需要较长的时间。

2 复合公共交通空间数据模型

2.1 建模基本原则

根据公共交通系统的特征分析,我们构建一个复合公共交通空间数据模型,模型构建在以下基本原则之上:

2.1.1 考虑所有对居民换乘时间影响较大的因素。巴士站点规模较小,从站点内的一个候车牌到另一个候车牌的时间通常不会超过10 秒,因此,巴士站点可以被抽象为一个点,其内部的结构并不需要表达。相反,城市铁路的换乘有时会需要较长的时间,因此,为了表达同一站点内的换乘,归属不同路线的同一站点要分别存储。对于不同站点的换乘,巴士和铁路系统均要考虑。

2.1.2 避免重复的数据存储,方便公共交通线路和站点的变动。由于巴士的运行路线被限制在城市道路中,可以基于道路网络数据并利用路线与站点的拓扑关系来重构巴士路线,不需要单独对其进行存储。地铁的专有路线则需要额外存储,原因是站点并不能完全反映出铁路的运行路线。这种只记录巴士结点和站点与路线拓扑关系的数据模型不仅减小了数据量,避免了因数据误差等造成的线路和站点在空间上不一致的情况,而且数据维护的工作量很小。当路线发生变化时,只需要对系统中没有的站点进行采集,并更新相应的拓扑关系数据表即可,这对于易变的巴士系统非常有效。

2.1.3 尽量以最少的数据库查询来实现公共交通线路的重构和换乘方案的规划。巴士线路重构和居民出行路线规划都要通过对数据表进行查询实现,为了保持模型运行的高效率,“较少查询次数、少量数据冗余”的策略应用在模型构建中,即根据数据表完成一项任务需要的查询次数较少,但有些查询会返回一个较结果更大的集合,而在计算机内存中遍历集合要比查询数据库快得多。

模型以城市道路网络为基础,分别对城市公共巴士系统和铁路系统进行了建模,以下为模型的具体内容。

2.2 城市道路网络模型

城市道路网络采用通行的“结点-弧段”模型(图1)。道路按照路段(Section)进行组织(Arc-Node Table),路段的两端由起始结点(From Node)和终止结点(To Node)记录,路段的形状由弧段(Shape)表示。对于双向行使的路段,两个方向要分别进行表达。结点表(Node Table)存储了结点的坐标和其它属性。结点转弯表(Node Turn Table)表达了结点所连接的路段彼此间是否能够转向以及完成转向的费用。路段间允许转向只存在于不会产生逆向车流的情况,例如,图1(a)中从s1转向s5的就不允许。转向的费用由障碍(Impedance)进行度量,其值可以为0/1 来表达是否允许转向,或者任意正整数来衡量转向的难度,例如转向时产生的车流冲突次数。旅行距离(Travel Distance)表示一个可允许转向所需要走过的平均路程,旅行时间(Travel Time)表示一个可允许转向的平均花费时间。

图1 城市道路网络及数据模型

2.3 城市公共巴士系统

城市公共交通是对抽象领域时空数据的可视化,大体可以归纳为公交线网、路网、公交规划等可视化内容[6]。如图2(a)所示,城市公共巴士系统由巴士线路和站点构成,线路的端点由两个站点表示,线路的运行是从起始站点开始,沿该站点所在路段的运行方向行驶至路段上的下一个站点,当到达路段末端时发生转向,并在新的路段上沿其运行方向继续行驶,直至达到线路的终止站点。

图2(b)给出了公共巴士系统的空间数据模型,由三张数据表组成。站点表(Stop Table)记录了巴士系统中所有站点的数据,包括站点所在的路段(Arc ID)、站点距离路段起始点的里程数(Mileage)以及站点的其它属性。站点的位置可根据线性参照方法确定,即在路段弧段上距离起始结点一定距离(里程数)的位置上进行插值。

图2 城市公交巴士系统网络及数据模型

线路-路段表(Line-Section Table)存储了线路经过的所有路段,经过的顺序由Arc ID和Next Arc ID 规定。首选,从表中查询出线路的所有记录,然后按照如下算法来构建线路的途径路段顺序链表:①构建一个空的链表。②从记录集中依次提取一条记录,并判断:如果链表中存在一个元素其值等于记录的Next Arc ID,则在该元素前插入一个新元素;如果链表中存在一个元素其指针的值等于记录的Arc ID,则在该元素后插入一个新元素;否则,在链表中新增加一个元素。对新创建的元素,将记录的Arc ID 和Next Arc ID 分别赋给它的值和其指针。通过以上算法,可以生成一个路段的链表。链表中元素的顺序即为线路途径路段的顺序。

线路-站点表(Line-Stop Table)表达了线路经过的所有站点。与线路-路段表相似,站点的顺序也由两个字段规定:Stop ID 和Next Stop ID。使用相同的算法可以生成线路所途径站点的顺序链表。

以上模型中,巴士的运行路线需要根据三个数据表重构,其算法如下:①构建线路的站点链表和路段链表,并从路段-结点表中提取出路段链表中所有路段的图形和起止结点。②构建一个空的线段列表。③从路段链表中提取一个路段,并按照以下规则设置一个起始位置:如果路段为起始路段,则设置路段起始结点为起始位置,否则为空。④查询结点链表,获得处在该路段上的所有站点(已按序排列),并按照以下规则设置一个终止位置:如果结点链表到达末尾,则将终止位置设置为末尾结点;否则,末尾结点为路段的终止结点。⑤从路段图形中提取处在起始位置和终止位置间的线段,增加到线段列表中。⑥循环③-⑤,直至路段链表到达末尾为止。⑦将线段列表中的线段依次首尾相连,构成巴士的运行路线。

通过构建缓存文件,并将以上算法生成的公交运行路线保存在其中,可以避免不必要的重构计算。当公交巴士系统发生变化时,只需要运行一次重构算法来更新缓存文件即可。这样,可以保证模型的高效率。

2.4 城市公交铁路系统

图3(a)给出了城市公交铁路系统的网络模型。其中,公交列车运行在固定的线路上,列车站点包括线路的起始和终止站点、换乘站点和中途站点。站点布置在地下或地上一定高度,并与地面配置连接通道和入口(4 个和2 个入口较为常见),两条路线的换乘站点通过通道相连。

图3(b)给出了城市公交铁路系统的空间数据模型[8]。站点表(Stop Table)通过距离线路起点的里程数(Mileage)来确定在路线上的位置,并利用Is Transfer Stop 来指示是否为换乘车站。线路表(Line Table)存储了每条铁路线路的图形和其它属性。线路-站点表(Line-Stop Table)与公交巴士数据模型中的对应表作用相同。入口-站点表(Entrance-Stop Table)存储了每个入口的地面位置以及到达与之相连接的站点所需要的时间和平均旅行路程。值得注意的是,换乘站点在此也被作为一种入口来记录,例如,乘坐l1的乘客可通过t2换乘站到达l2的t7换乘站,此时,t2换乘站可看作是进入t7站点的入口,反之亦然。但换乘站间一般通过同一通道相连接,旅行时间和距离都相当,因此只需要在入口表中记录一次。入口-站点表具有两方面的作用:①通过地面入口点与地上的公交巴士系统连接,支持综合的公交换乘方案规划。②量化了乘客从入口到铁路站点间的旅行费用(旅行时间和旅行路程),从而能更准确地确定两点间乘坐公交列车所需要的时间。

根据图3 四个数据表,可以利用2.3 节中相同的算法构造铁路线路的站点顺序链表,并通过查询入口-站点表获得可到达每个站点的入口。基于以上数据,可对给定的起止位置计算最佳的铁路换乘方案。

图3 城市公交铁路系统网络及数据模型

结束语

论文呈现了我们所建立的一个复合公共交通空间数据模型,模型分别对城市道路网络、公交巴士系统以及公交铁路系统进行了表达,同时也考虑了巴士系统与铁路系统的联系。为了能够更准确地对度量乘坐公交列车时的旅行时间,从地面铁路入口到乘车站点、以及乘客换乘另一公交列车所用时间均在模型中被记录。模型的基础是公交系统网络中的拓扑关系,链表方式被用来表达和储存这种拓扑关系。对于网络中要素的几何图形,模型依据拓扑关系只记录可构成该要素的最基本图形。当需要重构网络时,可以根据拓扑关系以及特定的算法来生成要素的几何图形。论文中给出了一种根据巴士路线和站点及路段间的关系来重构巴士路线的算法。

公交换乘规划是面向广大居民的最重要的一项公交应用。空间数据模型是该应用的基础,而最优换乘的求解算法则是应用的核心。由于包含相互协同的两种交通方式,复合公共交通系统的公交网络较单一的巴士系统更为复杂,求解最优换乘也相应地更为困难。因此,在提出的复合公共交通空间数据模型基础上,进一步探讨高效率的公交换乘求解算法将是下一步的重要工作。

猜你喜欢
链表数据模型结点
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
如何用链表实现一元多项式相加
基于Pro/E 的发射装置设计数据快速转化方法
跟麦咭学编程
面板数据模型截面相关检验方法综述
基于MTF规则的非阻塞自组织链表
经济全球化对我国劳动收入份额影响机制研究——基于面板数据模型
C语言中指针链表的学习探讨