diff --git a/mapnik/opentopomap.xml b/mapnik/opentopomap.xml
index bc930523..1b1c8799 100644
--- a/mapnik/opentopomap.xml
+++ b/mapnik/opentopomap.xml
@@ -382,7 +382,7 @@
roads-fill
trams
- (SELECT way,ST_Length(way) AS length,highway,name,service,surface,tracktype,lanes,embankment,oneway,railway FROM planet_osm_line WHERE (!scale_denominator! > 300000) OR ((bridge IS NULL OR bridge = 'no') AND (tunnel IS NULL OR tunnel != 'yes')) AND (highway IS NOT NULL OR railway='tram') ORDER BY (CASE WHEN highway IN ('motorway','trunk') THEN 5 WHEN highway='primary' THEN 1 WHEN highway='secondary' THEN 2 WHEN highway='tertiary' THEN 3 ELSE 4 END) DESC ) AS roads
+ (SELECT way,ST_Length(way) AS length,highway,name,sac_scale,trail_visibility,via_ferrata_scale,service,surface,tracktype,lanes,embankment,oneway,railway FROM planet_osm_line WHERE (!scale_denominator! > 300000) OR ((bridge IS NULL OR bridge = 'no') AND (tunnel IS NULL OR tunnel != 'yes')) AND (highway IS NOT NULL OR railway='tram') ORDER BY (CASE WHEN highway IN ('motorway','trunk') THEN 5 WHEN highway='primary' THEN 1 WHEN highway='secondary' THEN 2 WHEN highway='tertiary' THEN 3 ELSE 4 END) DESC ) AS roads
gis
&postgis-settings;
diff --git a/mapnik/styles-otm/roads-casing.xml b/mapnik/styles-otm/roads-casing.xml
index dbb5eed4..73e9f507 100644
--- a/mapnik/styles-otm/roads-casing.xml
+++ b/mapnik/styles-otm/roads-casing.xml
@@ -293,12 +293,7 @@
[highway] = 'track' and [tracktype] = 'grade5'
-
- &maxscale_zoom14;
- &minscale_zoom14;
- ([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway'
-
-
+
&maxscale_zoom14;
&minscale_zoom14;
@@ -313,6 +308,89 @@
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'via_ferrata'
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] is null or [sac_scale] = 'hiking' or [sac_scale] = 'mountain_hiking') and (([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway')
+
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_mountain_hiking' or [sac_scale] = 'alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_alpine_hiking' or [sac_scale] = 'difficult_alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] is null or [sac_scale] = 'hiking' or [sac_scale] = 'mountain_hiking') and (([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway')
+
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_mountain_hiking' or [sac_scale] = 'alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_alpine_hiking' or [sac_scale] = 'difficult_alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+
+
+ &maxscale_zoom14;
+ &minscale_zoom14;
+ ([highway] = 'via_ferrata') or (([via_ferrata_scale] != null and [via_ferrata_scale] != '0') and ([highway] = 'path' or [highway] = 'footway'))
+
+
+
+
+
+
+
+
&maxscale_zoom15;
@@ -368,12 +446,89 @@
[highway] = 'track' and [tracktype] = 'grade5'
+
+
+
+
+
&maxscale_zoom15;
&minscale_zoom17;
- ([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway'
+ ([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'via_ferrata'
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] is null or [sac_scale] = 'hiking' or [sac_scale] = 'mountain_hiking') and (([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway')
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_mountain_hiking' or [sac_scale] = 'alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility] is null or ([trail_visibility]!='no' and [trail_visibility]!='horrible' and [trail_visibility]!='bad')) and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_alpine_hiking' or [sac_scale] = 'difficult_alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] is null or [sac_scale] = 'hiking' or [sac_scale] = 'mountain_hiking') and (([highway] = 'path' and [surface] != 'asphalt') or [highway] = 'footway' or [highway] = 'bridleway')
+
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_mountain_hiking' or [sac_scale] = 'alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([trail_visibility]='no' or [trail_visibility]='horrible' or [trail_visibility]='bad') and ([via_ferrata_scale] is null or [via_ferrata_scale] = '0') and ([sac_scale] = 'demanding_alpine_hiking' or [sac_scale] = 'difficult_alpine_hiking') and ([highway] = 'path' or [highway] = 'footway')
+
+
+
+
+
+
+
+
+ &maxscale_zoom15;
+ &minscale_zoom17;
+ ([highway] = 'via_ferrata') or (([via_ferrata_scale] != null and [via_ferrata_scale] != '0') and ([highway] = 'path' or [highway] = 'footway'))
+
+
+
+
+
+
+
&maxscale_zoom15;
&minscale_zoom15;