TransData Lab
交通数据实验室
课程资料

贵州省长途客运网络分析

 二维码 16


为了熟悉交通网络的建模方式,认识家乡城市在地域中的交通地位及城市间联系。调研贵州省长途客运线路的地域分布,尝试挖掘地域交通存在的问题并提出改善建议。







完整实验内容(下文仅展示部分内容)






数据准备与处理





贵州省有9个地级市和6个县级市,报告涉及贵州省的15个主要城市。

贵州省区位图


采用的数据是贵州省15个主要城市间长途客运一日的班次数,数据为2022年1月21日由全国公路长途汽车客运时刻网络(http://m.checi.cn/qiche/guiyang/)得到,包括了贵州省15个县级市以上城市之间运营的全部长途汽车客运信息。

全国公路长途汽车客运时刻网络


构建网络的表格与表格(有向)


完整边表格(无向)






软件操作





本实验基于贵州省的15个主要城市进行长途客运交通的吸引力分析,其可视化的必要底图是各个市辖区的行政边界图,故需要首先将其导入ArcGIS中。具体操作如下:


首先,导入中国各省市行政区划图,将多余的省市信息删除,只保留贵州省及其范围内的各市辖区范围底图,随后将参与分析的15个城市的点导入底图。导入的方法是将带有节点经纬度信息的点表格导入ArcGIS中进行可视化:

导入点表格

选择“ArcToolbox – 转换工具 – EXCEL – EXCEL转表”,


EXCEL转表”工具

右键导入的表格-显示XY坐标,X字段选择Lng,Y字段选择Lat,点击确认。


显示XY坐标

点表格导入后的效果:

点表格导入效果


接着加入初始线,选择“ArcToolbox - 数据管理工具 – 要素 – XY转线”,在图中添加初始的吸引力线。注意选择正确的“起点X字段”和“起点Y字段”,(即经纬度),并确认坐标系为WGS-84大地坐标系。


XY转线”工具


XY转线后结果


接下来在边表格中添加权重字段,以进行进一步的不同班次数量的可视化。打开线的属性表,kykand1其中并没有班次信息(weight),需要通过连接表格的方式添加该字段。


线的属性表


右键该线的图层,选择“连接与关联”-“连接”,将边表格连接到该图层中,关联字段为id列,关联后该表格中就有了各城市间吸引线的权重。


边表格连接到该图层中


通过右键线的图层,选择“属性”-“符号系统”-“数量”,将不同的班次数量进行按线的粗细进行的可视化操作,得到如下效果。


班次数量信息可视化

在界面上方栏中可以选择“视图”-“布局视图”,以此调整图的规格、样式,添加比例尺、指北针、标题、图例等地图要素。注意通过添加文本的方式,将城市名称在地图上进行注记。最终出图结果如下:


进一步地,可利用经典的万有引力模型和人口、GDP、距离、交通线路数量等数据继续分析城际间长途客运联系与吸引力。限于篇幅,不再赘述。





客运网络分析





选择Python复杂网络分析库NetworkX作为网络各种指标分析的工具。NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。



首先,需要将网络的边表格转化为以英文逗号分隔的.txt文本形式,且只保留起点和终点两列信息。将处理好的数据粘贴至 .txt文件中并保存,记录其存储的位置,便于后续程序读取时使用。


计算网络静态指标,将数据读取至程序进程中,为此先使用Python设计一段代码读取网络,该代码细节如下,其主要功能为设计函数load_graph() 读取对应地址中的网络节点及边数据。


1. # 读取网络

2. def load_graph(file_path):

3.     with open(file_path, "r",encoding='utf-8') as fd:

4.         data = fd.readlines()

5.    

6.     title = data[0]

7.     data = data[1:]

8.     # 从数据中提取边,建立一个空的有向图G

9.     edges = [it.strip().strip(",").split(",")[:2] for it in data]

10.     G = nx.Graph()

11.     G.add_edges_from(edges)

12.     return G


然后可以计算出各种网络指标。




贵州省15个主要城市两两之间总有42条路线(无向);该网络平均集聚系数为0.7006,表明贵州省15个城市之间的客运线路连接较为紧密;长途客运网络的平均距离为1.6571。
该网络的网络传递性比较低,只有0.5413,说明该网络传递性较低,其全局聚类系数比较低;该网络的度中心性也比较低,这说明该长途客运网络的平均度值比较低,只有较少量的节点连接了比较多的边;此外该网络具有较高的近性中心性和较低的平均介数中心性的特点。
从网络指标的分布上看,该网络的节点度数几乎集中在1-14范围内,印证前述该长途客运网络的平均度值比较低、度值分布不均匀的结论,也印证了只有少部分节点连接了比较多的边的推断。
贵州省长途客运网络指标及其数值
指标
数值
节点总数
15
边总数
42
平均集聚系数
0.7006
网络传递性
0.5413
网络直径
3
平均距离
1.6571
度中心性
0.3999
近性中心性
0.62336
平均介数中心性
0.05055


继续使用NetworkX进行网络鲁棒性分析,研究网络在随机失效和蓄意攻击下维持连通性和效率的能力。对网络的鲁棒性分析的思路,就是选取代表网络性能的指标,通过随机失效和故意攻击两种模式下的网络攻击,探求其功能性指标的变化情况,从而得到其鲁棒性的结论。

这一过程要进行节点和边的删除,但是一般网络的节点名称通常为汉字或字母、数字的组合,不方便进行删节点/边的处理,因此需要对数据进行一定的预处理,将名称用数字的形式代替,便于下面的编程分析。


使用连通性和效率两个指标考察鲁棒性。连通性侧重于分析网络的可达性能,而网络效率更多地关注网络上信息传递的效率。

无向网络的连通度:最大连通子图规模与网络规模的比值。

按照去除节点、边的方法可以分为随机失效、蓄意(故意)失效两种失效策略。进行迭代计算,取结果的平均值,以保证实验结果的可靠性。本次实验重复次数为20次。

通过程序,可以得到不同去除率下基于网络连通度、效率的随两种攻击模式下网络的鲁棒情况。


贵州省长途客运网络系统鲁棒性


结果显示:节点(城市)的重要性远高于边(线路班次);蓄意失效的破坏性大于随机失效。





问题与建议





关于贵州省长途客运网络的鲁棒性,其网络连通度随着失效节点数的增加,蓄意失效和随机失效一开始具有相似的趋势,都随着去除节点的增加而缓慢、近似线性地下降;但是随着去除节点比例的升高,网络连通度开始出现区别:当去除节点比例达到0.2之后,蓄意失效下的网络连通度开始快速下降,而随机失效曲线依旧近似线性地下降。


基于连通度的网络节点鲁棒性


这说明对于贵州省长途客运网络,其抵抗随机攻击破坏的能力相对较强,在节点失效比例处于0.2以下时几乎与随机失效的结果一致;而随着失效比例大于0.2,该网络的抵抗故意攻击能力开始下降。但是总体而言,该网络对抗蓄意攻击破坏的鲁棒性较低。主要是由于网络中重要节点的分布较不均匀,在一定的去除率下,很容易改变网络结构,导致整个网络的鲁棒性较低,因此需要对该网络进行优化。



通过网络分析发现,从贵阳到六盘水没有直达的客运线路,贵阳到六盘水的高速公路以前走安顺、镇宁,现在又可走织金、纳雍,还是有点绕。因此可考虑在贵阳和六盘水之间规划修建一条直通高速公路,让省城和六盘水之间一站直达,使两座城市之间联系更加紧密。

另外,作为地级市的毕节没有直达其他城市的客运线路,包括省城贵阳。这样就会阻碍毕节市与其他城市的交流和共同发展,也大大降低了毕节市人民外出的需求量,增加了外出的不便利性,建议至少增加毕节市与贵阳市的直达客运路线,从交通的角度带动毕节市的社会和经济发展。

除此之外,经查阅相关资料,可论证修建以下高速公路联线,使得省内高速公路路网更加合理,建议规划如下:
1、大方县杭瑞高速公路耗子冲互通—黔大高速公路六龙互通联络线;
2、湄潭—绥阳—跨渝遵、崇遵—仁怀高速公路联络线;
3、贵定县沪昆高速和厦蓉高速公路联络线;
4、德江县务德高速公路—杭瑞高速公路煎茶出口联络线;
5、德江县枫香溪镇—思南县杭瑞高速双龙互通—合余高速公路香坝互通联络线。枫香溪,曾为黔东革命根据地的核心区域,为加快老区发展,建议在十四五期间建条高速公路支线接入思南杭瑞高速双龙互通,以便纳入全省高速公路路网结点;
6、玉屏县江玉高速公路和石玉高速公路接口至沪昆高速公路联络线,建议延长至天柱,完成松桃至洛香高速公路的最后路段。
7、镇远县沿榕高速公路白洋坪互通至岑巩县沪昆高速公路出口联络线。
8、独山县麻尾经广西壮族自治区南丹县北部至罗甸高速公路联络线,打通贵州南部东西方向向肠梗阻等等。

总的来说,贵州省内各城市之间的客运联系不够紧密,还存在不少单向客运交通,使得两地之间交通联系不够便捷。因此,参考以上建议可考虑论证增加合适的线路使得网络通达性更高,增强网络的鲁棒性。让交通更好地服务人民,推动各城市间的发展。





作者信息





本文内容整理自2019级本科生SX的《复杂网络导论》课程实验报告。