mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-11-24 09:24:26 +03:00
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:
parent
41d9588266
commit
8e4bc6961b
1580
data/fixes/520.json
1580
data/fixes/520.json
File diff suppressed because it is too large
Load Diff
@ -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": []
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
@ -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
5778
data/fixes/montlake.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user