【欢迎投稿】
如果你有与城市数据、城市创新、智慧城市、新技术等相关主题的稿件,欢迎来稿,稿费多多,请联系微信客服 lemon_udparty
【本期看点】
几个月前学过一篇教程,介绍了如何利用高德导航接口获取路网数据,经批量处理后,可直接导入TranCAD等交通模型仿真软件。本次向大家分享处理好的全南京市域路网数据,并以内置Dijkstra最短路算法的webGIS页面予以呈现,以期为大家学习研究提供帮助。
点此查看原教程>
路网模型自动构建
许新昆,公众号:城市数据派惊艳!这样处理可得到细至可用于交通模型的路网数据丨城市数据派
本期投稿
作者:许新昆
北京交通大学
个人公众号: 数牍小点子
Coding让交通更智能
引言
尽管原教程已经写的比较详细并且也开放了源代码,但是该方法不少操作较抽象难以理解,且需要对java工程、ArcGIS、oracle数据库都比较了解才能很顺利地完成所有步骤,不少朋友向我吐槽能不能只用java或者python一种工具就搞定,我也尝试过只用java代码来实现,但是因为路段处理中的不同步骤高度耦合,为提高数据完整性和正确率就必须一次性加载所有原始数据,这就造成不少问题。
首先,内存不够用,我的电脑8G内存在处理的路段记录数达到约1000万条时就崩掉了; 其次,当数据量不断增长时,性能不断下降,处理时间呈指数增长; 以及一些其它细节问题。这就好像,盖一个10层楼的房子和一个1层楼的房子,该10层楼房子绝不是把1层楼房子盖十次这么简单,要考虑的问题多得多。目前为止,还没能研究出能够一步到位的解决方案。
另外,我在教程中只展示了很少的数据,大家看不到当研究区域很大、路网规模庞大时该方法的实际工作效果。针对以上问题,本次直接向大家分享南京市的路网数据,拓扑和连通性问题已经处理完毕,大家可直接导入交通模型软件中使用。
从几个方面介绍下数据
数据来源:
以高德路径规划接口获取的路网数据为基础,做了一系列拓扑和连通性处理。具体见原教程,细节上做了一些优化处理,大体上不变。
数据量:
调用接口次数:88474次
原始数据(路段)数量:约4000万
处理之后数据(路段)数量:20.5万
字段如下:
数据更新时间:
2020年12月23日
数据格式:
SHP格式
坐标系统:
提供火星坐标系,WGS84两种坐标
路网完整性说明
采用多种方式选定了88474个不同的OD对进行导航,除了一些小的支路没有覆盖到,其它道路绝大多数都覆盖到了,足以满足建模需要。路网完整性100%达不到,但是95%以上是有的。
数据展示
1. 数据库记录
2. TransCAD
将数据导入TransCAD时,方向dir填1(表示单向),导入后效果如下:
3. ArcGIS
在ArcMap中通过调整线的样式,用箭头表示路段的方向,可以看到更多细节。这里贴几张细节图:
新街口交叉口转向
鼓楼环岛
赛虹桥立交桥
GIS网页展示
示例网址:
https://xuxinkun.gitee.io/nj_short.html
文字和图表展示的信息很有限。为了让大家更直观地看到路网数据实际效果,我做了个GIS地图网页,以矢量方式加载了南京城区局部路网数据,大家可以打开上述示例网页按下述操作检查路网的拓扑和连通性:
a. 打开地图,随便点击一个位置A,再点击另一个位置B,后台将自动寻路,然后展示从A到B的最短路径,将路径标红显示,并提示其距离,如图:
鼓楼环岛
Dijkstra寻路过程
b.放大或缩小地图,可仔细查看最短路覆盖路段,交叉口和复杂互通的地方值得细看;
c.再点击另一个位置C,则自动寻路从位置B到C的最短路径,可反复点击不同位置。
数据下载
示例网址:
https://xuxinkun.gitee.io/nj_short.html
因数据量较大,该网页只加载南京城区的路网数据。
本文仅代表作者观点,不代表城市数据派立场;
本文系作者授权城市数据派发表,未经许可,不得转载;
本网站上的所有内容均为虚拟服务,一经购买成功概不退款,请您理解。