Compare the OSM extraction procedures for OSMnx, OSM2GMNS and SharedStreets.
The travel modeling community is embracing OpenStreemMap (OSM) as a source for roadway networks. To use OSM in travel models, the source map needs to be transformed into a routable network. This repository compares the extractions created by several tools, including OSMnx, OSM2GMNS, and SharedStreets.
The repository contains the OSM data for Portland, Oregon in both XML and protobuffer formats. Separate Python scripts and corresponding Docker containers are used to extract a database of routeable links from the OSM files using each of the packages.
docker-compose up --build osmnxdocker-compose run osmnx bashconda activate oxpython get-osmnx.py
docker-compose up --build osm2gmnsdocker-compose run osm2gmns bashpython get-gmns.py
docker-compose up --build sharedstreetsdocker run -it --rm sharedstreets shst extract usr/node/nw_pdx.geojson --out=usr/node/shst.geojson --metadata --tile-hierarchy=8 --tiles
- See
compare-osm2gmns.ipynb(no special Python environment needed)