Commit Graph

7382 Commits

Author SHA1 Message Date
Dustin Carlino
e1d0604718 Reduce the number of points along curvy roads. When they're tagged in OSM too close together, it explodes PolyLine shifting. #833 2022-01-06 17:27:10 +00:00
Dustin Carlino
85709b1e4f Workaround #834, which was causing partitioning to infinite loop when
there are disconnected railway segments dangling around
2022-01-06 13:25:16 +00:00
Dustin Carlino
cb3138dbfe When turning a perimeter into a block polygon, don't insist on tracing
along the perimeter of broken intersections.

There are cases where intersection geometry is a little bit broken,
jutting out a bit and touching a road. It's more robust to still produce
a reasonably shaped block in these cases, instead of totally give up.

Visual inspection and the goldenfile VASTLY improved!
2022-01-06 11:22:06 +00:00
Dustin Carlino
e1d88f10ad Detect bad intersection polygons 2022-01-06 11:08:22 +00:00
Dustin Carlino
2356cee1db When tracing perimeters, allow doubling back at a dead-end with exactly
1 lane (usually a cycleway or footway). This correctly produces a few
more blocks in some maps -- as the goldenfile diff (and manual
verificaton) shows!

Also allow jumping from LTN browse to debug mode, to conveniently work
on blockfinding problems.
2022-01-06 10:16:11 +00:00
Dustin Carlino
5caccf6aab Add a goldenfile test to track how well we find single blocks and merge them into LTN areas. 2022-01-06 10:06:16 +00:00
Dustin Carlino
c08484505e Ignore hidden files like .DS_Store, fixing #832 2022-01-05 12:47:28 +00:00
Dustin Carlino
c59bc370fe Grab new Bristol data with some more geometry fixes. Trying to get blockfinding to work here everywhere 2022-01-04 18:07:29 +00:00
Dustin Carlino
2e7437043d Grab new Bristol data with https://www.openstreetmap.org/changeset/115765021 to fix a broken curve 2022-01-04 17:49:57 +00:00
Dustin Carlino
e863517f13 Adjust Bristol boundary 2022-01-04 11:00:11 +00:00
Dustin Carlino
b08a259059 Import part of east Bristol for LTN work 2022-01-04 10:22:56 +00:00
Dustin Carlino
045b82be4e Don't crash when no rat runs exist 2022-01-03 09:36:34 +00:00
Dustin Carlino
630dc17d2d new release 2022-01-02 18:43:57 +00:00
Dustin Carlino
8d0b891406 Prevent neighborhood_containing from crashing in North Leeds. [rebuild] [release] 2022-01-02 17:48:25 +00:00
Dustin Carlino
803f387428 Only allow adding/removing blocks adjacent to the current neighborhood's perimeter. This will make it much easier to incrementally transfer ownership of each block to different neighborhoods, and it also helps prevent the user from creating some invalid results. The UX of trying to do something invalid is a little clunky, but it's usable. [rebuild] [release] 2022-01-02 17:35:40 +00:00
Dustin Carlino
af08ff4e74 Show the (original) partitioning by color in the boundary selection UI 2022-01-02 09:50:06 +00:00
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