azavea / pfb-network-connectivity

PFB Bicycle Network Connectivity
Other
40 stars 10 forks source link

Convert kmph in analysis to mph (#892) #899

Closed lydiascarf closed 1 year ago

lydiascarf commented 2 years ago

Overview

Make analysis convert kmph speed limits to rounded mph

Demo

pfb=# SELECT osm.maxspeed, osm.osm_id FROM neighborhood_osm_full_line osm, neighborhood_ways WHERE neighborhood_ways.osm_id = osm.osm_id                                                         
AND (osm.maxspeed LIKE '% kmph' OR osm.maxspeed ~ '^\d+(\.\d+)?$');
 maxspeed |   osm_id   
----------+------------
 100      |   13224440
(...and a bunch of other rows...)
pfb=# SELECT osm.maxspeed, osm.osm_id FROM neighborhood_osm_full_line osm, neighborhood_ways WHERE neighborhood_ways.osm_id = osm.osm_id
AND (osm.maxspeed LIKE '% kmph' OR osm.maxspeed ~ '^\d+(\.\d+)?$') AND osm.osm_id=13224440
pfb-# ;
 maxspeed |  osm_id  
----------+----------
 100      | 13224440
(1 row)
pfb=# SELECT ROUND(substring(osm.maxspeed from '\d+')::INT / 1.609 / 5)*5
FROM    neighborhood_osm_full_line osm, neighborhood_ways
WHERE   neighborhood_ways.osm_id = osm.osm_id
AND     (osm.maxspeed LIKE '% kmph' OR osm.maxspeed ~ '^\d+(\.\d+)?$') AND osm.osm_id=13224440;
 ?column? 
----------
       60
(1 row)
pfb=# SELECT speed_limit FROM neighborhood_ways WHERE osm_id=13224440;
 speed_limit 
-------------
          60
(1 row)

Notes

Optional. Anillary topics, caveats, alternative strategies that didn't work out, anything else.

Testing Instructions

Checklist

Resolves #892