Commit Graph

6329 Commits

Author SHA1 Message Date
Dustin Carlino
7852e1d2b8 Import scenarios from grid2demand's input_agents.csv directly from the UI! #603 [rebuild]
For reference, the input_agents.csv -> abst input is ported from
https://github.com/asu-trans-ai-lab/grid2demand/blob/main/src/demand_to_abst_scenario.py
2021-04-13 13:39:50 -07:00
Dustin Carlino
d5dfce6267 The docker output wasn't getting plumbed through the UI logging. #82 2021-04-13 10:38:34 -07:00
Dustin Carlino
dd6bdfca72 Document root file workaround for docker. #82 2021-04-13 10:12:57 -07:00
Dustin Carlino
096acd1fea Properly interleave stdout and stderr when running the importer from the UI, for #602 and #82.
This makes the logs understandable and should fix the issue where the
last line of one_step_import's output is sometimes a warning instead of
the map name.
2021-04-13 10:07:56 -07:00
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
Dustin Carlino
272589bbbc Stop checking for osmconvert, unzip, and gunzip up-front in the importer. #602
Originally this check was useful for people to discover missing
dependencies before spending time trying to import. But the importing
process has changed considerably since then -- much of the time, it gets
called by one_step_import through the UI. It has no need for those 3
commands in that case. If somebody winds up needing any of these
external commands, they'll still get a good error eventually.
2021-04-12 17:10:18 -07:00
Dustin Carlino
361bd7b8ed Shrink boundary around Tempe to focus on the campus 2021-04-12 14:28:49 -07:00
Dustin Carlino
a5f56e6011 new release 2021-04-11 10:14:27 -07:00
Dustin Carlino
4f821bf75c Start linking to the versioned web build, since I constantly break dev. [rebuild] [release] 2021-04-11 09:03:29 -07:00
Dustin Carlino
417850cbed Import a part of Singapore 2021-04-11 08:44:49 -07:00
Dustin Carlino
6b30bffc43 Recreate the road in the quadtree when modifying width. #597 2021-04-10 11:56:05 -07:00
Dustin Carlino
4a0635fa5a Refactor: Just remember ID -> quadtree ID 2021-04-10 11:56:05 -07:00
Dustin Carlino
c16f185019 The new intersection polygon usually changes the trimming of all connected road center lines. #597 2021-04-10 11:56:05 -07:00
Dustin Carlino
10255c2835 Recalculate intersection geometry when road width changes. #579
No effect on the road geometry yet, though...
2021-04-10 11:56:05 -07:00
Dustin Carlino
169d3765dd Fix a crash where you edit one lane normally, then add/delete lanes of the same road. #597 2021-04-09 14:39:30 -07:00
Dustin Carlino
711d144323 Upgrade proposal JSON. #579
And now regenerate all map data.
2021-04-09 14:35:49 -07:00
Dustin Carlino
e8b7019ef7 Use LaneSpec in map edits, letting width of each lane be modified too. #597 2021-04-09 14:35:49 -07:00
Dustin Carlino
68661f0efd Actually, to keep all of the existing editing UIs from breaking, preserve LaneIDs when just editing lane types. #597 2021-04-09 14:35:49 -07:00
Dustin Carlino
3beb153bbf Support adding lanes. #597
And in fact, unify the cases of deleting lanes, adding lanes, or just
modifying them in place.
2021-04-09 14:35:49 -07:00
Dustin Carlino
14609ab157 Fix lane geometry after changing the number of lanes. #597 2021-04-09 14:35:49 -07:00
Dustin Carlino
584c1be9e0 A humble start to deleting lanes. #597 2021-04-09 14:35:49 -07:00
Dustin Carlino
c6906f6153 Change Vec<Lane> to BTreeMap<LaneID, Lane> to prepare for
adding/deleting lanes. #597

Not regenerating all maps yet. Haven't evaluated performance impact yet.
2021-04-09 14:35:49 -07:00
Dustin Carlino
2a89b68121 Create a temporary dev-only UI for modifying the number of lanes in a road. #597
It crashes when actually trying to change the number of lanes, as
expected.
2021-04-09 14:35:49 -07:00
Dustin Carlino
b367fdcb27 Fix Road::get_half_polygon for left-hand driving. 2021-04-09 09:01:05 -07:00
Dustin Carlino
204d13177d Make the 15m tool respect access-restricted zones. 2021-04-08 10:28:52 -07:00
Dustin Carlino
3060f94989
Start a pathfinding v2 API. #555 (#596)
The v1 path that all callers need is available by transforming PathV2 to
v1. The plan is to now gradually change callers to natively use PathV2
instead.
2021-04-08 08:57:59 -07:00
Dustin Carlino
618fcdad62 Collapse some methods for creating walking paths. This is leftover from
before the zone pathfinding simplification. #555
2021-04-07 15:52:03 -07:00
Dustin Carlino
1b5d9d7108 Remove _broken_path_v2_to_v1 for now. #555 2021-04-07 15:06:47 -07:00
Dustin Carlino
defcbf1bb9 Just splitting the v1 PathStep, Path, PathRequest into a separate module, so the transition to pathfinding v2 is easier to understand. #555 2021-04-07 12:05:39 -07:00
Dustin Carlino
23132a16f8 Now that the old code to build and cost graphs for pathfindng v1 is deleted, rename the v2 methods. #555 2021-04-07 11:06:57 -07:00
Dustin Carlino
e471000395 Remove the old zone_cost method. #555 2021-04-07 11:04:42 -07:00
Dustin Carlino
da3272e2ee Convert the alternative path debugger to use directed roads, not lanes. #555
This lets us clean up some of the old pathfinding v1 code, removing some
duplicate code!

