From cbe3c8319db11936b4b8b6609e11ec0cab67fe91 Mon Sep 17 00:00:00 2001 From: Luis Alvergue Date: Tue, 22 Aug 2023 15:38:08 -0500 Subject: [PATCH] Update osm tags (#948) - Updated the crossing=island tag to crossing:island=* per OSM guidelines. - Added crossing_ref tag for ped signalized crossings per OSM guidelines. - Updated the flashing_lights='yes' tag to include 'button', 'always', and 'sensor' per OSM guidelines. - Updated the footway key to include 'traffic_island' crossings per OSM guidelines. --- src/analysis/features/functional_class.sql | 2 +- src/analysis/features/island.sql | 2 +- src/analysis/features/rrfb.sql | 2 +- src/analysis/features/signalized.sql | 17 ++++++++++++++++- src/analysis/import/pfb.style | 2 ++ 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/analysis/features/functional_class.sql b/src/analysis/features/functional_class.sql index c826859d..9d7cbe26 100644 --- a/src/analysis/features/functional_class.sql +++ b/src/analysis/features/functional_class.sql @@ -43,7 +43,7 @@ SET functional_class = 'path', FROM neighborhood_osm_full_line osm WHERE neighborhood_ways.osm_id = osm.osm_id AND osm.highway = 'footway' -AND osm.footway = 'crossing'; +AND osm.footway IN ('crossing','traffic_island'); UPDATE neighborhood_ways SET functional_class = 'path' diff --git a/src/analysis/features/island.sql b/src/analysis/features/island.sql index 4852ec6f..df471c5e 100644 --- a/src/analysis/features/island.sql +++ b/src/analysis/features/island.sql @@ -13,6 +13,6 @@ AND EXISTS ( SELECT 1 FROM neighborhood_osm_full_point osm WHERE osm.highway = 'crossing' - AND osm.crossing = 'island' + AND osm."crossing:island" = 'yes' AND ST_DWithin(neighborhood_ways_intersections.geom, osm.way, :sigctl_search_dist) ); diff --git a/src/analysis/features/rrfb.sql b/src/analysis/features/rrfb.sql index 3ffd8410..813bce57 100644 --- a/src/analysis/features/rrfb.sql +++ b/src/analysis/features/rrfb.sql @@ -13,6 +13,6 @@ AND EXISTS ( SELECT 1 FROM neighborhood_osm_full_point osm WHERE osm.highway = 'crossing' - AND osm.flashing_lights = 'yes' + AND osm.flashing_lights IN ('yes','button','always','sensor') AND ST_DWithin(neighborhood_ways_intersections.geom, osm.way, :sigctl_search_dist) ); diff --git a/src/analysis/features/signalized.sql b/src/analysis/features/signalized.sql index b07ae186..735d608f 100644 --- a/src/analysis/features/signalized.sql +++ b/src/analysis/features/signalized.sql @@ -32,6 +32,21 @@ AND int_id = neighborhood_ways.intersection_from AND osm."traffic_signals:direction" = 'backward'; +------------------------------------------------ +-- Traffic light controlled pedestrian crossings +------------------------------------------------ +UPDATE neighborhood_ways_intersections +SET signalized = 't' +WHERE legs > 2 +AND EXISTS ( + SELECT 1 + FROM neighborhood_osm_full_point osm + WHERE osm.highway = 'crossing' + AND osm.crossing = 'traffic_signals' + AND ST_DWithin(neighborhood_ways_intersections.geom, osm.way, :sigctl_search_dist) + ); + + ----------------------------------- -- HAWKs and other variants ----------------------------------- @@ -42,7 +57,7 @@ AND EXISTS ( SELECT 1 FROM neighborhood_osm_full_point osm WHERE osm.highway = 'crossing' - AND osm.crossing IN ('traffic_signals','pelican','toucan') + AND osm.crossing_ref IN ('hawk','pelican','toucan') AND ST_DWithin(neighborhood_ways_intersections.geom, osm.way, :sigctl_search_dist) ); diff --git a/src/analysis/import/pfb.style b/src/analysis/import/pfb.style index 162b4afd..ca343b6f 100644 --- a/src/analysis/import/pfb.style +++ b/src/analysis/import/pfb.style @@ -88,6 +88,8 @@ node,way bicycle text linear node,way bridge text linear node,way button_operated text linear node,way crossing text linear +node,way crossing:island text linear +node,way crossing_ref text linear way cycleway text linear way cycleway:left text linear way cycleway:right text linear