Dustin Carlino
2bfb5d5ac4
Track how many cars are entering zones with caps.
...
Tested by print debugging and comparing to throughput stats
2020-08-20 16:38:45 -07:00
Dustin Carlino
fa83554eb4
Consolidate code for loading edits from JSON
2020-08-20 16:33:08 -07:00
Dustin Carlino
084b9d74cd
Store delay for traffic signals per direction of travel, using a compressed representation of turn groups. No substantial increase in prebaked file size.
2020-08-20 16:21:52 -07:00
Dustin Carlino
3a10416e26
Organize map edits code a little
2020-08-20 15:34:15 -07:00
Dustin Carlino
2c5bbd3e7e
Use alternate language building names and amenities, when available. Fixes #271 .
...
Tested in Shinjuku. No substantial file size increase for any maps.
2020-08-20 10:39:28 -07:00
Dustin Carlino
24a8d4a836
Prepare to support capping the number of vehicles that can pass through
...
a zone per hour. This is part of support for some kind of congestion
charging experiments. This step just rearranges the data to define the
cap and makes a UI to edit it. Not enforcing the cap yet.
2020-08-19 17:46:40 -07:00
Dustin Carlino
2ebf463635
Handle buildings tagged as parking garages in OSM.
2020-08-19 17:19:54 -07:00
Dustin Carlino
d427893843
Model parking lots with extra un-renderable spots. This fixes #150 , lots
...
without aisles, and #265 , multi-story garages.
2020-08-19 17:19:54 -07:00
Dustin Carlino
6749edb2b6
Change language of roads via settings, for #271
2020-08-18 17:32:49 -07:00
Dustin Carlino
2e93fdbf54
Fix parking aisle loops that cross the parking lot polygon. Closes #242
2020-08-18 15:12:12 -07:00
Dustin Carlino
40ddd06194
Improving the on/off ramp geometry by preferring that the "thin" road is
...
one of the outbound roads. This was motivated by one particular example
in downtown, and per screenshot tests, doesn't have regressions
elsewhere. Also improves a few cases in montlake.
2020-08-17 17:31:21 -07:00
Dustin Carlino
83e84c10af
Handle more errors in importer. Got the entirety of Taiwan to import...
...
but the water polygons are so sad. :(
2020-08-15 09:36:23 -07:00
Dustin Carlino
25ee39af89
Prepare to flag-guard an experiment to handle uber-turns differently
...
when allowing a car to start a turn. It causes
https://github.com/dabreegster/abstreet/pull/276#discussion_r470269394
and also the lakeslice scenario to gridlock (a regression that began a
few weeks ago). But keep the flag on for now, to keep the montlake
scenaro running at least.
https://dabreegster.github.io/abstreet/trafficsim/gridlock.html has
notes about the many different causes and in-progress fixes for
gridlock. This experiment hasn't been explained very well yet, but
roughly it treats a cluster of traffic signals as one, so that once a
vehicle gains access through the first light, they guarantee immediate
access through the entire sequence. This interacts with the "don't block
the box" behavior (don't start a turn if you might get stuck in the
intersection) strangely.
While attempting to get this rollback to work, I also had to manually
redraw the traffic lights for a few manually specified intersections.
They became out-of-date a few weeks ago when I cleaned up the OSM
geometry upstream and the referenced IDs changed, and I hadn't bothered
to re-time the signals. Luckily, with the new multi-signal editor,
redrawing the timing was much easier than originally!
Regenerated all data and lots of bus routes vanished. Plan to get back
to that project soon.
2020-08-14 11:33:25 -07:00
Dustin Carlino
c84833feb4
More steps on the multi-signal editor, adapted from the old editor:
...
- Add a header to the side panel
- Prevent leaving the editor with missing turns
- Apply edits properly when leaving
2020-08-13 15:12:03 -07:00
Dustin Carlino
11cefb118a
And the same thing for OriginalIntersection
...
Actually, don't need to regenerate map data. Thanks to the magic of
zero-cost wrapper types, the binary format is the same.
2020-08-13 11:48:13 -07:00
Dustin Carlino
843d24b6ed
Refactor: OriginalBuilding should just be OsmID. The purpose of
...
OriginalBuilding was to refer to buildings in a stable way across
different maps and across OSM updates. Recently, OsmID and friends
appeared. The double layer of wrapping is an annoying API.
Not regenerating map data yet; about to do the same thing for
OriginalIntersection
2020-08-13 11:37:06 -07:00
Dustin Carlino
58849d3d15
Small refactor: in most places, we can actually use String as the error type; Box<dyn Error> is only useful when errors of different types are propagated.
...
Nowhere in abst do we care about handling different errors differently
2020-08-13 07:12:06 -07:00
Dustin Carlino
3b49353df2
gracefully degrade if we cant make TurnGroups for a traffic signal. this
...
gets SF, Tokyo, and London to import!!!
2020-08-12 11:05:19 -07:00
Dustin Carlino
62bb82886d
blaze through all the crazy errors in intersection_polygon, just
...
recording errors and falling back to circular geometry and not trimming
roads
also filter out highway areas like
https://www.openstreetmap.org/way/132705692 , woops!
Manchester and NOLA now import...
2020-08-12 09:36:46 -07:00
Dustin Carlino
a27b029ff6
plumb errors for shifting polylines through more APIs. mostly no-op for
...
now, just switched everything to must_* variants, but this paves the way
for handling failures.
... except for rendering pedestrian crowds -- I _think_ I saw a crash
from that, and it's easy to have a fallback there
2020-08-12 08:18:10 -07:00
Dustin Carlino
8ce2568280
turn the headless runner into a demo of a JSON API, for #245 ( #268 )
...
turn the headless runner into a demo of a JSON API, for #245
2020-08-11 16:44:19 -07:00
Dustin Carlino
312775b491
refactor TurnGroup creators, but keep it stored on traffic signal, so
...
it's regenerated for edits
2020-08-10 15:39:28 -07:00
Dustin Carlino
c101666c7c
finishing the consolidation of docs
2020-08-10 14:56:39 -07:00
Dustin Carlino
f9b41dda30
finally get github pages + mdbook to work, thanks to
...
https://github.com/rust-lang/mdBook/pull/1248#issuecomment-671528271 and
removing jekyll
2020-08-10 13:49:30 -07:00
Dustin Carlino
31e8c654d2
prototype directional traffic signal demand viz over time
2020-08-10 13:19:47 -07:00
Dustin Carlino
ecd5d86009
handle bus stops right at intersections
2020-08-08 19:32:18 -07:00
Dustin Carlino
8764226765
cutover to using the new stuff for snapping bus stop positions...
...
seems pretty good for a few examples. not regenerating yet. still lots
of routes skipped because of edge cases, but now it's way more clear
how to work on those smaller problems.
2020-08-08 18:14:08 -07:00
Dustin Carlino
6c525d625d
match transit stops to side of the road based on the orientation of the points in the route. don't use this just yet...
...
not regerating yet either
2020-08-08 17:44:28 -07:00
Dustin Carlino
d1e9e38e82
refactor for #231 : use typed OSM IDs everywhere, dedupe URL code
...
have to regen, the binary format has changed
2020-08-08 16:09:36 -07:00
Dustin Carlino
84e913a642
fix bus routes where the last bus stop is also on the outbound border
...
lane
not regenerating yet
2020-08-08 10:11:09 -07:00
Dustin Carlino
eee179ce8a
store offset in the permanent signal format
2020-08-08 09:45:59 -07:00
Dustin Carlino
49e8ab3680
try to get seoul to import
2020-08-08 09:32:43 -07:00
Dustin Carlino
e35c69f6f3
ezgui Wizard (and its pet Cloneable)
...
Here lies a weird coroutine experiment
09/20/2018 - 08/07/2020
2020-08-07 14:04:41 -07:00
Dustin Carlino
62ed91925a
random fixes in the map importer to try to import a bunch of new cities.
...
not too successful, but made progress.
2020-08-07 10:24:58 -07:00
Dustin Carlino
5998afaea4
interpret some OSM turn restrictions as meaning no lane-changing on approach to turn lanes. deeply sanity-checked for monlake only, seems reasonable from spot checks elsewhere
...
closes #261 -- not sure it's worth actually handling changes:lanes yet,
but this fixes the original issue
2020-08-06 15:57:36 -07:00
Dustin Carlino
d2d9b7b092
finally fix the small border road geometry problem for krakow and west seattle
2020-08-06 11:23:00 -07:00
Dustin Carlino
5eefdaef18
still import maps with badly broken OSM geometry. warn loudly, don't
...
attempt to trim the roads, put a funny circle there instead.
2020-08-06 08:29:08 -07:00
Dustin Carlino
3c24b7aa5a
pull in spawn times for seattle from gtfs. looks wrong, but it's a
...
start.
2020-08-05 14:46:37 -07:00
Dustin Carlino
2f618815b1
make explicit rank enum for road types, instead of using arbitrary numbers. cleanup for #231
2020-08-05 11:40:42 -07:00
Dustin Carlino
9961b870b6
try to apply the new on/off ramp intersection geometry to all relevant
...
3-way intersections, for #131
2020-08-05 11:03:02 -07:00
Dustin Carlino
cd712009ec
whittle down old stuff from map_editor. i think it still has value as a RawMap viewer with an easy way to move points and quickly iterate on intersection geometry, but things like lane editing and turn restriction viewing aren't useful anymore.
2020-08-05 08:38:04 -07:00
Dustin Carlino
e82fe996ad
reduce GfxCtx surface area
2020-08-05 07:56:57 -07:00
Dustin Carlino
2139f0e5f4
produce much nicer intersection geometry for one particular motorway
...
intersection. will carefully generalize this next...
not regenerating yet
2020-08-04 16:53:24 -07:00
Dustin Carlino
6f3be4463b
start editing route schedules. primitive UI, but getting all the map
...
edits plumbed through
2020-08-04 14:27:24 -07:00
Dustin Carlino
8c2c153347
silence a useless warning, fixing #204
2020-08-03 18:18:07 -07:00
Dustin Carlino
bcbf229eb7
rip out all users of the old find_closest_lane for #176 .
...
- this gives offside support to bus/sidewalk matching, getting 11 more
routes working in krakow
2020-08-03 17:56:58 -07:00
Dustin Carlino
e52da86f74
matching parking lots to offside driving lanes if needed. fixes all ~37 cases in krakow!
...
not regenerating yet
2020-08-03 16:50:48 -07:00
Dustin Carlino
588a20e8d3
reduce warnings in map importer
2020-08-03 16:22:02 -07:00
Dustin Carlino
f73516d183
start representing bus spawn rates explicitly
2020-08-03 13:12:02 -07:00
Dustin Carlino
940d2265c0
spawning buses at 0.01m on a non-border lane can break, because other cars approach, and the buffer distance gets broken. instead, spawn the buses a few lanes away, if needed. fixes #260
...
now only ~400 agents left in lakeslice by end!
2020-08-03 11:08:21 -07:00