diff --git a/convert_osm/src/osm_reader.rs b/convert_osm/src/osm_reader.rs index e404dbab87..7b1c04f3cc 100644 --- a/convert_osm/src/osm_reader.rs +++ b/convert_osm/src/osm_reader.rs @@ -341,6 +341,9 @@ pub fn extract_osm( shop.clone(), )); } + if pts.len() < 3 { + continue; + } map.buildings.insert( OriginalBuilding { osm_way_id: rel.id }, RawBuilding { diff --git a/data/geojson_to_osmosis.py b/data/geojson_to_osmosis.py index 846b38e742..02234aa768 100755 --- a/data/geojson_to_osmosis.py +++ b/data/geojson_to_osmosis.py @@ -50,5 +50,9 @@ coordinates = [ 47.718885924932174 ] ] +print('map_name') +print('1') for (x, y) in coordinates: print(' {} {}'.format(x, y)) +print('END') +print('END') diff --git a/data/other_polygons/manhattan.poly b/data/other_polygons/manhattan.poly new file mode 100644 index 0000000000..058513480f --- /dev/null +++ b/data/other_polygons/manhattan.poly @@ -0,0 +1,15 @@ +manhattan +1 + -74.02373313903809 40.69625781921317 + -74.01025772094727 40.699218658976555 + -73.99995803833008 40.703122861875606 + -73.9739513397217 40.7105727473657 + -73.96159172058105 40.7519385984599 + -73.9400053024292 40.77612179824107 + -73.94030570983887 40.78057392807732 + -73.93798828125 40.78483079505022 + -73.96742820739748 40.822383381646446 + -74.01686668395996 40.75219867966512 + -74.02373313903809 40.69625781921317 +END +END diff --git a/map_model/src/lane.rs b/map_model/src/lane.rs index f2c19b475e..64b7d645b7 100644 --- a/map_model/src/lane.rs +++ b/map_model/src/lane.rs @@ -216,7 +216,7 @@ impl Lane { Some( part.split(';') .flat_map(|s| match s { - "left" => vec![TurnType::Left], + "left" | "left\\left" => vec![TurnType::Left], "right" => vec![TurnType::Right], // TODO What is blank supposed to mean? From few observed cases, same as through "through" | "" => vec![