上一篇文章介绍了如何构建Space L实体网络的模型,这一篇是对上一篇文章的一个补充优化。
以下部分摘自上一篇文章:如何建立复杂网络实体网络的Space L模型
地铁网络,一般都有三四百个节点,线路十几条左右,看地铁图的是一个眼花缭乱。若是人工统计出来数据也是一项大工程。看着就想放弃,但其实掌握一定的方法并没有那么的费劲。
- 按线路进行节点的统计,先编号,然后去除掉重合的节点
- 统计连接关系时有一定的规则:比如从左往右统计、从上往下统计,这样可以避免重复统计
- 不要直接列出邻接矩阵,先统计出连接关系生成邻接表,然后再转成邻接矩阵
- 关于邻接表,最好再检查一遍
- 以上工作最好分成数天进行,否则负荷工作效率低且出错率较高
可以看到,建模时候最头疼的就是数据的处理问题,运用以上的经验可以提升我们的效率,但是治标不治本,依旧会浪费掉我们大量的时间。其实,如果不考虑换乘站(重复节点),连接关系还是比较好统计的,比如一条线路有10个站点,按顺序分别为a、b、c….j,那么连接关系可以表示为下图的1-9列:
最近有一个需求,要统计某市的公交网络,有300多条线路,大概有3000多节点。如果此时还按之前的办法:人工统计线路中的站点,然后进行编号的话,那整个工程量不仅巨大,并且在统计过程中也很容易出错。
所以可以让程序帮助我们去识别站点名称,然后依次给它们编号,这样就可以生成直接使用邻接表。
具体处理方式,可以大概分为以下几个步骤:
% 1.从xls文件中,读取数据(或者直接新建数据)
% ra