osm2gmns

osm2gmns is a high-performance Python package designed to convert OpenStreetMap (OSM) data into standardized transportation networks. Leveraging a C++ core wrapped in an intuitive Python interface, osm2gmns offers both computational speed and ease of use. It empowers researchers and practitioners to generate detailed, multi-modal networks (driving, cycling, walking, railway, aeroway) for any region worldwide with minimal coding effort.

The package outputs networks primarily in the GMNS (General Modeling Network Specification) format, promoting interoperability and simplifying data exchange within the transportation modeling community.

>>> import osm2gmns as og
>>> net = og.getNetFromFile('map.osm')
>>> og.outputNetToCSV(net)

Note

Welcome to the osm2gmns v1.x Documentation!

This v1.x version introduces significant architectural changes, performance improvements, and new features compared to v0.x, and is not fully backward compatible.

  • We encourage users to adopt v1.x for the latest capabilities and ongoing development.

  • v0.x will only receive critical bug fixes moving forward.

  • Functionality like Multi-Resolution Modeling (MRM), currently available only in v0.x, is planned for future v1.x releases.

Key Features

  1. Comprehensive Network Modeling

  • Worldwide Network: Generate networks from OpenStreetMap for any region globally

  • Multi-Modal Support: Generate networks for vehicles, bicycles, pedestrians, railways, and aeroways

  • GMNS Compatibility: Standardized output format for interoperability with other tools

  1. Advanced Functionality

  • Intersection Consolidation: Simplifies complex junctions for various modeling needs

  • Movement Generation: Creates turning movements at intersections

  • Directed Network Generation: Automatic creation of directional links for bidirectional roadways

  • Traffic Zone Creation: Supports origin-destination modeling

  • Ready-to-Use Networks: Automatic inference of critical attributes (lanes, speed, capacity)

  • Network Visualization: Built-in tools for visual inspection and verification

  1. Performance and Usability

  • High-Performance Core: Written in C++ for maximum computational efficiency

  • Intuitive Python Interface: Simple API makes complex network extraction straightforward

Citation

If osm2gmns contributes to your research, please cite the following publication:

Lu, J., & Zhou, X.S. (2023). Virtual track networks: A hierarchical modeling framework and open-source tools for simplified and efficient connected and automated mobility (CAM) system design based on general modeling network specification (GMNS). Transportation Research Part C: Emerging Technologies, 153, 104223. [link]

Contents