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.
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
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
* 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
This code stopped working around July 2020 when I attempted to tackle #190. It's sat dormant since then, with most bus and light rail routes not imported correctly at all. I'm going to (eventually) start another attempt at public transit in A/B Street by treating GTFS as the main source of truth, not trying to understand route relations mapped in OSM. It's simplest to just rip out all this old code first. Some of it may be useful later, but version control preserves it.
Regenerating everything; this is a binary format change.
* add turn_on_red config option which is false for nyc
* when making stages, don't add movements that don't share a stage with a protected movement
* Fix a renamed DirectedRoadID field from
cb3693bd7a and the new turn_on_red field
in the test crate
* Update all map config files with the new option
for x in importer/config/*/*/cfg.json; do
cat $x | jq '.map_config += {turn_on_red: true}' > tmp
mv -f tmp $x
done
(And then undoing NYC)
* turn on red banned on all non-us maps
* regenerate all maps
Co-authored-by: Marcel Dejean <marcel@dejean.nyc>
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
- Use the new filter_crosswalks option to downgrade zebra crossings into
unmarked
- Add a routing penalty
- Render differently than zebras
- They otherwise act the same as marked crosswalks
Simulation behavior (like pedestrians not having priority over vehicles)
not yet implemented. No change to any existing maps, since
filter_crosswalks isn't enabled anywhere.
Accomplishing this through RoutingParams, rather than actually editing
the map. I don't want to commit to a map model representation of modal
filters and actually edit the map until we think through diagonal
filters. This effectively revives pathfind_avoiding_roads from the old
congestion capping experiment, but organized better.
near OSM highway=crossing nodes. #795
Not enabled anywhere, because it doesn't seem to produce good results.
Possibly footway=crossing ways need to be used for this as well.
Had to regenerate all maps, since the binary format changes.
easily work with perimeters and only transform to blocks when we need to
last minute. As a happy side effect, it vastly speeds up blockfinding --
the slowdown was attempting to mangle geometry for the huge broken
perimeters near boundaries!
Also improve the incremental merge debug UI