abstreet/sumo/README.md
Dustin Carlino 39f5d50fcd The grand country split. #326
City names are now disambiguated by a two-letter country code. This
commit handles almost everything needed to make this transition. Main
next steps are fixing up map edits automatically and making the city
picker UI understand the extra level of hierarchy.

A little bit of fallout: lakeslice gridlocks again; this regression is
actually from the recent traffic signal changes, but I'm just now
regenerating everything. Will fix soon.
2021-02-13 15:45:59 -08:00

35 lines
1.1 KiB
Markdown

# SUMO interoperability
The purpose of this crate is to explore possible interactions between A/B Street
and [SUMO](https://www.eclipse.org/sumo/). Some of the ideas:
- Convert SUMO networks to ABST maps, to make use of SUMO's traffic signal
heuristics and junction joining
- Convert SUMO demand to ABST scenarios, to leverage all of the existing
[demand generation](https://sumo.dlr.de/docs/Demand/Introduction_to_demand_modelling_in_SUMO.html)
techniques
- Prototype a new SUMO frontend by gluing ABST UI code to
[TraCI](https://sumo.dlr.de/docs/TraCI.html)
## Usage
A quick SUMO primer. To convert an OSM file into a SUMO network:
`netconvert --osm-files data/input/us/seattle/osm/montlake.osm --output.street-names --keep-edges.components 1 -o montlake.net.xml`
To generate random trips and compute the routes for them:
`/usr/share/sumo/tools/randomTrips.py -n montlake.net.xml -r routes.xml`
To simulate these in SUMO:
`sumo-gui -r routes.xml -n montlake.net.xml`
To convert the network into an ABST map:
`cargo run --bin sumo montlake.net.xml`
To view it in ABST:
`cargo run --bin game -- --dev data/system/zz/sumo/maps/montlake.bin`