Commit Graph

7455 Commits

Author SHA1 Message Date
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
Dustin Carlino
4e79d19765 Revert "When calculating LTN cells, don't cross bike-only roads."
This reverts commit 02420f920e.

Did not mean to push this yet, sorry!
2021-12-16 14:02:41 +00:00
Dustin Carlino
02420f920e When calculating LTN cells, don't cross bike-only roads. 2021-12-16 14:02:21 +00:00
Dustin Carlino
e77ce12537 Draw custom LTN boundaries, by painting blocks. #794
Still need to think through the UX of how to manage custom boundaries
and incorporate them in the "browse neighborhoods" screen.
2021-12-14 10:33:42 -08:00
Dustin Carlino
5410caf1e8 new release 2021-12-12 10:00:12 +00:00
Dustin Carlino
3ae38daa14 Download new Leeds OSM data, with a geometry fix that gets us a little closer to creating a block for LTNs everywhere. [rebuild] [release] 2021-12-12 09:15:47 +00:00
Dustin Carlino
3d4900f984 Seemingly fix all "bowtie" intersections, where the polygon looped back
on itself impossibly. Achieve this by sorting polylines around a center
more carefully.

Regenerating all maps...
2021-12-11 07:58:49 -08:00
Dustin Carlino
611ca97a28 Conveniently jump from the main apps to the RawMap editor, to debug geometry more fluidly 2021-12-11 11:24:37 +00:00
Dustin Carlino
ec9ed9c64c Import a small slice of Kennington with a very representative set of London-specific map model issues. Add it to the screenshot tests, replacing Great Kneighton as the GB test. And trim out lakeslice from the test; we don't need quite so much redundancy for Seattle. 2021-12-09 14:31:20 +00:00
Dustin Carlino
529c7c7be4 Grab new London OSM data, with a bit of parking tagged around a proposed cycleway 2021-12-08 10:49:06 +00:00
Dustin Carlino
56a42f9f21 Fix crash in ungap's route sketcher. If you drag intermediate waypoints
such that the path is impossible, don't move the waypoint.
2021-12-07 15:25:46 +00:00
Dustin Carlino
b45bf869b7 Populating the map_model transit representation from the raw GTFS data. #372 2021-12-07 03:10:38 -08:00