Commit Graph

7366 Commits

Author SHA1 Message Date
Dustin Carlino
f6274e868f Make the LTN browse state operate off a per-session partitioning 2022-01-02 09:13:33 +00:00
Dustin Carlino
8aa58000ed Slightly improve LTN adjust boundary screen:
- better instructions
- can just tap the add/remove keys, in addition to holding and painting
2022-01-01 18:30:25 +00:00
Dustin Carlino
7d6f133f1c Make the LTN tool handle roads that already ban cars.
- Don't allow filtering them
- Don't cross them when calculating cell connectivity
- Create special green cells for them, and don't count towards the
  disconnected warning
2021-12-31 16:28:51 +00:00
Dustin Carlino
332e88f235 Don't color adjacent LTN cells the same; it's that sort of combination
of misleading and preventable so as to merit a fix
2021-12-31 15:21:52 +00:00
Dustin Carlino
b8f4550824 Draw filtered streets with two colors when there's a filter on them.
This actually revealed that find_cells was a bit wrong -- when a filter
is in the middle of a cell, one half of it wasn't assigned anywhere
2021-12-31 11:53:47 +00:00
Dustin Carlino
bffa469396 Print LTN pathfinding info in the panel, not a tooltip. The tooltips
clash with clicking on roads to filter them, and probably weren't
terribly discoverable anyway.
2021-12-29 18:23:33 +00:00
Dustin Carlino
6219c7f584 Fix crash in LTN pathfinding when deleting waypoints 2021-12-29 17:38:38 +00:00
Dustin Carlino
f7f23465c1 Edit modal filters from within the pathfinding view too.
Slow implementation, but at least it works
2021-12-29 13:14:44 +00:00
Dustin Carlino
fbc847f48c Share modal filter management between connectivity and rat run states 2021-12-29 12:38:11 +00:00
Dustin Carlino
1e414d0f31 Share the panel style too for pathfinding. (It was a bigger change, easier to separate) 2021-12-29 11:54:12 +00:00
Dustin Carlino
4264682be8 Share a panel style for 2/3 of the per-neighborhood states 2021-12-29 11:46:29 +00:00
Dustin Carlino
ecd69e48a9 Refine the rat run algorithm: don't look for paths between different cells. That forces weird U-turns, using cul-de-sacs, using the perimeter road, etc 2021-12-29 10:28:53 +00:00
Dustin Carlino
451a4f1a5d Warn when a cell is totally cut off with too many filters 2021-12-29 10:11:25 +00:00
Dustin Carlino
352b97828a Track where cells touch the neighborhood boundary 2021-12-29 10:01:39 +00:00
Dustin Carlino
0fe6839d70 Regenerate all maps and screenshot tests for the previous commit 2021-12-28 00:05:12 +00:00
Marcel Dejean
6691a28aae Delete the crosswalk at degenerate i's with sidewalks on one side 2021-12-28 00:05:12 +00:00
Christopher Schmidt
7dbe8f9445 Add structopt option to change derived name of geojson-to-osmosis 2021-12-25 08:12:59 +00:00
Dustin Carlino
bff9a8705b Use InfiniteLine::from_pt_angle in a few more places 2021-12-23 17:05:21 +00:00
Dustin Carlino
c8d88bd689 Make things build with the lyon_geom change 2021-12-23 17:00:08 +00:00
Marcel Dejean
72ae333218 switch from nbez to lyon_geom for bezier curves 2021-12-23 17:00:08 +00:00
Marcel Dejean
6be97f789c Correct u-turn arrow appearance 2021-12-23 17:00:08 +00:00
Marcel Dejean
935e41c290 Pedestrians point at the middle of the crosswalk while waiting
This saves us from having to figure out whether they're going with or against the turn direction.
2021-12-23 17:00:08 +00:00
Marcel Dejean
425300b130 change arrow location back to the original
But leave arrow length extended somewhat. Also fix the lane length check.
2021-12-23 17:00:08 +00:00
Marcel Dejean
68c5d43dd4 make turn marking arrows curvy 2021-12-23 17:00:08 +00:00
Marcel Dejean
d1635904b5 make all turns using bezier curves
Straight turns and u turns where the angle of the turn is approx 0/180
have control points placed in an (approximate) 1:2 rectangle (u turn)
or a trapezoid (straight/offset/lane change turn). Other turns have
control points located 2/3 from the intersection of the from/to lane
centers, which is equivalent to a quadratic bezier with the control
point at the intersection.
2021-12-23 17:00:08 +00:00
Marcel Dejean
3bb3169ab4 use start/end line angle of the turn rather than line from start point to end point.
update uses of turn.angle() now that it's relative
2021-12-23 17:00:08 +00:00
Dustin Carlino
3df3ee7aa5 Fix the Windows build, which hasn't been pinning to the release's data directory... ever. [rebuild] [release]
Closes #825
2021-12-23 12:01:53 +00:00
Dustin Carlino
44736a7937 Regenerate all data with changes from PR #816 2021-12-20 23:11:36 +00:00
Dustin Carlino
77ca4141b1 Start importing Fordham regularly 2021-12-20 23:11:36 +00:00
Dustin Carlino
8aaeaabaec Never create turn geometry with broken PolyLines; it crashes calculate_curbs later in the UI. Hack around the problem in one place. Observed in Krakow (where we attempt to import all OSM footways). 2021-12-20 23:11:36 +00:00
Marcel Dejean
e984d1ac1d reverse corner curbs at dead ends 2021-12-20 23:11:36 +00:00
Marcel Dejean
755c513b9f kill find_pts_between and simplify make_shared_sidewalk_corner 2021-12-20 23:11:36 +00:00
Marcel Dejean
933127f021 eliminate first_from - we go around just once 2021-12-20 23:11:36 +00:00
Marcel Dejean
52a26f8a12 Fix deadend sidewalk turns 2021-12-20 23:11:36 +00:00
Marcel Dejean
61a7d887d7 If there are exactly two crosswalks generated, delete one.
They must be connected by SharedSidewalkCorners.
2021-12-20 23:11:36 +00:00
Dustin Carlino
af44cb8a32 Remove most built-in traffic signal timings, leaving just one to keep
the infrastructure around and to keep the Arboretum map running
smoothly.

