montlake is completely fixed of short roads! also turn restrictions

around 520, crosswalks over 2 one-ways, decided to use one fix file per
map
This commit is contained in:
Dustin Carlino 2019-10-28 19:08:44 -07:00
parent 41d9588266
commit 8e4bc6961b
6 changed files with 5806 additions and 2223 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,259 +0,0 @@
{
"gps_bounds": {
"min_lon": -122.3218,
"min_lat": 47.6315,
"max_lon": -122.2985,
"max_lat": 47.6475
},
"delete_roads": [
{
"osm_way_id": 6403889,
"i1": {
"osm_node_id": 53153052
},
"i2": {
"osm_node_id": 1726737153
}
},
{
"osm_way_id": 346101340,
"i1": {
"osm_node_id": 1726737153
},
"i2": {
"osm_node_id": 53209424
}
},
{
"osm_way_id": 346101340,
"i1": {
"osm_node_id": 2626074217
},
"i2": {
"osm_node_id": 1726737153
}
},
{
"osm_way_id": 732648396,
"i1": {
"osm_node_id": 60799460
},
"i2": {
"osm_node_id": 53209424
}
}
],
"delete_intersections": [
{
"osm_node_id": 53209424
},
{
"osm_node_id": 1726737153
}
],
"override_intersections": [
[
{
"osm_node_id": 60799460
},
{
"point": {
"inner_x": 530.5626,
"inner_y": 1029.337
},
"intersection_type": "StopSign",
"label": null,
"synthetic": false
}
]
],
"override_roads": [
[
{
"osm_way_id": 6403889,
"i1": {
"osm_node_id": 53153052
},
"i2": {
"osm_node_id": 60799460
}
},
{
"center_points": [
{
"inner_x": 528.9056,
"inner_y": 1279.2865
},
{
"inner_x": 531.0863,
"inner_y": 1062.6016
},
{
"inner_x": 530.5626,
"inner_y": 1029.337
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "6403889",
"abst:sidewalks_inferred": "true",
"highway": "residential",
"lanes": "2",
"maxspeed": "25 mph",
"name": "14th Avenue East",
"parking:lane:both": "parallel",
"sidewalk": "both"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": 32143958,
"i1": {
"osm_node_id": 60799460
},
"i2": {
"osm_node_id": 53130686
}
},
{
"center_points": [
{
"inner_x": 530.5626,
"inner_y": 1029.337
},
{
"inner_x": 545.8183,
"inner_y": 1026.0985
},
{
"inner_x": 567.9921,
"inner_y": 1050.6297
},
{
"inner_x": 630.4709,
"inner_y": 1095.1588
},
{
"inner_x": 643.1497,
"inner_y": 1095.081
},
{
"inner_x": 660.3995,
"inner_y": 1093.9802
},
{
"inner_x": 672.6737,
"inner_y": 1098.1166
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "32143958",
"abst:sidewalks_inferred": "true",
"highway": "residential",
"lanes": "2",
"maxspeed": "25 mph",
"name": "East Boston Street",
"parking:lane:left": "parallel",
"parking:lane:right": "no_parking",
"sidewalk": "both"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": 346101340,
"i1": {
"osm_node_id": 2626074217
},
"i2": {
"osm_node_id": 60799460
}
},
{
"center_points": [
{
"inner_x": 612.0897,
"inner_y": 1113.695
},
{
"inner_x": 609.8416,
"inner_y": 1109.6475
},
{
"inner_x": 606.9492,
"inner_y": 1106.0114
},
{
"inner_x": 603.195,
"inner_y": 1102.3309
},
{
"inner_x": 570.2916,
"inner_y": 1070.6626
},
{
"inner_x": 530.5626,
"inner_y": 1029.337
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:osm_way_id": "346101340",
"abst:sidewalks_inferred": "true",
"bicycle": "designated",
"cycleway": "shared_lane",
"highway": "tertiary",
"lanes": "2",
"maxspeed": "30 mph",
"name": "East Boston Street",
"parking:lane:left": "parallel",
"parking:lane:right": "no_parking",
"sidewalk": "both"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": 732648396,
"i1": {
"osm_node_id": 53069239
},
"i2": {
"osm_node_id": 60799460
}
},
{
"center_points": [
{
"inner_x": 492.4802,
"inner_y": 1026.4515
},
{
"inner_x": 530.5626,
"inner_y": 1029.337
}
],
"osm_tags": {
"abst:osm_way_id": "732648396",
"abst:sidewalks_inferred": "true",
"bicycle": "designated",
"cycleway": "shared_lane",
"highway": "tertiary",
"lanes": "2",
"maxspeed": "30 mph",
"name": "East Boston Street",
"parking:lane:both": "parallel",
"sidewalk": "both"
},
"turn_restrictions": []
}
]
]
}

View File

@ -1,380 +0,0 @@
{
"gps_bounds": {
"min_lon": -122.3218,
"min_lat": 47.6315,
"max_lon": -122.2985,
"max_lat": 47.6475
},
"delete_roads": [
{
"osm_way_id": 394991042,
"i1": {
"osm_node_id": 2499822233
},
"i2": {
"osm_node_id": 3978753092
}
},
{
"osm_way_id": 394991043,
"i1": {
"osm_node_id": 3978753110
},
"i2": {
"osm_node_id": 3978753097
}
},
{
"osm_way_id": 394991044,
"i1": {
"osm_node_id": 3978753107
},
"i2": {
"osm_node_id": 3978753110
}
},
{
"osm_way_id": 394991045,
"i1": {
"osm_node_id": 3978753087
},
"i2": {
"osm_node_id": 2499822233
}
},
{
"osm_way_id": 394991046,
"i1": {
"osm_node_id": 3978753099
},
"i2": {
"osm_node_id": 3978753097
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753087
},
"i2": {
"osm_node_id": 3978753092
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753092
},
"i2": {
"osm_node_id": 3978753095
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753095
},
"i2": {
"osm_node_id": 3978753096
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753096
},
"i2": {
"osm_node_id": 3978753105
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753097
},
"i2": {
"osm_node_id": 3978753087
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753105
},
"i2": {
"osm_node_id": 3978753107
}
},
{
"osm_way_id": 394991047,
"i1": {
"osm_node_id": 3978753107
},
"i2": {
"osm_node_id": 3978753097
}
},
{
"osm_way_id": 394991048,
"i1": {
"osm_node_id": 3978753110
},
"i2": {
"osm_node_id": 3978753099
}
}
],
"delete_intersections": [
{
"osm_node_id": 3978753087
},
{
"osm_node_id": 3978753092
},
{
"osm_node_id": 3978753096
},
{
"osm_node_id": 3978753097
},
{
"osm_node_id": 3978753107
}
],
"override_intersections": [
[
{
"osm_node_id": -1572298628
},
{
"point": {
"inner_x": 815.1344,
"inner_y": 893.2219
},
"intersection_type": "StopSign",
"label": null,
"synthetic": true
}
],
[
{
"osm_node_id": 3978753095
},
{
"point": {
"inner_x": 860.3869,
"inner_y": 888.4078
},
"intersection_type": "StopSign",
"label": null,
"synthetic": false
}
]
],
"override_roads": [
[
{
"osm_way_id": -1572298642,
"i1": {
"osm_node_id": -1572298628
},
"i2": {
"osm_node_id": 3978753095
}
},
{
"center_points": [
{
"inner_x": 815.1344,
"inner_y": 893.2219
},
{
"inner_x": 860.3869,
"inner_y": 888.4078
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "-1572298642",
"abst:synthetic": "true",
"abst:synthetic_lanes": "ds/ds",
"highway": "primary",
"maxspeed": "25 mph",
"name": "Boyer/Lynn roundabout"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": -1572298640,
"i1": {
"osm_node_id": -1572298628
},
"i2": {
"osm_node_id": 2499822233
}
},
{
"center_points": [
{
"inner_x": 815.1344,
"inner_y": 893.2219
},
{
"inner_x": 859.806,
"inner_y": 904.4373
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "-1572298640",
"abst:synthetic": "true",
"abst:synthetic_lanes": "ds/ds",
"highway": "primary",
"maxspeed": "25 mph",
"name": "Boyer/Lynn roundabout"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": -1572298638,
"i1": {
"osm_node_id": -1572298628
},
"i2": {
"osm_node_id": 3978753099
}
},
{
"center_points": [
{
"inner_x": 815.1344,
"inner_y": 893.2219
},
{
"inner_x": 786.3408,
"inner_y": 879.8966
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "-1572298638",
"abst:synthetic": "true",
"abst:synthetic_lanes": "ds/ds",
"highway": "primary",
"maxspeed": "25 mph",
"name": "Boyer/Lynn roundabout"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": -1572298635,
"i1": {
"osm_node_id": -1572298628
},
"i2": {
"osm_node_id": 3978753110
}
},
{
"center_points": [
{
"inner_x": 815.1344,
"inner_y": 893.2219
},
{
"inner_x": 798.6749,
"inner_y": 861.2825
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "-1572298635",
"abst:synthetic": "true",
"abst:synthetic_lanes": "ds/ds",
"highway": "primary",
"maxspeed": "25 mph",
"name": "Boyer/Lynn roundabout"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": -1572298632,
"i1": {
"osm_node_id": -1572298628
},
"i2": {
"osm_node_id": 3978753105
}
},
{
"center_points": [
{
"inner_x": 815.1344,
"inner_y": 893.2219
},
{
"inner_x": 829.4053,
"inner_y": 872.1018
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:endpt_fwd": "true",
"abst:osm_way_id": "-1572298632",
"abst:synthetic": "true",
"abst:synthetic_lanes": "ds/ds",
"highway": "primary",
"maxspeed": "25 mph",
"name": "Boyer/Lynn roundabout"
},
"turn_restrictions": []
}
],
[
{
"osm_way_id": 40790122,
"i1": {
"osm_node_id": 3978753095
},
"i2": {
"osm_node_id": 53084803
}
},
{
"center_points": [
{
"inner_x": 860.3869,
"inner_y": 888.4078
},
{
"inner_x": 959.8127,
"inner_y": 882.543
}
],
"osm_tags": {
"abst:endpt_back": "true",
"abst:osm_way_id": "40790122",
"highway": "tertiary",
"lanes": "2",
"maxspeed": "30 mph",
"name": "East Lynn Street",
"parking:lane:both": "parallel",
"sidewalk": "both"
},
"turn_restrictions": []
}
]
]
}

5778
data/fixes/montlake.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -88,8 +88,7 @@ impl UI {
(None, "produce OSM parking+sidewalk diff"),
(hotkey(Key::G), "preview all intersections"),
(None, "find overlapping intersections"),
(None, "find short roads"),
(None, "clear short roads"),
(hotkey(Key::Z), "find short roads"),
]],
ctx,
),
@ -310,9 +309,24 @@ impl GUI for UI {
} else if self.menu.action("find overlapping intersections") {
let (draw, labels) = find_overlapping_intersections(&self.model, ctx);
self.state = State::PreviewIntersection(draw, labels, false);
} else if self.menu.action("find short roads") {
} else if short_roads.is_empty()
&& self
.menu
.swap_action("find short roads", "clear short roads", ctx)
{
*short_roads = find_short_roads(&self.model);
} else if self.menu.action("clear short roads") {
if short_roads.is_empty() {
self.menu.change_action(
"clear short roads",
"find short roads",
ctx,
);
}
} else if !short_roads.is_empty()
&& self
.menu
.swap_action("clear short roads", "find short roads", ctx)
{
short_roads.clear();
}
}

View File

@ -349,6 +349,16 @@ fn make_walking_turns(
) {
result.extend(make_crosswalks(i.id, l1, l2));
}
// TODO Yup, the hack has come to pass.
if roads.len() > 3 {
if let Some(l2) = get_sidewalk(
lanes,
abstutil::wraparound_get(&roads, (idx1 as isize) - 3)
.outgoing_lanes(i.id),
) {
result.extend(make_crosswalks(i.id, l1, l2));
}
}
}
}
}