mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-11-24 17:37:22 +03:00
with the new traffic signal, add back the 520 EB onramp
This commit is contained in:
parent
2d02f90d9b
commit
996eceea92
@ -816,6 +816,18 @@
|
||||
"osm_node_id": -1569786907
|
||||
},
|
||||
"synthetic": true
|
||||
},
|
||||
{
|
||||
"point": {
|
||||
"inner_x": 1195.7391,
|
||||
"inner_y": 418.7821
|
||||
},
|
||||
"intersection_type": "StopSign",
|
||||
"label": null,
|
||||
"orig_id": {
|
||||
"osm_node_id": -1571780064
|
||||
},
|
||||
"synthetic": true
|
||||
}
|
||||
],
|
||||
"add_roads": [
|
||||
@ -1351,6 +1363,64 @@
|
||||
"name": "Streety McStreetFace"
|
||||
},
|
||||
"turn_restrictions": []
|
||||
},
|
||||
{
|
||||
"i1": 386,
|
||||
"i2": 389,
|
||||
"center_points": [
|
||||
{
|
||||
"inner_x": 1331.3542,
|
||||
"inner_y": 393.7066
|
||||
},
|
||||
{
|
||||
"inner_x": 1195.7391,
|
||||
"inner_y": 418.7821
|
||||
}
|
||||
],
|
||||
"orig_id": {
|
||||
"osm_way_id": -1571780069,
|
||||
"node1": -1569786822,
|
||||
"node2": -1571780064
|
||||
},
|
||||
"osm_tags": {
|
||||
"abst:endpt_back": "true",
|
||||
"abst:endpt_fwd": "true",
|
||||
"abst:osm_way_id": "-1571780069",
|
||||
"abst:synthetic": "true",
|
||||
"abst:synthetic_lanes": "d/",
|
||||
"maxspeed": "25 mph",
|
||||
"name": "Streety McStreetFace"
|
||||
},
|
||||
"turn_restrictions": []
|
||||
},
|
||||
{
|
||||
"i1": 389,
|
||||
"i2": 235,
|
||||
"center_points": [
|
||||
{
|
||||
"inner_x": 1195.7391,
|
||||
"inner_y": 418.7821
|
||||
},
|
||||
{
|
||||
"inner_x": 1166.8399,
|
||||
"inner_y": 401.814
|
||||
}
|
||||
],
|
||||
"orig_id": {
|
||||
"osm_way_id": -1571780074,
|
||||
"node1": -1571780064,
|
||||
"node2": 29447668
|
||||
},
|
||||
"osm_tags": {
|
||||
"abst:endpt_back": "true",
|
||||
"abst:endpt_fwd": "true",
|
||||
"abst:osm_way_id": "-1571780074",
|
||||
"abst:synthetic": "true",
|
||||
"abst:synthetic_lanes": "d/",
|
||||
"maxspeed": "25 mph",
|
||||
"name": "Streety McStreetFace"
|
||||
},
|
||||
"turn_restrictions": []
|
||||
}
|
||||
],
|
||||
"merge_short_roads": []
|
||||
|
24
data/fixes/misc_montlake.json
Normal file
24
data/fixes/misc_montlake.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"gps_bounds": {
|
||||
"min_lon": -122.3218,
|
||||
"min_lat": 47.6315,
|
||||
"max_lon": -122.2985,
|
||||
"max_lat": 47.6475
|
||||
},
|
||||
"override_metadata": [],
|
||||
"delete_roads": [
|
||||
{
|
||||
"osm_way_id": 6413596,
|
||||
"node1": 1726081485,
|
||||
"node2": 53149395
|
||||
}
|
||||
],
|
||||
"delete_intersections": [
|
||||
{
|
||||
"osm_node_id": 1726081485
|
||||
}
|
||||
],
|
||||
"add_intersections": [],
|
||||
"add_roads": [],
|
||||
"merge_short_roads": []
|
||||
}
|
@ -21,8 +21,7 @@ list.
|
||||
## montlake
|
||||
|
||||
- full PSRC day finishes with traffic signals
|
||||
- ~800 aborted trips, mostly from incomplete 520 fixes
|
||||
- adding the eastbound onramp breaks the traffic signal
|
||||
- ~300 aborted trips, no free car available
|
||||
|
||||
## 23rd
|
||||
|
||||
|
@ -659,6 +659,7 @@ impl Model {
|
||||
LaneType::Parking => Color::grey(0.2),
|
||||
LaneType::Sidewalk => Color::grey(0.8),
|
||||
LaneType::Biking => Color::rgb(15, 125, 75),
|
||||
LaneType::SharedLeftTurn => Color::YELLOW,
|
||||
};
|
||||
if synthetic {
|
||||
if unset {
|
||||
|
@ -41,10 +41,9 @@ impl ControlTrafficSignal {
|
||||
if let Some(ts) = ControlTrafficSignal::four_oneways(map, id) {
|
||||
results.push(("two-phase for 4 one-ways".to_string(), ts));
|
||||
}
|
||||
results.push((
|
||||
"phase per road".to_string(),
|
||||
ControlTrafficSignal::phase_per_road(map, id),
|
||||
));
|
||||
if let Some(ts) = ControlTrafficSignal::phase_per_road(map, id) {
|
||||
results.push(("phase per road".to_string(), ts));
|
||||
}
|
||||
results.push((
|
||||
"arbitrary assignment".to_string(),
|
||||
ControlTrafficSignal::greedy_assignment(map, id),
|
||||
@ -390,7 +389,7 @@ impl ControlTrafficSignal {
|
||||
ts.validate(map).unwrap()
|
||||
}
|
||||
|
||||
fn phase_per_road(map: &Map, i: IntersectionID) -> ControlTrafficSignal {
|
||||
fn phase_per_road(map: &Map, i: IntersectionID) -> Option<ControlTrafficSignal> {
|
||||
let mut phases = Vec::new();
|
||||
let sorted_roads = map
|
||||
.get_i(i)
|
||||
@ -413,11 +412,13 @@ impl ControlTrafficSignal {
|
||||
phase.yield_turns.insert(turn.id);
|
||||
}
|
||||
}
|
||||
phases.push(phase);
|
||||
// Might have a one-way outgoing road. Skip it.
|
||||
if !phase.yield_turns.is_empty() {
|
||||
phases.push(phase);
|
||||
}
|
||||
}
|
||||
let ts = ControlTrafficSignal { id: i, phases };
|
||||
// This must succeed
|
||||
ts.validate(map).unwrap()
|
||||
ts.validate(map).ok()
|
||||
}
|
||||
|
||||
pub fn convert_to_ped_scramble(&mut self, map: &Map) {
|
||||
|
Loading…
Reference in New Issue
Block a user