Skip to content

Commit

Permalink
Handle the junction=intersection tag in OSM, representing a short "road"
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
dabreegster committed Dec 29, 2020
1 parent c6749c4 commit b7061ed
Show file tree
Hide file tree
Showing 4 changed files with 217 additions and 210 deletions.
2 changes: 1 addition & 1 deletion convert_osm/src/extract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ fn is_road(tags: &mut Tags, opts: &Options) -> bool {
if !tags.contains_key(osm::SIDEWALK) && opts.map_config.inferred_sidewalks {
tags.insert(osm::INFERRED_SIDEWALKS, "true");
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(osm::HIGHWAY, "service")
{
Expand Down
4 changes: 4 additions & 0 deletions convert_osm/src/parking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ fn use_parking_hints(map: &mut RawMap, path: String, timer: &mut Timer) {
if !fwds && tags.is("dual_carriageway", "yes") {
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) {
tags.insert(osm::PARKING_LEFT, both.clone());
Expand Down
Loading

0 comments on commit b7061ed

Please sign in to comment.