Dustin Carlino
d2ecab44a7
Be sure to validate signals before committing the results, since GMNS imports aren't validated upfront. #626
2021-06-02 11:40:54 -07:00
Dustin Carlino
5127a82b54
Import Tehran
2021-06-01 10:19:06 -07:00
Dustin Carlino
d014098f59
Fix an extremely naive implementation of calculating average angle,
...
which was causing bizarre turn lane arrows in Tempe.
2021-06-01 09:52:40 -07:00
Dustin Carlino
5aa00955f9
Clean up the timer.parallelize API, getting rid of the weird enum to
...
toggle how many CPUs to thrash. We always use all of them, except for
one case, where a separately named method is more clear. Also make that
variation use all but 1 CPU, instead of just half.
2021-05-27 17:47:22 -07:00
Dustin Carlino
cf6b2f6db7
Rewrite the heuristics for stop signs. Similar to traffic signals, only
...
count incoming roads when figuring out if an intersection is degenerate.
Also make link roads (on/off ramps) lower priority than the main part of
the road.
Regenerated everything.
(and fixing up the cloud scripts)
2021-05-27 15:37:46 -07:00
Dustin Carlino
8ceaf296eb
Allow u-turns at merged intersections when the turn lane is explicitly tagged in OSM. This makes the infamous U-turn from Montlake to 520 WB work! The inferred signal timing isn't great, but ah well.
...
Not regenerating yet
2021-05-27 10:09:22 -07:00
Dustin Carlino
455399b90e
Collapse degenerate intersections between cycle+footpaths. At various
...
times in the past, I've also tried doing this for other roads, but wound
up reverting for reasons only git remembers. But it seems like an
obvious win for bike paths; especially around Seattle, the ways are
split because of all of this raised curb data we're ignoring anyway.
Tested manually around Montlake.
Finally regenerating all data... Only Phinney breaks. One for tomorrow.
2021-05-26 22:27:29 -07:00
Dustin Carlino
3a68e5677f
Allow all vehicles to use bus-only lanes that also happen to be turn lanes. #555
...
There are some caveats with the implementation commented inside.
Verified manually in Montlake -- down to just 122 cancelled turns!
Still not regenerating...
2021-05-26 19:13:14 -07:00
Dustin Carlino
6f0e01c511
Fix a critical bug with pathfinding v2: when calculating allowed
...
movements, make sure that a vehicle can access BOTH the source and
destination lane of a turn. #555
Without this fix, a turn from a bus lane to a driving lane is allowed
for cars at the pathfinding v2 level, but then it fails when converting
into v1 lanes.
(Next step: actually allow this for combination bus/turn lanes)
Not regenerating data yet
2021-05-26 15:39:34 -07:00
Dustin Carlino
4bd79cabbf
Upload regenerated map data and address turn restriction PR feedback
2021-05-25 20:24:11 -07:00
Dustin Carlino
2dd611fd73
Refine the connectivity check for bus and bike lanes
...
Down to 12 connectivity problems in Montlake! Now that the dust has
settled, manually check the 3 unit tests and confirm the goldenfile
diffs.
2021-05-25 20:24:11 -07:00
Dustin Carlino
7af86a9e59
Interpreting turn:lanes tagging more carefully.
...
And fix an absolutely infurriatingly bad typo from the previous commit.
Now both the multiple_left_turn_lanes and divided_highway_split test
maps look great!
2021-05-25 20:24:11 -07:00
Dustin Carlino
c95a0b0f64
Handle another case for creating multiple left/right turns at an intersection. Use the new validation for connectivity at an intersection and give up on using OSM turn restrictions in some cases.
...
39 problems in Montlake down to 33, but regressions on some of the LCing unit tests...
2021-05-25 20:24:11 -07:00
Dustin Carlino
62af2fef8c
Introduce a new method to check for connectivity problems between vehicle lanes at an intersection, and start tracking the number of problems across a map.
2021-05-25 20:24:11 -07:00
Michael Kirk
11a49e7c55
Add "arterial crossing" risk for pedestrians.
...
Also:clarify "Complex" vs "Large" intersection, which is now ambiguous.
2021-05-25 16:02:26 -07:00
Dustin Carlino
dc5a484c4c
Clean up the old special case for editing just a single lane type. Now, every modification to a road will touch LaneIDs. #597
...
This is safe to do, now that the two callers (the old lane editor, and
the old bulk lane type switcher) are gone.
2021-05-21 14:34:04 -07:00
Dustin Carlino
ef90721741
Fix missing study area polygons on the web. The refactor to Polygon::from_geojson_file introduced filesystem IO to the geom crate. Instead, we need to be explicit about how we do file IO.
...
Also fix some clippy errors
2021-05-20 14:33:04 -07:00
Dustin Carlino
70d6bf52d2
Fix the "growing intersection" bug that happens when repeatedly using
...
the new road editor, by "untrimming" the road center points. Fixes #655
2021-05-19 22:24:44 -07:00
Dustin Carlino
a38228d5da
Codify some different strategies for merging short roads
2021-05-18 16:03:57 -07:00
Dustin Carlino
27da792df6
cargo fmt
2021-05-15 16:28:50 -07:00
Vinzent Steinberg
ac62dde925
Prefer turbofish over temporary binding when collecting
2021-05-15 14:24:08 -07:00
Vinzent Steinberg
9d17faa878
Prefer slices over reference to owned type
2021-05-15 14:24:08 -07:00
Vinzent Steinberg
446a21696d
Fix most clippy warnings ( #646 )
...
* More conventional spelling of acronym identifiers
* `new` -> `new_state`
* Remove redundant field name
* Remove needless `collect`
* `to_controls` -> `make_controls`
* Simplify long if statement
* Fix module inception
* Simplify chained if let
* Return directly instead of creating a binding
* Disable clippy warning about `borrow` method
Implementing the `Borrow` trait instead would result in excessive type
annotations.
* Fix most remaining clippy warnings
* Allow clippy::type_complexity
* Fix bad merge from web editor
* Run cargo fmt
* Suppress large_enum_variant warnings
* Rename FYI state to ShowMessage
* Fix upper_case_acronyms warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 17:31:32 -07:00
Dustin Carlino
29c881ffc3
Switch from cargo +nighty fmt to the stable cargo fmt. Whatever edge-case formatting was happening with stable has been fixed
2021-05-14 08:39:51 -07:00
Vinzent Steinberg
fd3b0e2a14
Fix compilation failures and most clippy warnings ( #642 )
...
* abstutil: Fix compilation failure
* map_gui: Fix compilation
* traffic_signal_data: Fix compilation failure
* map_model: Fix compilation failure
* abstutil: Fix doctests
* abstio: Fix most clippy warnings
* abstutil: Fix most clippy warnings
* collisions: Fix clippy warning
* convert_osm: Fix clippy warnings
* sim: Fix most clippy warnings
* geom: Fix clippy warnings
* kml: Fix clippy warnings
* map_model: Fix most clippy warnings
* fifteen_min: Fix clippy warnings
* game: Fix many clippy warnings
* Disable some noisy clippy warnings
* headless: Fix clippy warnings
* importer: Fix clippy warnings
* map_editor: Fix clippy warnings
* map_gui: Fix clippy warnings
* osm_viewer: Fix clippy warnings
* parking_mapper: Fix most clippy warnings
* popdat: Fix clippy warnings
* santa: Fix clippy warnings
* sumo: Fix clippy warnings
* traffic_seitan: Fix clippy warning
* updater: Fix clippy warnings
* widgetry: Fix clippy warnings
* tests: Fix some clippy warnings
* Fix compilation on stable Rust
* Simplify unwrapping
* Make use of `Entry` more readable
* Fix formatting
* Fix code that was broken in the refactoring
* Apply cargo +stable fmt
* Fix code that was broken in the refactoring, second try
* Remove `Default` impls that are equivalent to `new`
* Remove obsolete clippy wrapper
* Avoid turbofish
* Prefer `unwrap_or_else` over allowing `clippy::or_fun_call`
* Remove redundant `into_iter`
* Fix typo
* Prefer `&& false` over commenting code out
* Fix some clippy warnings
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2021-05-14 08:32:56 -07:00
Dustin Carlino
1bcbe057f0
Use more realistic lane widths during importing. #597
2021-05-10 20:10:23 -07:00
Dustin Carlino
4d3234ea14
Plumb a flag through the importer to try to consolidate all intersections in a map
2021-05-08 11:34:16 -07:00
Dustin Carlino
8c09f33761
Also implement multi-source Dijkstra's for vehicles. Had to give up on petgraph.
2021-05-06 10:48:32 -07:00
Dustin Carlino
8d6a184a1f
Speed up the 'find perfect home' tool by starting Dijkstra's floodfill with multiple sources. Only implemented for walking right now.
2021-05-06 10:48:32 -07:00
Dustin Carlino
b29a613b42
Use strum macro to implement AmenityType::all
2021-05-06 08:50:29 -07:00
Trevor Nederlof
4080d0d130
Add craft and office to import and add/reorg AmenityType ( #638 )
...
* Add craft and office to import and add/reorg AmenityType
* Remove bike rental/parking and rename BikeShop to Bike
* add in leisure and tourism tags, add more categories to AmenityType and remove lesser used tags
* add dependency on strum and strum_macros and removed some manual code for text display of Enum and Enum into string
* include lock file, fix color of buildings for amenity layer, fix formatting and use orders
2021-05-06 08:43:52 -07:00
Dustin Carlino
488c9ffe68
Start to import GMNS timing.csv just based on line-strings. #626
2021-05-04 10:34:34 -07:00
Dustin Carlino
f400663b01
Better choices for lane width. #597 [rebuild] [release]
2021-05-02 09:11:21 -07:00
Dustin Carlino
4826808b9b
Use fast_paths from crates.io, now that a new release is out
2021-04-25 18:03:16 -07:00
Dustin Carlino
a09bbd37c2
Improve the geometry of some consolidated intersections by taking the
...
convex hull. In many cases, this removes interior "jaggedness".
Regenerate all data... [rebuild]
2021-04-24 12:58:05 -07:00
Dustin Carlino
8722c102b9
Fix bug moving lanes left/right where the width of different lanes
...
wasn't getting updated, due to the code-path handling the old case...
2021-04-22 10:22:06 -07:00
Dustin Carlino
2112736a1f
Polish UI of new road editor
2021-04-22 07:57:23 -07:00
Dustin Carlino
4b5bea1f10
Fix dumb bug from 18589cb083
2021-04-22 07:57:23 -07:00
Dustin Carlino
acfe095a3f
Handle editing just the width of one lane
2021-04-22 07:57:23 -07:00
Dustin Carlino
c73ceebd35
MVP of Yuwen's new road editor!
2021-04-22 07:57:23 -07:00
Dustin Carlino
bc2a21ca89
Refactor some methods in Traversable
2021-04-19 14:50:51 -07:00
Dustin Carlino
c62cf1c90c
Refine the detection for when a car wants to over-take a bike, and expose it in the UI as a problem. #81 , #600
2021-04-19 14:44:42 -07:00
Dustin Carlino
96d2f35779
Refactor handling of the fast_paths unused-last-node problem.
...
Now regenerating everything...
2021-04-16 20:14:16 -07:00
Dustin Carlino
c1d95a2cf4
Handle adding/deleting sidewalks. This needs more caution at the pathfinding layer. #597
...
Tested by adding a sidewalk to 28th and Madison in the Arboretum map.
Not regenerating maps yet.
2021-04-16 17:00:50 -07:00
Dustin Carlino
72c48cb1f9
Address misc PR feedback for #604
2021-04-13 15:13:36 -07:00
Dustin Carlino
9923c1270a
Repair parking lot connections after road widening. #597
2021-04-13 15:13:36 -07:00
Dustin Carlino
b9a9e8e5c5
Redraw building paths when needed
2021-04-13 15:13:36 -07:00
Dustin Carlino
a649e0be77
Repair building connections after road widening. #597
...
Don't redraw the paths yet, or try to deal with failures to snap.
2021-04-13 15:13:36 -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