Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino 462baddf17 Robustify running the importer from the UI, for #602 and #82:
- Echo process output to the main UI's stdout, for easier debugging
- Remove the timing breakdown from elevation import, since it breaks
  when the function bails out early
2021-04-13 09:45:48 -07:00
.github/workflows Use Rust 1.51 to build. None of the new changes affect the codebase, though. 2021-03-25 09:02:04 -07:00
abstio embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
abstutil Change some uses of Into<String> to AsRef<str>, to avoid allocations. #253 2021-03-11 11:29:18 -08:00
collisions Upgrade most dependencies 2021-02-03 18:13:06 -08:00
convert_osm Robustify running the importer from the UI, for #602 and #82: 2021-04-13 09:45:48 -07:00
data Shrink boundary around Tempe to focus on the campus 2021-04-12 14:28:49 -07:00
fifteen_min embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
game Recreate the road in the quadtree when modifying width. #597 2021-04-10 11:56:05 -07:00
geom Make Polygon::from_geojson preserve rings. This fixes the WIP elevation contours. #82 2021-03-25 15:15:53 -07:00
headless Rename Map::new to be more clear that it should only be used in non-UI 2021-03-12 06:38:17 -08:00
importer Stop checking for osmconvert, unzip, and gunzip up-front in the importer. #602 2021-04-12 17:10:18 -07:00
kml Refactor lots of places that construct paths to the data/input dir, which is always organized by city. This would've made the previous change way easier. #326 2021-02-13 18:30:01 -08:00
map_editor Change road incline calculations to be stored in RawMap. Previously, the 2021-03-23 22:47:52 -07:00
map_gui Robustify running the importer from the UI, for #602 and #82: 2021-04-13 09:45:48 -07:00
map_model The new intersection polygon usually changes the trimming of all connected road center lines. #597 2021-04-10 11:56:05 -07:00
osm_viewer embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
parking_mapper rename txt.add -> txt.add_line 2021-03-19 17:48:30 -07:00
popdat Tidy up the new UK census gen code. #556 2021-03-05 16:51:02 -08:00
release new release 2021-04-11 10:14:27 -07:00
santa Refactor: store Direction for a Lane, simplifying Lane->DirectedRoadID. #555 2021-04-06 17:03:24 -07:00
sim Change Vec<Lane> to BTreeMap<LaneID, Lane> to prepare for 2021-04-09 14:35:49 -07:00
sumo Refactor: store Direction for a Lane, simplifying Lane->DirectedRoadID. #555 2021-04-06 17:03:24 -07:00
tests Change road incline calculations to be stored in RawMap. Previously, the 2021-03-23 22:47:52 -07:00
traffic_seitan Use LaneSpec in map edits, letting width of each lane be modified too. #597 2021-04-09 14:35:49 -07:00
traffic_signal_data Grab fresh Seattle OSM to fix the entrance to Broadmoor for #537. Also 2021-03-20 14:26:48 -07:00
updater Use u64 to describe number of bytes in the Manifest, now that we have a massive GeoTIFF in there that breaks wasm's 2^32 usize limit. #586 2021-03-24 21:23:38 -07:00
videos Delete mdbook. It's been split out to https://github.com/a-b-street/docs 2021-01-31 15:44:41 -08:00
web embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
widgetry embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
widgetry_demo embed mode and reworked web build system (#592) 2021-04-01 19:31:02 -07:00
.gitignore Import a part of Singapore 2021-04-11 08:44:49 -07:00
Cargo.lock Upgrade glow 2021-03-25 15:23:13 -07:00
Cargo.toml Fix flatgeobuf dependency, which was bringing in native SSL bindings. Closes #519 2021-02-18 10:28:11 -08:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
import.sh Attempt to display the Timer progress and logs in separate parts of the screen when running the importer. #262 2021-01-21 19:57:38 -08:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md new release 2021-04-11 10:14:27 -07:00
rgrep.sh Update trip start/end icons 2021-04-03 11:26:01 -07:00
rustfmt.toml tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00

A/B Street

Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a game exploring how small changes to a city affect the movement of drivers, cyclists, transit users, and pedestrians. It works anywhere in the world, thanks to OpenStreetMap.

Show, don't tell

Alpha release trailer

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation

Roadmap and contributing

See the roadmap for current work, including ways to help. If you want to bring this to your city or if you're skilled in design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. Follow r/abstreet for weekly updates or @CarlinoDustin for occasional videos of recent progress.

Project mission

If you fix some traffic problem while playing A/B Street, my ultimate goal is for your changes to become a real proposal for adjusting Seattle's infrastructure. A/B Street is of course a game, using a simplified approach to traffic modeling, so city governments still have to evaluate proposals using their existing methods. A/B Street is intended as a conversation starter and tool to communicate ideas with interactive visualizations.

Why not leave city planning to professionals? People are local experts on the small slice of the city they interact with daily -- the one left turn lane that always backs up or a certain set of poorly timed walk signals. Laura Adler writes:

"Only with simple, accessible simulation programs can citizens become active generators of their own urban visions, not just passive recipients of options laid out by government officials."

Existing urban planning software is either proprietary or hard to use. A/B Street strives to be highly accessible, by being a fun, engaging game. See here for more guiding principles.

Credits

Core team:

Others:

Data: