有段时间没有骑车上下班,坐公交的时候就时常想武汉一共有多少条公交线路,一共有多少个公交站点,哪些公交站点比较好转车之类的问题。刚好那时候看了一篇分析北京地铁站区域性优劣分析的帖子,于是想武汉是不是也可以顺带做一下分析呢。武汉地铁不多,可以做公交的分析。
先利用百度地图API获取武汉市的公交信息,主要包括公交线路名称和坐标,公交站点名称和坐标。其实除了这两项还可以获取其他很多信息,比如运营公司,运营时间等。获取信息后可以在GIS软件中展示,武汉公交的分布是这样子的。汉口很密,武昌比较稀。整个武汉295条公交线路,2052个公交站,公交站点重复率约为72.58%。
之后就是整理分析数据。那篇帖子里每个地铁站有三个指标,分别是Closeness,Betweeness和大名鼎鼎的Page Rank。研究了一下,原理似乎很简单,但过程好繁复的样子,没那么多业余时间做,于是我就自己意淫了两个指标来判断公交站点的优劣。
第一个指标与Closeness相似,即A站点有多少条公交线路,记做n(n从0开始),相当于网络中一个节点的边数。如果A站点n很大,表示这个公交站有很多条公交线路可以坐,转车会很方便。
第二个指标与公交线路有关,稍微用到点Page Rank的思想。假设A站点有两条公交线路B和C,如果B线路沿途停靠的站点都是n很大的站点,而C线路沿途停靠的站点都是n很小的站点,那么通常来说肯定是B线路比较好,因为乘坐B线路比C线路能到达更多的地方。B和C都在站点A交会,因此B和C的质量对站点A的质量也是有影响的。这个指标记做m,可以看成是途经A的公交线路的质量高低的一个指标。因此站点A的好坏可以用n和m来综合评价,即从数量和质量两方面评价。如果一个车站n很小但是m很大,表示虽然这个站点可供选择的线路不多,但是仍然可以乘坐这些公交方便地到达其它地方。如果n和m都很小,那就悲剧了,很不方便!
可以想到,如果某个站点n为0表示这个车站只有一条公交线路经过。而m是对整条公交线路进行计算的,如果m为0表示这条公交线路不与任何其他公交线路交会,如果坐上了m为0的公交车,那么你始终无法到达除这条线路途经站点外的任何其它站点(理论上是这样的)。意淫这个指标的时候就想应该不会有这种奇葩的公交线路吧,后来分析一看,有一条。
n很好计算,m怎么计算?m可以对公交线路途经的每个站点的n求和,再除以这条公交线路的站点总数,表示该条公交线路的平均站点重复数。因为只要坐上了一辆公交车,就可以到达这辆公交车途经的任