2424 ' primary' ,
2525 ' living_street'
2626 )
27- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
27+ AND (
28+ osm .access IS NULL
29+ OR (
30+ osm .access = ' no'
31+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
32+ )
33+ OR osm .access NOT IN (' no' , ' private' )
34+ );
2835
2936UPDATE neighborhood_ways
3037SET functional_class = ' track'
@@ -33,15 +40,29 @@ WHERE
3340 neighborhood_ways .osm_id = osm .osm_id
3441 AND osm .highway = ' track'
3542 AND osm .tracktype = ' grade1'
36- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
43+ AND (
44+ osm .access IS NULL
45+ OR (
46+ osm .access = ' no'
47+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
48+ )
49+ OR osm .access NOT IN (' no' , ' private' )
50+ );
3751
3852UPDATE neighborhood_ways
3953SET functional_class = ' path'
4054FROM neighborhood_osm_full_line AS osm
4155WHERE
4256 neighborhood_ways .osm_id = osm .osm_id
4357 AND osm .highway IN (' cycleway' , ' path' )
44- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
58+ AND (
59+ osm .access IS NULL
60+ OR (
61+ osm .access = ' no'
62+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
63+ )
64+ OR osm .access NOT IN (' no' , ' private' )
65+ );
4566
4667UPDATE neighborhood_ways
4768SET
5273 neighborhood_ways .osm_id = osm .osm_id
5374 AND osm .highway = ' footway'
5475 AND osm .footway IN (' crossing' , ' traffic_island' )
55- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
76+ AND (
77+ osm .access IS NULL
78+ OR (
79+ osm .access = ' no'
80+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
81+ )
82+ OR osm .access NOT IN (' no' , ' private' )
83+ );
5684
5785UPDATE neighborhood_ways
5886SET functional_class = ' path'
6189 neighborhood_ways .osm_id = osm .osm_id
6290 AND osm .highway = ' footway'
6391 AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
64- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ))
92+ AND (
93+ osm .access IS NULL
94+ OR (
95+ osm .access = ' no'
96+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
97+ )
98+ OR osm .access NOT IN (' no' , ' private' )
99+ )
65100 AND COALESCE(width_ft, 0 ) >= 8 ;
66101
67102UPDATE neighborhood_ways
@@ -71,7 +106,14 @@ WHERE
71106 neighborhood_ways .osm_id = osm .osm_id
72107 AND osm .highway = ' service'
73108 AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
74- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
109+ AND (
110+ osm .access IS NULL
111+ OR (
112+ osm .access = ' no'
113+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
114+ )
115+ OR osm .access NOT IN (' no' , ' private' )
116+ );
75117
76118UPDATE neighborhood_ways
77119SET functional_class = ' living_street'
@@ -80,7 +122,14 @@ WHERE
80122 neighborhood_ways .osm_id = osm .osm_id
81123 AND osm .highway = ' pedestrian'
82124 AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
83- AND (osm .access IS NULL OR osm .access NOT IN (' no' , ' private' ));
125+ AND (
126+ osm .access IS NULL
127+ OR (
128+ osm .access = ' no'
129+ AND osm .bicycle IN (' yes' , ' permissive' , ' designated' )
130+ )
131+ OR osm .access NOT IN (' no' , ' private' )
132+ );
84133
85134-- remove stuff that we don't want to route over
86135DELETE FROM neighborhood_ways
0 commit comments