Handle the junction=intersection tag in OSM, representing a short "road"

in the interior of a big intersection. #255, #114

- No sidewalks or parking on it
- Automatically try to merge it

Bring in fresh Seattle OSM with a few places on Aurora tagged, for
further experimentation.

Also, there's some bug in the importer; Seattle maps didn't get
regenerated last change. Picking up the diffs now.
This commit is contained in:
Dustin Carlino 2020-12-28 19:43:40 -08:00
parent c6749c4cd3
commit b7061ed425
4 changed files with 217 additions and 210 deletions

View File

@ -478,7 +478,7 @@ fn is_road(tags: &mut Tags, opts: &Options) -> bool {
if !tags.contains_key(osm::SIDEWALK) && opts.map_config.inferred_sidewalks { if !tags.contains_key(osm::SIDEWALK) && opts.map_config.inferred_sidewalks {
tags.insert(osm::INFERRED_SIDEWALKS, "true"); tags.insert(osm::INFERRED_SIDEWALKS, "true");
if tags.is_any(osm::HIGHWAY, vec!["motorway", "motorway_link"]) if tags.is_any(osm::HIGHWAY, vec!["motorway", "motorway_link"])
|| tags.is("junction", "roundabout") || tags.is_any("junction", vec!["intersection", "roundabout"])
|| tags.is("foot", "no") || tags.is("foot", "no")
|| tags.is(osm::HIGHWAY, "service") || tags.is(osm::HIGHWAY, "service")
{ {

View File

@ -110,6 +110,10 @@ fn use_parking_hints(map: &mut RawMap, path: String, timer: &mut Timer) {
if !fwds && tags.is("dual_carriageway", "yes") { if !fwds && tags.is("dual_carriageway", "yes") {
continue; continue;
} }
// And definitely no parking in the middle of an intersection
if tags.is("junction", "intersection") {
continue;
}
if let Some(both) = tags.remove(osm::PARKING_BOTH) { if let Some(both) = tags.remove(osm::PARKING_BOTH) {
tags.insert(osm::PARKING_LEFT, both.clone()); tags.insert(osm::PARKING_LEFT, both.clone());

View File

@ -326,9 +326,9 @@
"compressed_size_bytes": 22078155 "compressed_size_bytes": 22078155
}, },
"data/input/seattle/footways.bin": { "data/input/seattle/footways.bin": {
"checksum": "b046b02d40b6d0d3d86bcbe26d59604a", "checksum": "510a014a5838f33a84f33d70240990be",
"uncompressed_size_bytes": 6019116, "uncompressed_size_bytes": 6322821,
"compressed_size_bytes": 1698325 "compressed_size_bytes": 1769460
}, },
"data/input/seattle/google_transit/agency.txt": { "data/input/seattle/google_transit/agency.txt": {
"checksum": "75f564fcc06b1950b7b33acf9d61f696", "checksum": "75f564fcc06b1950b7b33acf9d61f696",
@ -411,79 +411,79 @@
"compressed_size_bytes": 40712 "compressed_size_bytes": 40712
}, },
"data/input/seattle/osm/ballard.osm": { "data/input/seattle/osm/ballard.osm": {
"checksum": "24e414b669296c6b8a1d0bbfd1b8025d", "checksum": "d6811c9cac5b9129c93c5e4ee2e3c136",
"uncompressed_size_bytes": 80003044, "uncompressed_size_bytes": 80389082,
"compressed_size_bytes": 6760897 "compressed_size_bytes": 6801134
}, },
"data/input/seattle/osm/downtown.osm": { "data/input/seattle/osm/downtown.osm": {
"checksum": "d840d07a93edd420512053ab7d590f82", "checksum": "92513682931aebd52e14aed171a28ace",
"uncompressed_size_bytes": 35199729, "uncompressed_size_bytes": 35973983,
"compressed_size_bytes": 3342174 "compressed_size_bytes": 3415988
}, },
"data/input/seattle/osm/huge_seattle.osm": { "data/input/seattle/osm/huge_seattle.osm": {
"checksum": "09700aeff3893e9fb6711dc9c30f8f65", "checksum": "fac74299407a37379b80f78f6cc29442",
"uncompressed_size_bytes": 461063772, "uncompressed_size_bytes": 463776157,
"compressed_size_bytes": 38573487 "compressed_size_bytes": 38881175
}, },
"data/input/seattle/osm/lakeslice.osm": { "data/input/seattle/osm/lakeslice.osm": {
"checksum": "59bc88c57e32d1b0e0dc113f72307c74", "checksum": "aceca14be9602a3e6828f3adc546d034",
"uncompressed_size_bytes": 37130011, "uncompressed_size_bytes": 37817779,
"compressed_size_bytes": 3066269 "compressed_size_bytes": 3137653
}, },
"data/input/seattle/osm/montlake.osm": { "data/input/seattle/osm/montlake.osm": {
"checksum": "a8913224176da9f5b30129166ef32463", "checksum": "40b8b2590e0502599e1d2c70dad132d0",
"uncompressed_size_bytes": 7718776, "uncompressed_size_bytes": 7742335,
"compressed_size_bytes": 655726 "compressed_size_bytes": 657654
}, },
"data/input/seattle/osm/north_seattle.osm": { "data/input/seattle/osm/north_seattle.osm": {
"checksum": "72dab3f3be8ca9ff82ed22f891294801", "checksum": "ff30e69e1ce3dff275a25204afe89179",
"uncompressed_size_bytes": 104543987, "uncompressed_size_bytes": 105207103,
"compressed_size_bytes": 8409068 "compressed_size_bytes": 8473666
}, },
"data/input/seattle/osm/phinney.osm": { "data/input/seattle/osm/phinney.osm": {
"checksum": "3569d1a1d92ed1646191b7e4e5279f18", "checksum": "49e905ccab0f716fa6ba8d100ccbabde",
"uncompressed_size_bytes": 16744961, "uncompressed_size_bytes": 17042972,
"compressed_size_bytes": 1339754 "compressed_size_bytes": 1367633
}, },
"data/input/seattle/osm/qa.osm": { "data/input/seattle/osm/qa.osm": {
"checksum": "09b0413878e59fee5477be7b97bcfbca", "checksum": "142b02760e078f1f4837529179649f79",
"uncompressed_size_bytes": 6100774, "uncompressed_size_bytes": 6103261,
"compressed_size_bytes": 485017 "compressed_size_bytes": 485401
}, },
"data/input/seattle/osm/slu.osm": { "data/input/seattle/osm/slu.osm": {
"checksum": "0465af9eb03e12d10b64f44afa8f14a9", "checksum": "6c2fd739c009a18c4b3528d694b23fe8",
"uncompressed_size_bytes": 3719865, "uncompressed_size_bytes": 3754549,
"compressed_size_bytes": 368621 "compressed_size_bytes": 371012
}, },
"data/input/seattle/osm/south_seattle.osm": { "data/input/seattle/osm/south_seattle.osm": {
"checksum": "fcb9a5b3f3e82bc6b74046702c5a75f7", "checksum": "8b03805e06fa2161f74f48520d998658",
"uncompressed_size_bytes": 88649537, "uncompressed_size_bytes": 90025385,
"compressed_size_bytes": 7569828 "compressed_size_bytes": 7720703
}, },
"data/input/seattle/osm/udistrict.osm": { "data/input/seattle/osm/udistrict.osm": {
"checksum": "2dc6984ebe5682735a002ed248e287c1", "checksum": "7014d77a672ca6560b48a6c797f2cdf6",
"uncompressed_size_bytes": 19615992, "uncompressed_size_bytes": 19708388,
"compressed_size_bytes": 1817208 "compressed_size_bytes": 1830108
}, },
"data/input/seattle/osm/udistrict_ravenna.osm": { "data/input/seattle/osm/udistrict_ravenna.osm": {
"checksum": "12924c609b1439b5dfc8d8839199390e", "checksum": "693953d224de611ccb13d08778a07570",
"uncompressed_size_bytes": 8165529, "uncompressed_size_bytes": 8197412,
"compressed_size_bytes": 721614 "compressed_size_bytes": 726791
}, },
"data/input/seattle/osm/wallingford.osm": { "data/input/seattle/osm/wallingford.osm": {
"checksum": "7858a6cef8095a72013597dcfefb928b", "checksum": "fa382fb39ba613c9d408c8acf6dda977",
"uncompressed_size_bytes": 11497104, "uncompressed_size_bytes": 11523848,
"compressed_size_bytes": 980841 "compressed_size_bytes": 984221
}, },
"data/input/seattle/osm/washington-latest.osm.pbf": { "data/input/seattle/osm/washington-latest.osm.pbf": {
"checksum": "41f7605e2e3f8fd30d6048a4b318c797", "checksum": "82718217abf6054751553847dc09d4c5",
"uncompressed_size_bytes": 173502950, "uncompressed_size_bytes": 181650213,
"compressed_size_bytes": 173447951 "compressed_size_bytes": 181596725
}, },
"data/input/seattle/osm/west_seattle.osm": { "data/input/seattle/osm/west_seattle.osm": {
"checksum": "89653f7235b81aea974bef0c36aa4925", "checksum": "038b966a9cccddde3a14367273ca40f3",
"uncompressed_size_bytes": 93320582, "uncompressed_size_bytes": 94172607,
"compressed_size_bytes": 7696044 "compressed_size_bytes": 7796283
}, },
"data/input/seattle/parcels.bin": { "data/input/seattle/parcels.bin": {
"checksum": "4ddce6d0f7158bd94c489de7f9fedb24", "checksum": "4ddce6d0f7158bd94c489de7f9fedb24",
@ -501,99 +501,99 @@
"compressed_size_bytes": 204996341 "compressed_size_bytes": 204996341
}, },
"data/input/seattle/raw_maps/ballard.bin": { "data/input/seattle/raw_maps/ballard.bin": {
"checksum": "809f8abffed1249756775faf8035284b", "checksum": "58383de1cd41bf751660f2eef0e180ac",
"uncompressed_size_bytes": 21681362, "uncompressed_size_bytes": 21701052,
"compressed_size_bytes": 5111993 "compressed_size_bytes": 5115833
}, },
"data/input/seattle/raw_maps/downtown.bin": { "data/input/seattle/raw_maps/downtown.bin": {
"checksum": "e38ec6b778c3693cb0169e0410b21642", "checksum": "fd482b2bce855214c499c517ba2eb7c5",
"uncompressed_size_bytes": 7767590, "uncompressed_size_bytes": 7795980,
"compressed_size_bytes": 1863630 "compressed_size_bytes": 1872031
}, },
"data/input/seattle/raw_maps/huge_seattle.bin": { "data/input/seattle/raw_maps/huge_seattle.bin": {
"checksum": "dcd6660546bf498ac43128efcfc751dd", "checksum": "c1e63b47b5c40b120e8ee30e907d31e2",
"uncompressed_size_bytes": 129409421, "uncompressed_size_bytes": 129580177,
"compressed_size_bytes": 30279923 "compressed_size_bytes": 30341255
}, },
"data/input/seattle/raw_maps/lakeslice.bin": { "data/input/seattle/raw_maps/lakeslice.bin": {
"checksum": "b58ce1aec556ea82d84a16b33cc02d3d", "checksum": "c6f58fb10f705784d6ac6822771e6299",
"uncompressed_size_bytes": 9986302, "uncompressed_size_bytes": 10011760,
"compressed_size_bytes": 2334063 "compressed_size_bytes": 2342079
}, },
"data/input/seattle/raw_maps/montlake.bin": { "data/input/seattle/raw_maps/montlake.bin": {
"checksum": "5e26b94163e29c9fd85490087db38a42", "checksum": "f9240511a27ac4a7b6edf5e899196b7a",
"uncompressed_size_bytes": 1884459, "uncompressed_size_bytes": 1883439,
"compressed_size_bytes": 433478 "compressed_size_bytes": 433585
}, },
"data/input/seattle/raw_maps/north_seattle.bin": { "data/input/seattle/raw_maps/north_seattle.bin": {
"checksum": "3684d4fa5e44f6a8c0c407e91834a4d3", "checksum": "90aa614449b8ab66a1ea2e878f44ea63",
"uncompressed_size_bytes": 29811412, "uncompressed_size_bytes": 29834645,
"compressed_size_bytes": 6909746 "compressed_size_bytes": 6917624
}, },
"data/input/seattle/raw_maps/phinney.bin": { "data/input/seattle/raw_maps/phinney.bin": {
"checksum": "abf33118c6451b88c1bcc2d464a5525d", "checksum": "3319a727b54768db182e32027c322da6",
"uncompressed_size_bytes": 4846022, "uncompressed_size_bytes": 4853952,
"compressed_size_bytes": 1053456 "compressed_size_bytes": 1056377
}, },
"data/input/seattle/raw_maps/qa.bin": { "data/input/seattle/raw_maps/qa.bin": {
"checksum": "94c7fb4a16ff6999924db50faa29af4f", "checksum": "cd190b9b8f56e7694f26bb6d75b0b00a",
"uncompressed_size_bytes": 1772701, "uncompressed_size_bytes": 1772717,
"compressed_size_bytes": 380440 "compressed_size_bytes": 380489
}, },
"data/input/seattle/raw_maps/slu.bin": { "data/input/seattle/raw_maps/slu.bin": {
"checksum": "82fa1451ddc70934db9ba0ef65865a4d", "checksum": "36df2a12161976c61c8d539aeb72e5d0",
"uncompressed_size_bytes": 554238, "uncompressed_size_bytes": 555726,
"compressed_size_bytes": 127449 "compressed_size_bytes": 127852
}, },
"data/input/seattle/raw_maps/south_seattle.bin": { "data/input/seattle/raw_maps/south_seattle.bin": {
"checksum": "05d4501743aed5c9758b536688dc5377", "checksum": "9914d273f541e8e2bdfaa1a2709fea04",
"uncompressed_size_bytes": 23717534, "uncompressed_size_bytes": 23783528,
"compressed_size_bytes": 5593161 "compressed_size_bytes": 5616721
}, },
"data/input/seattle/raw_maps/udistrict.bin": { "data/input/seattle/raw_maps/udistrict.bin": {
"checksum": "bbd0e6f4d07dd1aaa3d9f166472bdf0e", "checksum": "63ffa153a4a427502388755480d2b834",
"uncompressed_size_bytes": 4426362, "uncompressed_size_bytes": 4430759,
"compressed_size_bytes": 1044734 "compressed_size_bytes": 1046168
}, },
"data/input/seattle/raw_maps/udistrict_ravenna.bin": { "data/input/seattle/raw_maps/udistrict_ravenna.bin": {
"checksum": "db3e3d65d6bcbfbbfe0b4c27c5870463", "checksum": "a5850d0c5a1d3bfb80bbfb4169524afe",
"uncompressed_size_bytes": 1894293, "uncompressed_size_bytes": 1894021,
"compressed_size_bytes": 423656 "compressed_size_bytes": 424379
}, },
"data/input/seattle/raw_maps/wallingford.bin": { "data/input/seattle/raw_maps/wallingford.bin": {
"checksum": "4041d19d0cff11fe5a33ad0fee94193f", "checksum": "a28fe242442a570287fcfdaaf53e25eb",
"uncompressed_size_bytes": 3185260, "uncompressed_size_bytes": 3186257,
"compressed_size_bytes": 712168 "compressed_size_bytes": 712691
}, },
"data/input/seattle/raw_maps/west_seattle.bin": { "data/input/seattle/raw_maps/west_seattle.bin": {
"checksum": "70acae16cb6c2bca1e13eb7281c47b7a", "checksum": "9e79c0dc0144d50749346e3588322933",
"uncompressed_size_bytes": 25902584, "uncompressed_size_bytes": 25937725,
"compressed_size_bytes": 6016600 "compressed_size_bytes": 6030275
}, },
"data/input/seattle/screenshots/downtown.zip": { "data/input/seattle/screenshots/downtown.zip": {
"checksum": "9b42e03026741e37746b5c5925f9ea9b", "checksum": "7aa8042a73fa1fe647f849fdddee5d1c",
"uncompressed_size_bytes": 14837044, "uncompressed_size_bytes": 14870102,
"compressed_size_bytes": 14789712 "compressed_size_bytes": 14822759
}, },
"data/input/seattle/screenshots/lakeslice.zip": { "data/input/seattle/screenshots/lakeslice.zip": {
"checksum": "10984d19daa46c220ec6cf78e6538bdd", "checksum": "74ff167e30b15575c155388340a8f031",
"uncompressed_size_bytes": 13615975, "uncompressed_size_bytes": 13643161,
"compressed_size_bytes": 13585182 "compressed_size_bytes": 13612447
}, },
"data/input/seattle/screenshots/montlake.zip": { "data/input/seattle/screenshots/montlake.zip": {
"checksum": "77e1a77719f9c1b413d18b59fce8401c", "checksum": "eaee2debc8e8677713228fc2062575a0",
"uncompressed_size_bytes": 2623111, "uncompressed_size_bytes": 2626375,
"compressed_size_bytes": 2622473 "compressed_size_bytes": 2625736
}, },
"data/input/seattle/screenshots/udistrict.zip": { "data/input/seattle/screenshots/udistrict.zip": {
"checksum": "91b61e0292ff623e988f4d7a6a685ca3", "checksum": "c5514f26f733c6f8638aefc6d40630a5",
"uncompressed_size_bytes": 6843273, "uncompressed_size_bytes": 6831484,
"compressed_size_bytes": 6834780 "compressed_size_bytes": 6822945
}, },
"data/input/seattle/service_roads.bin": { "data/input/seattle/service_roads.bin": {
"checksum": "764ea98656c9e501f2f292f3cbf36cd3", "checksum": "87362c2566507e58ab9e4d55005d27d2",
"uncompressed_size_bytes": 4206275, "uncompressed_size_bytes": 4248808,
"compressed_size_bytes": 1152307 "compressed_size_bytes": 1171085
}, },
"data/input/seattle/trips_2014.csv": { "data/input/seattle/trips_2014.csv": {
"checksum": "d4a8e733045b28c0385fb81359d6df03", "checksum": "d4a8e733045b28c0385fb81359d6df03",
@ -751,164 +751,164 @@
"compressed_size_bytes": 7455513 "compressed_size_bytes": 7455513
}, },
"data/system/seattle/city.bin": { "data/system/seattle/city.bin": {
"checksum": "c5df7cb83a43f94f831fdb321f103122", "checksum": "bda232eac66ea230257b1058e96c4a6e",
"uncompressed_size_bytes": 1366680, "uncompressed_size_bytes": 1368518,
"compressed_size_bytes": 724791 "compressed_size_bytes": 725951
}, },
"data/system/seattle/maps/ballard.bin": { "data/system/seattle/maps/ballard.bin": {
"checksum": "5a9fe7aeba650145f9ca092673ab0e75", "checksum": "a88cf271a384dc1e99935d5ff261b1c0",
"uncompressed_size_bytes": 51522078, "uncompressed_size_bytes": 51541717,
"compressed_size_bytes": 18228974 "compressed_size_bytes": 18231247
}, },
"data/system/seattle/maps/downtown.bin": { "data/system/seattle/maps/downtown.bin": {
"checksum": "2a26389e46f7f76c5e1402d0663d4415", "checksum": "a79c7d67c5489abed731d81362a6ba65",
"uncompressed_size_bytes": 28864497, "uncompressed_size_bytes": 28943107,
"compressed_size_bytes": 9954443 "compressed_size_bytes": 9968733
}, },
"data/system/seattle/maps/huge_seattle.bin": { "data/system/seattle/maps/huge_seattle.bin": {
"checksum": "8e09d716996b4079518463f8d4cc022d", "checksum": "1f7a8c90679f76557a4d60823b07566c",
"uncompressed_size_bytes": 312234406, "uncompressed_size_bytes": 312627190,
"compressed_size_bytes": 112505255 "compressed_size_bytes": 112706025
}, },
"data/system/seattle/maps/lakeslice.bin": { "data/system/seattle/maps/lakeslice.bin": {
"checksum": "75e24bf4a0613ad0103985f3fdcb59b9", "checksum": "c7d4c0d6a337f7f082cfd7e0f8c38d41",
"uncompressed_size_bytes": 24451029, "uncompressed_size_bytes": 24515335,
"compressed_size_bytes": 8604315 "compressed_size_bytes": 8645355
}, },
"data/system/seattle/maps/montlake.bin": { "data/system/seattle/maps/montlake.bin": {
"checksum": "8275d22ef815374618df69064bb068fc", "checksum": "dc897dfc3ee96c771b3a6c60149fc920",
"uncompressed_size_bytes": 4186606, "uncompressed_size_bytes": 4174285,
"compressed_size_bytes": 1425127 "compressed_size_bytes": 1420168
}, },
"data/system/seattle/maps/north_seattle.bin": { "data/system/seattle/maps/north_seattle.bin": {
"checksum": "66168507f399890753c8d973a66993ae", "checksum": "971b86388bcc040fa0b901fe39f07168",
"uncompressed_size_bytes": 63847681, "uncompressed_size_bytes": 64025660,
"compressed_size_bytes": 22600214 "compressed_size_bytes": 22690316
}, },
"data/system/seattle/maps/phinney.bin": { "data/system/seattle/maps/phinney.bin": {
"checksum": "0fde63eaf956a12c4ef8ee83a0bd9b72", "checksum": "1afa5ff3c84d62cf5fd3982dbf32ca3f",
"uncompressed_size_bytes": 10154615, "uncompressed_size_bytes": 10199111,
"compressed_size_bytes": 3446618 "compressed_size_bytes": 3476622
}, },
"data/system/seattle/maps/qa.bin": { "data/system/seattle/maps/qa.bin": {
"checksum": "029aa3bcfb1237e02479f9d2a6000f44", "checksum": "fd707199363c50a3781ae3d984fcb8e1",
"uncompressed_size_bytes": 3872590, "uncompressed_size_bytes": 3872558,
"compressed_size_bytes": 1282654 "compressed_size_bytes": 1282621
}, },
"data/system/seattle/maps/slu.bin": { "data/system/seattle/maps/slu.bin": {
"checksum": "1245c5324d2d4f386c914a223a164d0a", "checksum": "ac9fc38249d4986943b0991f15d19c17",
"uncompressed_size_bytes": 2845390, "uncompressed_size_bytes": 2855897,
"compressed_size_bytes": 904176 "compressed_size_bytes": 907147
}, },
"data/system/seattle/maps/south_seattle.bin": { "data/system/seattle/maps/south_seattle.bin": {
"checksum": "6e6beaa6bbd88461ae22502be31d7a6f", "checksum": "2234654b63724acd758c90161c0bea41",
"uncompressed_size_bytes": 62554971, "uncompressed_size_bytes": 62692650,
"compressed_size_bytes": 22083099 "compressed_size_bytes": 22140740
}, },
"data/system/seattle/maps/udistrict.bin": { "data/system/seattle/maps/udistrict.bin": {
"checksum": "f25483c7079db179f5e1649eacc8ca10", "checksum": "71b5e385fe30b4ef3f0076be4aec2f3f",
"uncompressed_size_bytes": 11078673, "uncompressed_size_bytes": 11100990,
"compressed_size_bytes": 3808770 "compressed_size_bytes": 3810887
}, },
"data/system/seattle/maps/udistrict_ravenna.bin": { "data/system/seattle/maps/udistrict_ravenna.bin": {
"checksum": "f74e6180c35b2600938f502aa1b17049", "checksum": "a503e47946195cfe9f7b8cda54f2e1e6",
"uncompressed_size_bytes": 4736752, "uncompressed_size_bytes": 4740413,
"compressed_size_bytes": 1578282 "compressed_size_bytes": 1580021
}, },
"data/system/seattle/maps/wallingford.bin": { "data/system/seattle/maps/wallingford.bin": {
"checksum": "58fc4e4098cd44c02d1680bd4c63094b", "checksum": "b67ed3b690b3e50c8c1a77543c37d2a1",
"uncompressed_size_bytes": 7340384, "uncompressed_size_bytes": 7333175,
"compressed_size_bytes": 2495788 "compressed_size_bytes": 2495807
}, },
"data/system/seattle/maps/west_seattle.bin": { "data/system/seattle/maps/west_seattle.bin": {
"checksum": "cf2146eaa524990aeaac70999621d447", "checksum": "d90a9a3bf13c26c5d1ba4880f9c089ee",
"uncompressed_size_bytes": 59107437, "uncompressed_size_bytes": 59167061,
"compressed_size_bytes": 20927666 "compressed_size_bytes": 20932490
}, },
"data/system/seattle/prebaked_results/lakeslice/weekday.bin": { "data/system/seattle/prebaked_results/lakeslice/weekday.bin": {
"checksum": "ed967f03490807c5b88ec67aa3c795f3", "checksum": "65410a3318cd0bed2638cb12ab8e8fc8",
"uncompressed_size_bytes": 66453725, "uncompressed_size_bytes": 66265852,
"compressed_size_bytes": 24239718 "compressed_size_bytes": 24106069
}, },
"data/system/seattle/prebaked_results/montlake/car vs bike contention.bin": { "data/system/seattle/prebaked_results/montlake/car vs bike contention.bin": {
"checksum": "d1bb6deda465f6ff1705034ba41ff806", "checksum": "c0a342da068ab8b5c4d4871b513990e5",
"uncompressed_size_bytes": 5277, "uncompressed_size_bytes": 5277,
"compressed_size_bytes": 1838 "compressed_size_bytes": 1838
}, },
"data/system/seattle/prebaked_results/montlake/weekday.bin": { "data/system/seattle/prebaked_results/montlake/weekday.bin": {
"checksum": "db4d82a71c9eca67b7510ad8bef0f811", "checksum": "da04ac7e3a53c9e0b06f1071ede60b83",
"uncompressed_size_bytes": 8659255, "uncompressed_size_bytes": 8637422,
"compressed_size_bytes": 2939932 "compressed_size_bytes": 2934082
}, },
"data/system/seattle/scenarios/ballard/weekday.bin": { "data/system/seattle/scenarios/ballard/weekday.bin": {
"checksum": "bb9768119a3f977ead9b62aa93da41bd", "checksum": "a1a64d721b46d71cc7f4c3723c083dd6",
"uncompressed_size_bytes": 21682429, "uncompressed_size_bytes": 21679948,
"compressed_size_bytes": 4783764 "compressed_size_bytes": 4783185
}, },
"data/system/seattle/scenarios/downtown/weekday.bin": { "data/system/seattle/scenarios/downtown/weekday.bin": {
"checksum": "7dd54e01de17dd2ec90ac2153be2edc0", "checksum": "004023fd4fe436bb90b7c905a9ba1c71",
"uncompressed_size_bytes": 38519715, "uncompressed_size_bytes": 38513220,
"compressed_size_bytes": 8181874 "compressed_size_bytes": 8179160
}, },
"data/system/seattle/scenarios/huge_seattle/weekday.bin": { "data/system/seattle/scenarios/huge_seattle/weekday.bin": {
"checksum": "5f97193cda5a1dda90b32d5db06e5ebd", "checksum": "f6aa24adf256854c38995f41291caeed",
"uncompressed_size_bytes": 114446119, "uncompressed_size_bytes": 114423430,
"compressed_size_bytes": 26101171 "compressed_size_bytes": 26090770
}, },
"data/system/seattle/scenarios/lakeslice/weekday.bin": { "data/system/seattle/scenarios/lakeslice/weekday.bin": {
"checksum": "a094891a4960413cae4c7ef96a911b29", "checksum": "367031666e01bc0ebaa82a966f7d16dc",
"uncompressed_size_bytes": 9164693, "uncompressed_size_bytes": 9150578,
"compressed_size_bytes": 1983603 "compressed_size_bytes": 1981227
}, },
"data/system/seattle/scenarios/montlake/weekday.bin": { "data/system/seattle/scenarios/montlake/weekday.bin": {
"checksum": "e6edc33102f30f8a248edea64fd72d87", "checksum": "6d918ef5a2ef4817046e4dd2ab75ea50",
"uncompressed_size_bytes": 1296336, "uncompressed_size_bytes": 1295743,
"compressed_size_bytes": 270695 "compressed_size_bytes": 270409
}, },
"data/system/seattle/scenarios/north_seattle/weekday.bin": { "data/system/seattle/scenarios/north_seattle/weekday.bin": {
"checksum": "c2ba94fede5fbe9be92fb335423f3615", "checksum": "970b2631474c4da9f673c2efe7403544",
"uncompressed_size_bytes": 24678291, "uncompressed_size_bytes": 24672362,
"compressed_size_bytes": 5465021 "compressed_size_bytes": 5463900
}, },
"data/system/seattle/scenarios/phinney/weekday.bin": { "data/system/seattle/scenarios/phinney/weekday.bin": {
"checksum": "becd88d0f692f32c772419bea09b796f", "checksum": "ba8af38d4846cbf878789e9be9026bdf",
"uncompressed_size_bytes": 4829053, "uncompressed_size_bytes": 4827224,
"compressed_size_bytes": 1050485 "compressed_size_bytes": 1051199
}, },
"data/system/seattle/scenarios/qa/weekday.bin": { "data/system/seattle/scenarios/qa/weekday.bin": {
"checksum": "e077b6352674ad5613bca86f83717026", "checksum": "ca61c4123ba145a301632b73132ab7b9",
"uncompressed_size_bytes": 1896996, "uncompressed_size_bytes": 1896996,
"compressed_size_bytes": 399452 "compressed_size_bytes": 399302
}, },
"data/system/seattle/scenarios/slu/weekday.bin": { "data/system/seattle/scenarios/slu/weekday.bin": {
"checksum": "0df6c955c5a2789a2d8f1eec130f2db6", "checksum": "078e7cc282b908cc7e2a9411ab3a642a",
"uncompressed_size_bytes": 3895180, "uncompressed_size_bytes": 3895180,
"compressed_size_bytes": 789103 "compressed_size_bytes": 789397
}, },
"data/system/seattle/scenarios/south_seattle/weekday.bin": { "data/system/seattle/scenarios/south_seattle/weekday.bin": {
"checksum": "4ca85890a764ea0310b8c47aaf1149a7", "checksum": "85b4f6f3837af20b6e327a0787c86283",
"uncompressed_size_bytes": 27995479, "uncompressed_size_bytes": 27968372,
"compressed_size_bytes": 6009351 "compressed_size_bytes": 6005351
}, },
"data/system/seattle/scenarios/udistrict/weekday.bin": { "data/system/seattle/scenarios/udistrict/weekday.bin": {
"checksum": "aa008bb97ab3ca553629d55217bbfd42", "checksum": "4a34f90185fdcec6537314b12f8d3211",
"uncompressed_size_bytes": 9302129, "uncompressed_size_bytes": 9286911,
"compressed_size_bytes": 1938185 "compressed_size_bytes": 1934607
}, },
"data/system/seattle/scenarios/udistrict_ravenna/weekday.bin": { "data/system/seattle/scenarios/udistrict_ravenna/weekday.bin": {
"checksum": "4e65362181abb882fb0ff6047760ac42", "checksum": "1b05ebc0befccbadfe37023bef37640a",
"uncompressed_size_bytes": 5121667, "uncompressed_size_bytes": 5105303,
"compressed_size_bytes": 1069235 "compressed_size_bytes": 1065502
}, },
"data/system/seattle/scenarios/wallingford/weekday.bin": { "data/system/seattle/scenarios/wallingford/weekday.bin": {
"checksum": "6ce1fcbf5d67f7560d40c3e44e83243d", "checksum": "6c366fa140c7bc56b989b366d6043a5f",
"uncompressed_size_bytes": 4689029, "uncompressed_size_bytes": 4689029,
"compressed_size_bytes": 988295 "compressed_size_bytes": 988366
}, },
"data/system/seattle/scenarios/west_seattle/weekday.bin": { "data/system/seattle/scenarios/west_seattle/weekday.bin": {
"checksum": "173d9fdde4e61519b56e915dca9ba33b", "checksum": "980194a5eb89eb29947cd82cc11e3904",
"uncompressed_size_bytes": 20749035, "uncompressed_size_bytes": 20737752,
"compressed_size_bytes": 4496279 "compressed_size_bytes": 4494823
}, },
"data/system/tel_aviv/maps/center.bin": { "data/system/tel_aviv/maps/center.bin": {
"checksum": "f382f48a04afb5b333960c2494088383", "checksum": "f382f48a04afb5b333960c2494088383",

View File

@ -1,22 +1,25 @@
use abstutil::MapName; use crate::raw::RawMap;
use crate::raw::{OriginalRoad, RawMap};
/// Experimentally try to merge tiny "roads" that're actually just part of a complicated /// Experimentally try to merge tiny "roads" that're actually just part of a complicated
/// intersection. /// intersection.
pub fn merge_short_roads(map: &mut RawMap) { pub fn merge_short_roads(map: &mut RawMap) {
// TODO A few hardcoded cases to start. // An expensive fixed-point approach. When we merge one road, the IDs of some other roads might
if map.name == MapName::seattle("phinney") { // change, so it's simplest just to start over.
for id in vec![ // TODO But since merge_short_road tells us what road IDs were deleted and created, it wouldn't
// Aurora & 77th // be hard to make a single pass.
OriginalRoad::new(158718276, (1424516502, 809059829)), loop {
OriginalRoad::new(9025494, (1424516502, 670081609)), let mut changes = false;
// Aurora & Winoa for (id, road) in &map.roads {
OriginalRoad::new(331588704, (30759900, 670081611)), // See https://wiki.openstreetmap.org/wiki/Proposed_features/junction%3Dintersection
] { if road.osm_tags.is("junction", "intersection") {
if false { let id = *id;
map.merge_short_road(id).unwrap(); map.merge_short_road(id).unwrap();
changes = true;
break;
} }
} }
if !changes {
break;
}
} }
} }