The immediate reason is that the new deduplicated crosswalk change
invalidates all of the old JSON files, because they contain extra
crosswalk movements. We could create a compatibility layer and deal with
this, but it seems like more trouble than it's worth.

And more generally, this traffic signal data getting out of sync when
OSM IDs change, or we start importing new footways or service roads, has
proven to be really unmaintainable. We also haven't prioritized running
simulations without gridlock in a while.
2021-12-20 23:11:36 +00:00
Dustin Carlino
a3c5c6a27f Rebase and fix merge conflict 2021-12-20 23:11:36 +00:00
Marcel Dejean
273739a0e2 cleanup map 2021-12-20 23:11:36 +00:00
Marcel Dejean
babe6923b7 cleanup walking_turns 2021-12-20 23:11:36 +00:00
Marcel Dejean
cfe248fdab Include contraflow turns in get_turns_for, get_turns_from_lane,
Change get_next_turns_and_lanes (unused) to not take intersection, then fix uses of get_turns_from for sidewalks to use it

Add get_next_turns_and_lanes_for and use for floodfill
2021-12-20 23:11:36 +00:00
Marcel Dejean
9369ac229f Only make crosswalks in one direction.
Don't create duplicate crosswalks in edit_movement

Remove other_crosswalk_ids and switch to make_walking_turns_v2

Allow make_shared_sidewalk_corner and make_crosswalks to work in either direction with a point order check

Don't skip rendering some corners since they're no longer duplicated

Draw sidewalk corners the same regardless of lane direction with a point order check

Only make one crosswalk at dead ends and degenerate intersections

Make footways only get sharedsidewalkcorner turns

Don't panic on bad sharedsidewalkcorner geometry
2021-12-20 23:11:36 +00:00
Marcel Dejean
65f086ecb3 PathStep::ContraflowTurn to allow walking turns both ways
* Also implement ContraflowMovement for pathfinder v2
* Change uses of Turn to Turn | ContraflowTurn
* Reverse contraflowturn geometry when tracing pathstep
* Don't start or end a path in a ContraflowTurn either
2021-12-20 23:11:36 +00:00
Dustin Carlino
f2b3c4c433 new release 2021-12-19 19:05:32 +00:00
Dustin Carlino
9ecbdfa47f Shrink the Bradford study area, to load faster on the web. [rebuild] [release] 2021-12-19 12:35:46 +00:00
Dustin Carlino
fd852795c2 Make the rat-run detector respect modal filters.
Overall results still not right, but getting closer. Some "rat-runs"
retained will only be in the neighborhood out of "necessity" -- they
should maybe be totally filtered out for the heatmap counts.
2021-12-19 12:27:33 +00:00
Dustin Carlino
83bf6953d1 Rank each street inside a neighborhood as quiet/busy, based on the number of rat-runs through it.
Show this through a heatmap and tooltips
2021-12-19 12:06:42 +00:00
Dustin Carlino
5542632d61 Take a third stab at finding rat runs in a neighborhood. This new
definition finds all entrances and exits to a neighborhood, grouped by
the name of the perimeter road they connect to. Then the shortest
driving path between every pair is found, and the results are sorted to
emphasize paths that spend most of the time inside the neighborhood.

This new version doesn't crash and seems to produce reasonable results
everywhere I've looked.

It doesn't yet pay attention to the modal filters people have created,
or summarize which roads are likely to be quiet or not.
2021-12-19 11:24:11 +00:00
Dustin Carlino
904ba3c249 Don't even allow selecting intersections that aren't 4-way, since no diagonal filters can be manipulated there. 2021-12-19 10:28:50 +00:00
Dustin Carlino
f0a1110d04 Draw planters when zoomed in. Icon by Trang 2021-12-17 13:31:49 +00:00
Dustin Carlino
eb4060b071 Improve LTN tool rendering when zoomed in. Outlines around selected
objects are less thick and opaque, to cover up less of the road.
2021-12-17 11:37:54 +00:00