OSM2GMNS相关说明文档:
详细用户文档:https://osm2gmns.readthedocs.io;
Github链接:https://github.com/jiawei92/OSM2GMNS;
本文测试案例可参考:https://github.com/EntaiWang99/Network-API/tree/master/OpenStreetMap_to_GMNS/BJTU_Example。
另外,除了OSM2GMNS,Trans+AILab团队还推出了一款多层次网络自动生成工具Ocean。基于给定的宏观网络,Ocean能自动生成相应的中观和微观网络,以满足不同的建模需求。
Github链接:https://github.com/asu-trans-ai-lab/Ocean;
在线可视化演示:https://asu-trans-ai-lab.github.io/website_openlayer_4GMNS/
1. 开源地图OSM
OpenStreetMap(www.openstreetmap.org)是一款知名的开源地图数据库,可提供相关地图信息资源的下载服务。用户可通过多种方式下载 “.osm”,".osm.pbf"等格式的地图文件,通过解析手段可以获取想要的路网数据。
2. 数据解析方法对比
OSMnx,QGIS等软件包提供了解析.osm文件功能,将下载的地图数据包转换为常用的Excel格式。从路网连通性,网络建模适用性以及交通需求支持三个层级对OSMnx、QGIS以及OSM2GMNS特点总结如下。
3. OSM2GMNS
由美国亚利桑那州立大学ASU Trans+AI Lab团队开发
3.1 关于GMNS数据格式
GMNS全称General Modeling Network Specification,其定义了一套灵活统一的多模式交通网络表示格式,方便研究人员分享、合并来自不同渠道的网络数据。
3.2 安装方法
OSM2GMNS已在http://pypi.org平台发布,用户可通过pip方式安装。用户需配置Python 3或Anaconda 3环境,在相应Python环境的Terminal中输入如下命令行:
pip install osm2gmns
较新版本(应该是1.0及其之后)引入了shapely等地理数据处理包。
3.3 使用方法
3.3.1 地图数据下载
(1)登陆官网下载地图数据包,这里以北京交通大学周边路网为例展示,推荐使用 Overpass API 镜像下载。
移动地图至需要下载的区域,点击“导出”或“Overpass API”按钮即可开始下载,随后会下载得到一个.map文件,这个文件即为路网数据文件。
3.3.2 数据解析
(1)启动Python编程环境,键入如下命令,运行程序即可。注意map文件需与程序保存在同一文件夹。
import osm2gmns as og
net = og.getNetFromOSMFile('map.xml')
og.outputNetToCSV(net,output_folder='output')
(2)除基本功能外,OSM2GMNS还提供了获取不同交通模式网络功能,如获取铁路网络,可修改为如下命令。network_type参数可选’auto’, ‘bike’, ‘walk’,‘railway’, 'aeroway’及任意组合。
net = og.getNetFromOSMFile('map.xml', network_type=('railway'))
net = og.getNetFromOSMFile('map.xml', network_type=('auto','railway'))
(3)如想获取POI(Point of Interest)数据,可将参数POIs设置为True:
net = og.getNetFromOSMFile('map.xml', network_type=('railway'), POIs=True)
(4)由于真实路网中存在复杂交叉口情况,同一个交叉口存在多个网络节点(如下图左),OSM2GMNS提供了简化交叉口功能,将属于同一交叉口的节点统一为一个节点(如下图右),方便后续工作开展,命令如下:
net = og.getNetFromCSV()
og.consolidateComplexIntersections(net)
og.outputNetToCSV(net, output_folder='consolidated')
3.4 输出文件
(1)核心输出文件由 node.csv(网络节点),link.csv(网络连接弧)和 segment.csv(网络段)组成,如用户选择POI也会有poi.csv文件输出。所有文件格式均基于GMNS格式,方便用户进行后续交通系统分析研究。
(2)如用户选择复杂交叉口简化功能,consolidated文件加中会有简化后路网的node.csv和link.csv文件。