半年前就开始构建道路网络,当时钻进牛角尖一直想用arcgis中的UNA插件,结果这个插件经常出错,不好用,就在前天,我竟然有了一丝灵感,然后昨天我就把它实现了,方法还很简单!

要说的是,我的道路网络、地铁网络主要用来分析节点中心性的,比如degree/closeness/betweenness,要用到的软件除了Arcgis之外,需要Gephi。下面开始说一说具体怎么用!

首先,加载道路网图层,开始编辑,全选道路网之后,进行相交线打断,至此,就把道路的所有交叉点变为网络节点,并且相互断开了;

然后,我们开始进行拓扑检查,检查是否存在伪结点、节点相互重叠的现象,拓扑检查步骤我就不细说了,百度一下都有教程,soeasy

拓扑检查完之后,检查你的gis中,自定义——扩展模块——Network Analyst是否已经开启,确认开启后,我们进行道路网络的构建:在catalog中,右键点击要构建网络的道路图层,出现新建网络数据集,一路确认下一步操作,要注意一般为无向路径。接着网络数据集就构建好啦!节点和路网相互分离,导出节点数据,导出路网数据!!

进行邻接矩阵的操作,用到的工具为空间连接spatial to join,注意有一项是要点击one to many!!!!然后确认,得到邻接矩阵。

把邻接矩阵属性表导出来,导进excel中处理,这里的joinFID为节点的fid;Target fid 为线路的数据,把target FID进行升序,你会发现,都是成对出现的,这是因为,每条线路有且只有两个节点,也就是说两个节点必定对应一条线路。

打字好累,,

新建一个excel表,表里粘贴过去join和target两列数值,再新加一列从0一直到底的自然列,这是为了筛选出奇数行和偶数行的数值,以便形成gephi能够识别的source-target形式,好了,说到这你差不多也能明白接下来的操作了(熟悉gephi的话),保存为边表格。

再新建一个excel表存储所有的节点FID,这是节点表格,然后将边表格节点表格分别导入Gephi中,大功告成,可以进行下面的网络分析了。

以上是我聪明的小脑瓜以及跟学妹探讨的小tip,如果有不明白的地方可以给我留言。毕竟我很了解那种,非常渴求构建一个完美的道路网络,但却没有好的方法的心情,哈哈哈哈!

祝大家学有所成,祝我自己顺利毕业~~