Colors waterways and flags various typology errors with red triangles (ie disconnected segments, opposite direction, transition from river to stream) [[Image(waterways-guide.png)]] {{{ #!style type="mapcss" meta { title: "waterways"; version: "1.[[revision]]_[[date]]"; description: "Colors waterways features and caracteristics and flags typology errors with red triangles (ie disconnected segments, transition from river to stream)."; icon: "waterways.png"; author: "Pierre Béland"; watch-modified: true; } canvas { fill-color: #ffffea; } way {z-index:1; width:0; casing-width: color:none; casing-color: none; opacity:0.0;} node { z-index:1; symbol:size:0; symbol-stroke-color: none; symbol-fill-color: none; opacity:0.0; symbol-stroke-opacity:0.0; symbol-fill-opacity:0.0; } /* Pseudo Classes */ way[waterway=rapids] { casing-width:0; width:0; opacity:0; casing-opacity:0;} way[waterway=stream], way[waterway=drain], way[waterway=ditch], way[waterway=wadi], way[waterway=yes] { set .waterway_sd; color: blue; casing-color: white; casing-width:1; width:6; opacity:0.5; casing-opacity:0.3;} relation[natural=water], area[natural=water]:closed { z-index:1; color: #c2d5f0; width: 2; fill-color: #c2d5f0; fill-opacity: 0.4; } relation[natural=water], area[natural=water]:closed, area[waterway][waterway!=dam]:closed{ set .water_area; color:#c2d5f0; width:0; opacity:0; fill-color:#c2d5f0; fill-opacity: 0.3; casing-color:none; casing-width:0; casing-opacity:0;} relation[natural=wetland], way[natural=wetland]:closed { set .wetland_area; color:#c2d5f0; width:0; opacity:1.0; fill-opacity: 1; fill-image:natural_wetland.png; casing-width:0; casing-color:none; casing-opacity:0; } relation[natural=shoal], way[natural=shoal]:closed { set .shoal_area; color:#FFFFD8; width:0; opacity:1.0; fill-opacity: 1; fill-image:natural_shoal.png; } relation[natural=water] > way, area[natural=water], area.wetland_area, way[natural], way[coastline], way[place=island], way[place=islet]{ set .natural_way; z-index:3; color:#c2d5f0; width:2; opacity:0; casing-color:none; casing-width:0; casing-opacity:0;} way[waterway=stream] > node, way[waterway=drain] > node, way[waterway=ditch] > node, way[waterway=wadi] > node, way[waterway=yes] > node {set .waterway_sd_node;} way[waterway=stream] >[index=1] node, way[waterway=drain] >[index=1] node, way[waterway=ditch] >[index=1] node, way[waterway=wadi] >[index=1] node, way[waterway=yes] >[index=1] node {set .waterway_sd_node_deb;} way[waterway=stream] >[index=-1] node, way[waterway=drain] >[index=-1] node, way[waterway=ditch] >[index=-1] node, way[waterway=wadi] >[index=-1] node, way[waterway=yes] >[index=-1] node { set .waterway_sd_node_end; symbol-shape: pentagon; symbol-size: 6; symbol-stroke-color: cyan; symbol-fill-color: red; symbol-stroke-width: 2; symbol-stroke-opacity:0.6;} way[waterway=stream] >[index<-1] node, way[waterway=drain] >[index<-1] node, way[waterway=ditch] >[index<-1] node, way[waterway=wadi] >[index<-1] node, way[waterway=yes] >[index<-1] node { set .waterway_sd_node_nend;} way[waterway=river], way[waterway=canal], way[waterway=fairway] { set .waterway_rc; casing-width:0.8; width:12; } way[waterway=pressurised][substance=water], way[tunnel][substance=water], way[man_made=pipeline][substance=water] { set .waterway_pressurised; casing-width:0.8; width:12; } way[waterway=river] > node, way[waterway=canal] > node, way[waterway=fairway] > node { set .waterway_rc_node;} way[waterway=river] >[index=1] node, way[waterway=canal] >[index=1] node, way[waterway=fairway] >[index=1] node {set .waterway_rc_node_deb;} way[waterway=river] >[index=-1] node, way[waterway=canal] >[index=-1] node, way[waterway=fairway] >[index=-1] node { set .waterway_rc_node_end; symbol-shape: pentagon; symbol-size: 6; symbol-stroke-color: cyan; symbol-fill-color: red; symbol-stroke-width: 2; symbol-stroke-opacity:0.6; } way[waterway=river] >[index=-1] node { set .waterway_river_node_end;} way[waterway=river] >[index<-1] node, way[waterway=canal] >[index<-1] node, way[waterway=fairway] >[index<-1] node { set .waterway_rc_node_nend;} way.waterway_rc, way.waterway_sd { set .waterways; } node.waterway_rc_node, node.waterway_sd_node { set .waterways_node; } node.waterway_rc_node_deb, node.waterway_sd_node_deb { set .waterways_node_deb; } node.waterway_rc_node_end, node.waterway_sd_node_end { set .waterways_node_end; } node.waterway_rc_node_nend, node.waterway_sd_node_nend { set .waterways_node_nend; } area.natural_way > node, way.natural_way > node {set .natural_node; z-index: 1; symbol:size:0; symbol-stroke-color:#c2d5f0; symbol-fill-color: none; opacity:0.0; symbol-stroke-opacity:0.0; symbol-fill-opacity:0.0; } /* ways and nodes - distinct waterways */ way[waterway=river] { z-index:10; color:blue; casing-color: blue;} way.waterway_pressurised { z-index:10; color:blue; casing-color: #FFFF66;} way[waterway=drain] {z-index:5; color: #3434ff; width: 1; } way[waterway=fairway] {z-index:10; color:blue; casing-color:white;} way[place=island], way[place=islet] { z-index:2; color: #c2d5f0; width: 2; fill-color: white;fill-opacity: 0.2; opacity:1;} way|z7-[waterway=dam]!:closed { z-index: 16; color: black; width: 6; opacity:0.8; casing-width:6; casing-color: #c2d5f0; casing-opacity: 0.6; } relation|z7-[waterway=dam] > way:closed, area|z7-[waterway=dam]:closed { z-index: 16; color: black; width: 2; fill-color: #222222; fill-opacity: 0.4;} way|z1-6[waterway=weir] { z-index: 16; color: black; width: 2; opacity:0.5; } way|z7-[waterway=weir] { z-index: 16; color: black; width: 4; opacity:1; casing-width:6; casing-color: #c2d5f0; casing-opacity:0.7; dashes: 32, 12;} /* ways styles by zoom-level */ way|z1-10.natural_way { z-index:1; width:1; color:#c2d5f0; casing-width:; casing-color:none; opacity:0.8; casing-opacity:0; } way|z11-.natural_way { z-index: 1; casing-width:0; width:3; color:#c2d5f0; opacity:0.8; } area.wetland_area { z-index:2; color:#c2d5f0; opacity:0.5; width:2; } way|z1-13.waterway_sd {z-index:5; casing-width:1.3; width:0.7;} way|z14-15.waterway_sd {z-index: 5; casing-width:1.3; width:3.3; opacity:1.0} way|z16-.waterway_sd {z-index: 5; casing-width:1.3; width:3.3; opacity:1.0} way|z1-13.waterway_rc {z-index:10; casing-width:0.7; width:2; opacity:1;} way|z14-15.waterway_rc {z-index:10; casing-width:2; width:2.5;} way|z16-.waterway_rc {z-index:10; casing-width:2; width:2.5;} way|z16-[waterway=fairway] {z-index:10; casing-width:2; width:2.5; color:blue; casing-color: white;} way|z6-10[waterway=canal] { z-index:10; width:2; color:white; opacity:1; casing-color:blue; casing-width:1.5;casing-opacity:1; dashes: 22, 8, 22; } way|z11-[waterway=canal] { z-index:10; width:4; color:white; opacity:1; casing-color:blue; casing-width:3;casing-opacity:1; dashes: 22, 8, 22; } way[waterway=canal][lock] { z-index: 10; dashes: 6,12;} way[waterway=lock_gate] { z-index: 10; dashes: 6,12; color:orange; casing-color: blue; casing-width:3; width: 8;} way[tunnel][tunnel!=no][tunnel!=abandoned] { set .way_tunnel; } way[bridge][bridge!=no] { set .way_bridge; } way[tunnel=abandoned], way[bridge=abandoned], way[tunnel][abandoned=yes], way[bridge][abandoned=yes], way[waterway=pressurised][substance=water][abandoned=yes], way[tunnel][substance=water][abandoned=yes], way[man_made=pipeline][substance=water][abandoned=yes] { set .way_abandoned; } way[intermittent][intermittent!=no], way[waterway=wadi] { set .way_intermittent; } area[intermittent][intermittent!=no] { set .area_intermittent; } way|z6-.waterway_pressurised { z-index:16; width:5; color: #6680ff; opacity:1; casing-color: #ffccff; casing-width:4; casing-opacity:1; } way|z6-13.waterways[tunnel], way|z6-13.waterway_pressurised[location=underground], way|z6-13.waterway_pressurised[tunnel] { left-casing-offset: eval(-(prop("width")+(8))); left-casing-color:blue; left-casing-width:2; left-casing-dashes:28,8; left-casing-opacity:0.8; right-casing-offset: eval(-(prop("width")+(8))); right-casing-color:blue; right-casing-width:2; right-casing-dashes:28,8; right-casing-opacity:0.8; } way|z14-.waterways[tunnel], way|z14-.waterway_pressurised[location=underground], way|z14-.waterway_pressurised[tunnel] { left-casing-offset: -15; left-casing-color:blue; left-casing-width:3; left-casing-dashes:28,8; left-casing-opacity:0.5; right-casing-offset: -15; right-casing-color:blue; right-casing-width:3; right-casing-dashes:28,8; right-casing-opacity:0.5; } way|z6-13.waterways.way_bridge, way|z6-13.waterway_pressurised.way_bridge { z-index:21; left-casing-offset: -12; left-casing-color:black; left-casing-width:2; left-casing-opacity:0.8; right-casing-offset: -12; right-casing-color:black; right-casing-width:2; right-casing-opacity:0.8; } way|z14-.waterways.way_bridge, way|z14-.waterway_pressurised.way_bridge { z-index:21; left-casing-offset: -15; left-casing-color:black; left-casing-width:3; left-casing-opacity:0.8; right-casing-offset: -15; right-casing-color:black; right-casing-width:3; right-casing-opacity:0.8; } way|z6-.way_abandoned { z-index:21; left-casing-offset: eval(-(prop("width")+(8))); left-casing-color:red; left-casing-width:4; left-casing-dashes:28,8; left-casing-opacity:0.6; right-casing-offset: eval(-(prop("width")+(8))); right-casing-color:red; right-casing-width:4; right-casing-dashes:28,8; right-casing-opacity:0.6; } way|z6-[natural=water][water=canal][tunnel]{ z-index:2; width:2; color:white; casing-color:blue; casing-dashes:28,8;opacity:0.6; casing-opacity:1; } way|z6-[natural=water][water=canal][bridge=aqueduct]{ z-index:20; width:2; color:black; opacity:0.6; } way|z14-[waterway=rapids] { color: blue; casing-color: white; casing-width:2; width:7; opacity:0.5; casing-opacity:0.3; dashes: 6,12,6;} /* way attributes applied at the end */ area[natural=water].area_intermittent:closed, area[waterway=dock][dock=drydock]:closed { z-index:1; color: #c2d5f0; width: 2; fill-color:#ffffaa; fill-image:natural_intermittent.png; opacity:1; fill-opacity: 1; } way|z6-10.waterways.way_intermittent { z-index:10; left-casing-offset: -2; left-casing-color:blue; left-casing-width:8; left-casing-dashes:5,5; left-casing-opacity:0.3; right-casing-offset: -2; right-casing-color:blue; right-casing-width:8; right-casing-dashes:5,5; right-casing-opacity:0.3; } way|z11-.waterways.way_intermittent { z-index:10; left-casing-offset: -2; left-casing-color:blue; left-casing-width:10; left-casing-dashes:5,5; left-casing-opacity:0.3; right-casing-offset: -2; right-casing-color:blue; right-casing-width:10; right-casing-dashes:5,5; right-casing-opacity:0.3; } /* Nodes styles */ node|z1-14 { z-index: 1; symbol-fill-color: none; symbol-stroke-color: #808080; symbol-shape: square; width:0; symbol-size: 0; symbol-stroke-width:0 ; fill-opacity:0.0; symbol-stroke-opacity:0; } node|z12-14 { z-index: 1; symbol-shape: square; symbol-size: 1; symbol-stroke-color: #3434ff; symbol-fill-color: white; symbol-stroke-width: 0.9; symbol-stroke-opacity:0.5; } node|z15- { z-index: 1; symbol-shape: square; symbol-size: 6; opacity:1; symbol-stroke-color: #4d4dff; symbol-fill-color: #e6fffa; symbol-fill-opacity:1; symbol-stroke-width: 2; symbol-stroke-opacity:0.7; } node|z16- { z-index: 1; symbol-shape: square; symbol-size: 8; opacity:1; symbol-stroke-color: #4d4dff; symbol-fill-color: #e6fffa; symbol-fill-opacity:1; symbol-stroke-width: 2; symbol-stroke-opacity:1; } node|z14-[waterway=dam], way > node|z14[waterway=dam] { z-index: 10; symbol-size:12; symbol-shape: rectangle; symbol-stroke-color: #808080; symbol-stroke-width: 2; symbol-fill-color: white;} way[waterway=canal] > node|z16- { z-index: 10; symbol-size:10; symbol-shape: circle; symbol-fill-color: white; symbol-fill-opacity: 1.0; symbol-stroke-width: 2; symbol-stroke-color: red;} node|z9-[waterway=lock_gate] { z-index: 11; symbol-shape: circle; symbol-size:24; symbol-stroke-color: navy; symbol-stroke-width: 8; symbol-fill-color: red; symbol-fill-opacity:0.8; symbol-stroke-opacity:0.8; } /* flags */ way|z6-[waterway=yes] { z-index:5; color:red; opacity:0.9;casing-color:white; } /* flag end-node on natural way - not working properly node.waterways_node_end.natural_node, node.waterways_node_end!.waterway_node_nend { z-index:15; symbol-shape: triangle; opacity:1; symbol-size: 25; symbol-stroke-color: red; symbol-fill-color: red; symbol-stroke-width: 5; symbol-stroke-opacity:0.3; } node.waterways_node_end.natural_node!.waterways_node_deb { z-index: 15; symbol-shape: triangle; simbol-size:22; symbol-fill-color:red; symbol-fill-opacity:1; symbol-stroke-color: #00ffff; symbol-stroke-width: 0.6; symbol-stroke-opacity:1;} */ node.waterways_node_end!:connection { z-index: 15; symbol-shape: triangle; symbol-fill-color: red; symbol-fill-opacity:1; symbol-stroke-color: #00ffff; symbol-stroke-width: 1; symbol-stroke-opacity:0; } node|z1-7.waterways_node_end!:connection { z-index:15; symbol-size:4; } node|z8-13.waterways_node_end!:connection { z-index:15; symbol-size:18; } node|z14-.waterways_node_end!:connection { z-index:15; symbol-size:28; symbol-stroke-opacity:0.6; } node|z8-12.waterways_node_deb { z-index: 1; symbol-shape: square; symbol-size:7; symbol-fill-color: #cc00cc; symbol-fill-opacity:1; symbol-stroke-color: #00ffff; symbol-stroke-width: 0.5; symbol-stroke-opacity:1;} node|z13-.waterways_node_deb { z-index: 1; symbol-shape: square; symbol-size:9; symbol-fill-color:white; symbol-fill-opacity:1; symbol-stroke-color: #cc00cc; symbol-stroke-width: 4; symbol-stroke-opacity:1;} node.waterway_river_node_end.waterway_sd_node_nend { z-index: 15; symbol-shape: triangle; symbol-size:33; symbol-fill-color: red; symbol-fill-opacity:1; symbol-stroke-color: #00ffff; symbol-stroke-width: 1; symbol-stroke-opacity:0; } node|z1-7.waterway_river_node_end.waterway_sd_node_nend { z-index: 15; symbol-size:5; opacity:1;} node|z8-13.waterway_river_node_end.waterway_sd_node_nend { z-index: 15; symbol-size:20; opacity:1; symbol-stroke-opacity:1;} node|z14-.waterway_river_node_end.waterway_sd_node_nend { z-index:15; symbol-size:26; opacity:1; symbol-stroke-width: 3; symbol-stroke-opacity: 0.6;} /* ways-nodes selected */ way:selected { z-index: 15; width:15; casing-width:3; color:red; } node|z14-:connection:selected { z-index: 15; symbol-stroke-color: crimson; symbol-stroke-width: 5; symbol-fill-color: yellow; } node|z1-13.natural_node_connection { z-index: 1; symbol-size:0; symbol-stroke-width:0; symbol-stroke-color: none; symbol-fill-color: none; } node|z14-.natural_node_connection { z-index: 1; symbol-size:10; symbol-stroke-width:2; } }}}