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 osmnx
docker-compose run osmnx bash
conda activate ox
python get-osmnx.py
docker-compose up --build osm2gmns
docker-compose run osm2gmns bash
python get-gmns.py
docker-compose up --build sharedstreets
docker 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)