贵州省长途客运网络分析 二维码
16
完整实验内容(下文仅展示部分内容) 数据准备与处理 贵州省有9个地级市和6个县级市,报告涉及贵州省的15个主要城市。
完整边表格(无向) 软件操作 本实验基于贵州省的15个主要城市进行长途客运交通的吸引力分析,其可视化的必要底图是各个市辖区的行政边界图,故需要首先将其导入ArcGIS中。具体操作如下: 首先,导入中国各省市行政区划图,将多余的省市信息删除,只保留贵州省及其范围内的各市辖区范围底图,随后将参与分析的15个城市的点导入底图。导入的方法是将带有节点经纬度信息的点表格导入ArcGIS中进行可视化:
选择“ArcToolbox – 转换工具 – EXCEL – EXCEL转表”, 右键导入的表格-显示XY坐标,X字段选择Lng,Y字段选择Lat,点击确认。 ![]() ![]() 点表格导入后的效果: 接着加入初始线,选择“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
![]() 贵州省长途客运网络系统鲁棒性 问题与建议 关于贵州省长途客运网络的鲁棒性,其网络连通度随着失效节点数的增加,蓄意失效和随机失效一开始具有相似的趋势,都随着去除节点的增加而缓慢、近似线性地下降;但是随着去除节点比例的升高,网络连通度开始出现区别:当去除节点比例达到0.2之后,蓄意失效下的网络连通度开始快速下降,而随机失效曲线依旧近似线性地下降。 基于连通度的网络节点鲁棒性 这说明对于贵州省长途客运网络,其抵抗随机攻击破坏的能力相对较强,在节点失效比例处于0.2以下时几乎与随机失效的结果一致;而随着失效比例大于0.2,该网络的抵抗故意攻击能力开始下降。但是总体而言,该网络对抗蓄意攻击破坏的鲁棒性较低。主要是由于网络中重要节点的分布较不均匀,在一定的去除率下,很容易改变网络结构,导致整个网络的鲁棒性较低,因此需要对该网络进行优化。 作者信息 本文内容整理自2019级本科生SX的《复杂网络导论》课程实验报告。
文章分类:
数据采集
|