Also improve that debugger to show a different cost for each side of the
road. The cost to turn around and reach a building on the other side of
the road may be high, so this really makes the debugger more
understandable.
2021-04-07 10:58:48 -07:00
Dustin Carlino
b381856bd5 Convert the 15m biking isochrone to internally use directed roads, not lanes. #555 2021-04-07 10:18:26 -07:00
Dustin Carlino
ad5c573a27 Change congestion capping to pathfind avoiding roads, not lanes. #555
Capping only happens when you edit a road and introduce a per-hour
vehicle cap.
2021-04-07 10:04:00 -07:00
Dustin Carlino
9263e95e83 Only show elevation line plot in the trip info panel for walking and biking trips. It's just noise to see it for somebody walking to their car. #82 2021-04-07 09:42:25 -07:00
Dustin Carlino
918e74ceba Change the Dijkstra's and CH walking pathfinders to use roads, not lanes. #555
No behavioral change here; this is a trivial transformation. If a
directed road has any walkable lane, then there's exactly 1 of them.  I
verified by manually checking paths and also seeing prebaked results
having zero diff.
2021-04-06 20:16:45 -07:00
Dustin Carlino
ce9e98782e Poundbury once again completes without gridlock! 2021-04-06 17:03:24 -07:00
Dustin Carlino
7ea251a059 Revert some block-the-box protection from #439 to unbreak lakeslice.
The lakeslice regressions were actually introduced over the last few
weeks as I scrambled to get elevation data working; it's not really
related to pathfinding v2. It's hard to blame individual changes for
making things here worse; the lakeslice map in particular has always
been super brittle. Emergent behavior means when things in one part of
the map slighly change, the ripple effects elsewhere can be harsh.

Originally #439 was motivated by a crash (in Ballard, I think), but
getting lakeslice to work so much better is worth reintroducing this.
When we find the bug again, we can solve it another way and do a better
job of watching for regressions in gridlock.
2021-04-06 17:03:24 -07:00
Dustin Carlino
196af2a1f4 Refactor: store Direction for a Lane, simplifying Lane->DirectedRoadID. #555 2021-04-06 17:03:24 -07:00
Dustin Carlino
d0c82392e3 Restore the lane-changing penalties for the pathfinding v2->v1 transition. #555 2021-04-06 17:03:24 -07:00
Dustin Carlino
b9b5f63eb0 Convert the contraction hierarchy vehicle pathfinding to use roads, not lanes. #555
Not regenerating yet.
2021-04-06 17:03:24 -07:00
Dustin Carlino
8cfb377dfa Unbreak the cancelled/unfinished trip tables. The start/end filters were
only added to finished trips, but the other tables also tried to grab
the filter.
2021-04-06 10:39:27 -07:00
Dustin Carlino
680fd07a83 Restore huge_seattle map, which was deleted without me noticing in da60de0a09, likely due to the elevation bug fixed in de20a74f3a28b3370319436d5655b5be6f13367d... 2021-04-06 10:32:07 -07:00
Dustin Carlino
3badd7dd09 Fix typo 2021-04-06 10:04:16 -07:00
Dustin Carlino
281aabc63a
Convert the Dijkstra's vehicle pathfinding implementation to use road… (#594) 2021-04-06 10:02:07 -07:00
Dustin Carlino
de20a74f3a Fix elevation imports, broken in b8318917a8. #82 2021-04-05 17:29:28 -07:00
Dustin Carlino
b6d46db2ea Create map_model abstractions for representing uber-turns at the granularity of roads, not lanes, in preparation for pathfinding v2. #555
I was about to recreate a higher-level turn abstraction, but realized we
previously made Movements for traffic signal editing.
2021-04-05 10:29:59 -07:00
Dustin Carlino
1e3708f9b4 Remove UberTurnGroup and the prototype of editing a cluster of traffic
signals using uber turn groups. #555

This was an old half-baked experiment for handling a cluster of traffic
signals.  Since then, merging intersections (by manually tagging them in
OSM for now, maybe automatically in the future) has proven better.

Removing this old code in preparation for pathfinding v2.
2021-04-05 10:05:27 -07:00
Dustin Carlino
4b1a206a43 Start versioning the web apps weekly too 2021-04-04 17:15:38 -07:00
Dustin Carlino
ae66457a5e new release 2021-04-04 16:59:01 -07:00