]> git.openstreetmap.org Git - rails.git/blobdiff - config/key.yml
Merge remote-tracking branch 'upstream/pull/4690'
[rails.git] / config / key.yml
index 114a623df9d0cf7ceb8ddc0e74d9994b984812b0..a78dbb282b482a28db3f4fd81fea6ec9430c3612 100644 (file)
 mapnik:
   # transportation: roads.mss
 mapnik:
   # transportation: roads.mss
-  - { min_zoom: 6, max_zoom: 19, name: motorway, image: motorway.png }
-  - { min_zoom: 6, max_zoom: 7, name: main_road, image: mainroad.png }
-  - { min_zoom: 8, max_zoom: 11, name: main_road, image: mainroad8.png }
-  - { min_zoom: 12, max_zoom: 19, name: main_road, image: mainroad12.png }
-  - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
-  - { min_zoom: 13, max_zoom: 19, name: bridleway, image: bridleway.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway, image: cycleway.png }
-  - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
+  - { min_zoom:  6, name: motorway, width: 52, height:  1, line: "#e66e89", line-width: 1 }
+  - { min_zoom:  7, name: motorway, width: 52, height:  3, line: "#e66e89", line-width: 1.5 }
+  - { min_zoom:  9, name: motorway, width: 52, height:  2, line: "#e66e89", line-width: 2 }
+  - { min_zoom: 12, name: motorway, width: 52, height:  5, fill: "#e892a2", casing: "#dc2a67", casing-width: 0.5 }
+  - { min_zoom: 15, name: motorway, width: 52, height: 10, fill: "#e892a2", casing: "#dc2a67" }
+  - { min_zoom:  6, name: main_road, width: 52, height: 3, line: "#f6967a", line-width: 1 }
+  - { min_zoom:  7, name: main_road, width: 52, height: 3, line: "#f6967a", line-width: 1.25 }
+  - { min_zoom:  8, name: main_road, image: mainroad8.svg }
+  - { min_zoom:  9, name: main_road, image: mainroad9.svg }
+  - { min_zoom: 12, name: main_road, image: mainroad12.svg }
+  - { min_zoom: 15, name: main_road, image: mainroad15.svg }
+  - { min_zoom: 13, name: track, width: 52, height: 3, opacity: .8, line: "#996600", line-width: 1.5, line-dasharray: "6 5" }
+  - { min_zoom: 13, name: bridleway, width: 52, height: 3, line: green, line-width: 1.25, line-dasharray: "4 2" }
+  - { min_zoom: 13, name: cycleway, width: 52, height: 1, line: blue, line-dasharray: "3 3.5" }
+  - { min_zoom: 13, name: footway, width: 52, height: 3, line: salmon, line-width: 1.3, line-dasharray: "3 3.5" }
   - { min_zoom:  8, name: rail, width: 52, height: 1, fill: "#787878" }
   - { min_zoom:  8, name: rail, width: 52, height: 1, fill: "#787878" }
-  - { min_zoom: 12, name: rail, image: rail12.svg }
-  - { min_zoom: 18, name: rail, image: rail18.svg }
+  - { min_zoom: 12, name: rail, width: 52, height: 3, fill: "#707070", line: white, line-dasharray: 8, line-dashoffset: 2 }
+  - { min_zoom: 18, name: rail, width: 52, height: 4, fill: "#707070", line: white, line-dasharray: 8, line-dashoffset: 2, line-width: 2 }
   - { min_zoom: 12, name: subway, width: 52, height: 2, fill: "#999" }
   - { min_zoom:  8, name: light_rail, width: 52, height: 1, fill: "#ccc" }
   - { min_zoom: 10, name: light_rail, width: 52, height: 1, fill: "#aaa" }
   - { min_zoom: 13, name: light_rail, width: 52, height: 2, fill: "#666" }
   - { min_zoom: 12, name: subway, width: 52, height: 2, fill: "#999" }
   - { min_zoom:  8, name: light_rail, width: 52, height: 1, fill: "#ccc" }
   - { min_zoom: 10, name: light_rail, width: 52, height: 1, fill: "#aaa" }
   - { min_zoom: 13, name: light_rail, width: 52, height: 2, fill: "#666" }
-  - { min_zoom: 12, name: tram_only, width: 52, height: 1, fill: "#6e6e6eaa" }
-  - { min_zoom: 14, name: tram_only, width: 52, height: 1, fill: "#6e6e6e" }
-  - { min_zoom: 15, name: tram_only, image: tram15.svg }
-  - { min_zoom: 17, name: tram_only, width: 52, height: 2, fill: "#6e6e6e" }
-  - { min_zoom: 12, max_zoom: 19, name: cable, image: cable.png }
-  - { min_zoom: 11, max_zoom: 19, name: runway, image: runway.png }
-  - { min_zoom: 12, max_zoom: 19, name: apron, image: apron.png }
+  - { min_zoom: 12, name: tram, width: 52, height: 1, line: "#6e6e6e", line-width: 0.75 }
+  - { min_zoom: 14, name: tram, width: 52, height: 3, line: "#6e6e6e", line-width: 1 }
+  - { min_zoom: 15, name: tram, width: 52, height: 3, line: "#6e6e6e", line-width: 1.5 }
+  - { min_zoom: 17, name: tram, width: 52, height: 2, line: "#6e6e6e", line-width: 2 }
+  - { min_zoom: 12, name: [cable_car, chair_lift], image: cable.png }
+  - { min_zoom: 11, name: [runway, taxiway], image: runway11.svg }
+  - { min_zoom: 12, name: [runway, taxiway], image: runway12.svg }
+  - { min_zoom: 13, name: [runway, taxiway], image: runway13.svg }
+  - { min_zoom: 14, name: [runway, taxiway], image: runway14.svg }
+  - { min_zoom: 11, name: apron, width: 26, height: 10, fill: "#dadae0" } # landcover.mss
   # administrative boundaries: admin.mss
   - { name: admin, width: 52, height: 2, fill: "#8d618b88" }
   # administrative boundaries: admin.mss
   - { name: admin, width: 52, height: 2, fill: "#8d618b88" }
+  # places: placenames.mss
+  - { min_zoom: 4, max_zoom: 6, name: capital, image: capital4.svg }
+  - { min_zoom: 7, max_zoom: 7, name: capital, image: capital7.svg }
+  - { min_zoom: 4, max_zoom: 5, name: city, image: city4.svg }
+  - { min_zoom: 6, max_zoom: 7, name: city, image: city6.svg }
   # landcover z5: landcover.mss, water.mss
   # landcover z5: landcover.mss, water.mss
-  - { name: lake, width: 26, height: 10, fill: "#aad3df" }
+  - { name: [lake, reservoir], width: 26, height: 10, fill: "#aad3df" }
   - { name: intermittent_water, image: intermittent_water.svg }
   - { name: intermittent_water, image: intermittent_water.svg }
-  - { min_zoom: 5, max_zoom: 9, name: glacier, image: glacier5.svg }
-  - { min_zoom: 10, name: glacier, image: glacier10.svg }
+  - { min_zoom:  5, name: glacier, width: 26, height: 10, fill: "#ddecec", border: "#9cf" }
+  - { min_zoom: 10, name: glacier, width: 26, height: 10, fill: "#ddecec", border: "#9cf", border-dasharray: "4 2" }
   - { min_zoom: 10, name: reef, image: reef.png }
   - { min_zoom: 10, name: wetland, image: wetland.png }
   - { min_zoom: 10, name: reef, image: reef.png }
   - { min_zoom: 10, name: wetland, image: wetland.png }
-  - { min_zoom: 5, max_zoom: 11, name: forest, width: 26, height: 10, fill: "#bddab1" }
-  - { min_zoom: 12, name: forest, width: 26, height: 10, fill: "#add19e" }
-  - { min_zoom: 5, max_zoom: 11, name: orchard, width: 26, height: 10, fill: "#bee5b5" }
-  - { min_zoom: 12, name: orchard, width: 26, height: 10, fill: "#aedfa3" }
-  - { min_zoom: 5, max_zoom: 11, name: grass, width: 26, height: 10, fill: "#d7efc0" }
-  - { min_zoom: 12, name: grass, width: 26, height: 10, fill: "#cdebb0" }
-  - { min_zoom: 5, max_zoom: 11, name: farmland, width: 26, height: 10, fill: "#f1f3dd" }
+  - { min_zoom:  5, name: [forest, wood], width: 26, height: 10, fill: "#bddab1" }
+  - { min_zoom: 12, name: [forest, wood], width: 26, height: 10, fill: "#add19e" }
+  - { min_zoom:  5, name: [orchard, vineyard], width: 26, height: 10, fill: "#bee5b5" }
+  - { min_zoom: 12, name: [orchard, vineyard], width: 26, height: 10, fill: "#aedfa3" }
+  - { min_zoom:  5, name: [grass, meadow], width: 26, height: 10, fill: "#d7efc0" }
+  - { min_zoom: 12, name: [grass, meadow], width: 26, height: 10, fill: "#cdebb0" }
+  - { min_zoom:  5, name: farmland, width: 26, height: 10, fill: "#f1f3dd" }
   - { min_zoom: 12, name: farmland, width: 26, height: 10, fill: "#eef0d5" }
   - { min_zoom: 12, name: farmland, width: 26, height: 10, fill: "#eef0d5" }
-  - { min_zoom: 5, max_zoom: 11, name: heathland, width: 26, height: 10, fill: "#dee1b2" }
+  - { min_zoom:  5, name: heathland, width: 26, height: 10, fill: "#dee1b2" }
   - { min_zoom: 12, name: heathland, width: 26, height: 10, fill: "#d6d99f" }
   - { min_zoom: 12, name: heathland, width: 26, height: 10, fill: "#d6d99f" }
-  - { min_zoom: 5, max_zoom: 11, name: scrubland, width: 26, height: 10, fill: "#d3dfbc" }
+  - { min_zoom:  5, name: scrubland, width: 26, height: 10, fill: "#d3dfbc" }
   - { min_zoom: 12, name: scrubland, width: 26, height: 10, fill: "#c8d7ab" }
   - { min_zoom: 12, name: scrubland, width: 26, height: 10, fill: "#c8d7ab" }
-  - { min_zoom: 5, max_zoom: 11, name: bare_rock, width: 26, height: 10, fill: "#f1eae3" }
+  - { min_zoom:  5, name: bare_rock, width: 26, height: 10, fill: "#f1eae3" }
   - { min_zoom: 12, name: bare_rock, width: 26, height: 10, fill: "#eee5dc" }
   - { min_zoom: 12, name: bare_rock, width: 26, height: 10, fill: "#eee5dc" }
-  - { min_zoom: 5, max_zoom: 11, name: sand, width: 26, height: 10, fill: "#f7edd1" }
+  - { min_zoom:  5, name: sand, width: 26, height: 10, fill: "#f7edd1" }
   - { min_zoom: 12, name: sand, width: 26, height: 10, fill: "#f5e9c6" }
   # landuse z8, z10: landcover.mss
   - { min_zoom: 10, name: park, width: 26, height: 10, fill: "#c8facc" }
   - { min_zoom: 10, name: golf, width: 26, height: 10, fill: "#def6c0" }
   - { min_zoom: 12, name: sand, width: 26, height: 10, fill: "#f5e9c6" }
   # landuse z8, z10: landcover.mss
   - { min_zoom: 10, name: park, width: 26, height: 10, fill: "#c8facc" }
   - { min_zoom: 10, name: golf, width: 26, height: 10, fill: "#def6c0" }
-  - { min_zoom: 8, max_zoom: 11, name: built_up, width: 26, height: 10, fill: "#d9d9d9" }
+  - { min_zoom:  8, name: built_up, width: 26, height: 10, fill: "#d9d9d9" }
   - { min_zoom: 12, max_zoom: 12, name: built_up, width: 26, height: 10, fill: "#dddddd" }
   - { min_zoom: 13, name: resident, width: 26, height: 10, fill: "#e0dfdf" }
   - { min_zoom: 13, name: retail, width: 26, height: 10, fill: "#ffd6d1" }
   - { min_zoom: 13, name: commercial, width: 26, height: 10, fill: "#f2dad9" }
   - { min_zoom: 13, name: industrial, width: 26, height: 10, fill: "#ebdbe8" }
   - { min_zoom: 12, max_zoom: 12, name: built_up, width: 26, height: 10, fill: "#dddddd" }
   - { min_zoom: 13, name: resident, width: 26, height: 10, fill: "#e0dfdf" }
   - { min_zoom: 13, name: retail, width: 26, height: 10, fill: "#ffd6d1" }
   - { min_zoom: 13, name: commercial, width: 26, height: 10, fill: "#f2dad9" }
   - { min_zoom: 13, name: industrial, width: 26, height: 10, fill: "#ebdbe8" }
-  - { min_zoom: 10, max_zoom: 11, name: farm, width: 26, height: 10, fill: "#f7e3c8" }
+  - { min_zoom: 10, name: farm, width: 26, height: 10, fill: "#f7e3c8" }
   - { min_zoom: 12, name: farm, width: 26, height: 10, fill: "#f5dcba" }
   - { min_zoom: 12, name: farm, width: 26, height: 10, fill: "#f5dcba" }
-  - { min_zoom: 10, max_zoom: 11, name: brownfield, width: 26, height: 10, fill: "#d2d2c3" }
+  - { min_zoom: 10, name: brownfield, width: 26, height: 10, fill: "#d2d2c3" }
   - { min_zoom: 12, name: brownfield, width: 26, height: 10, fill: "#c7c7b4" }
   - { min_zoom: 12, name: brownfield, width: 26, height: 10, fill: "#c7c7b4" }
-  - { min_zoom: 10, max_zoom: 11, name: cemetery, width: 26, height: 10, fill: "#bbd5be" }
+  - { min_zoom: 10, name: cemetery, width: 26, height: 10, fill: "#bbd5be" }
   - { min_zoom: 12, name: cemetery, width: 26, height: 10, fill: "#aacbaf" }
   - { min_zoom: 12, name: cemetery, width: 26, height: 10, fill: "#aacbaf" }
-  - { min_zoom: 10, max_zoom: 11, name: allotments, width: 26, height: 10, fill: "#d4e6cc" }
+  - { min_zoom: 10, name: allotments, width: 26, height: 10, fill: "#d4e6cc" }
   - { min_zoom: 12, name: allotments, width: 26, height: 10, fill: "#c9e1bf" }
   - { min_zoom: 11, name: pitch, width: 26, height: 10, fill: "#88e0be" }
   - { min_zoom: 11, name: centre, width: 26, height: 10, fill: "#dffce2" }
   - { min_zoom: 10, name: reserve, image: reserve.svg } # admin.mss
   - { min_zoom: 12, name: allotments, width: 26, height: 10, fill: "#c9e1bf" }
   - { min_zoom: 11, name: pitch, width: 26, height: 10, fill: "#88e0be" }
   - { min_zoom: 11, name: centre, width: 26, height: 10, fill: "#dffce2" }
   - { min_zoom: 10, name: reserve, image: reserve.svg } # admin.mss
-  - { min_zoom: 8, name: military, image: military.svg }
-  - { min_zoom: 13, name: school, image: school.svg }
+  - { min_zoom:  8, name: military, image: military.svg }
+  - { min_zoom: 13, name: [school, university, hospital], image: school.svg }
   # buildings: buildings.mss
   - { min_zoom: 14, name: building, width: 10, height: 10, fill: "#ab9793" }
   # buildings: buildings.mss
   - { min_zoom: 14, name: building, width: 10, height: 10, fill: "#ab9793" }
-  - { min_zoom: 15, name: building, image: building15.svg }
-  - { min_zoom: 16, name: building, image: building16.svg }
+  - { min_zoom: 15, name: building, width: 10, height: 10, fill: "#b9a99c", border: "#a99a8d" }
+  - { min_zoom: 16, name: building, width: 10, height: 10, fill: "#c4b6ab", border: "#a99a8d" }
   # stations: stations.mss
   - { min_zoom: 12, name: station, width: 4, height: 4, fill: "#7981b0" }
   - { min_zoom: 13, name: station, width: 6, height: 6, fill: "#7981b0" }
   - { min_zoom: 15, name: station, width: 9, height: 9, fill: "#7981b0" }
   # other
   # stations: stations.mss
   - { min_zoom: 12, name: station, width: 4, height: 4, fill: "#7981b0" }
   - { min_zoom: 13, name: station, width: 6, height: 6, fill: "#7981b0" }
   - { min_zoom: 15, name: station, width: 9, height: 9, fill: "#7981b0" }
   # other
-  - { min_zoom: 11, name: summit, image: summit.svg } # amenity-points.mss
-  - { min_zoom: 13, name: tunnel, image: tunnel.svg } # roads.mss
-  - { min_zoom: 13, name: bridge, image: bridge.svg } # roads.mss
-  - { min_zoom: 15, max_zoom: 19, name: private, image: private.png }
-  - { min_zoom: 15, max_zoom: 19, name: destination, image: destination.png }
-  - { min_zoom: 12, max_zoom: 19, name: construction, image: construction.png }
+  - { min_zoom: 11, name: [summit, peak], image: summit.svg } # amenity-points.mss
+  - { min_zoom: 13, name: tunnel, width: 50, height: 5, casing: grey, casing-dasharray: "4 2", casing-dashoffset: 1 } # roads.mss
+  - { min_zoom: 13, name: bridge, width: 50, height: 5, casing: black } # roads.mss
+  - { min_zoom: 15, name: private, image: private.png }
+  - { min_zoom: 15, name: destination, image: destination.png }
+  - { min_zoom: 12, name: construction, image: construction.png }
 cyclemap:
 cyclemap:
-  - { min_zoom: 0, max_zoom: 11, name: motorway, image: motorway.png }
-  - { min_zoom: 12, max_zoom: 19, name: motorway, image: motorway12.png }
-  - { min_zoom: 0, max_zoom: 11, name: trunk, image: trunk.png }
-  - { min_zoom: 12, max_zoom: 19, name: trunk, image: trunk12.png }
-  - { min_zoom: 7, max_zoom: 11, name: primary, image: primary.png }
-  - { min_zoom: 12, max_zoom: 19, name: primary, image: primary12.png }
-  - { min_zoom: 9, max_zoom: 11, name: secondary, image: secondary.png }
-  - { min_zoom: 12, max_zoom: 19, name: secondary, image: secondary12.png }
-  - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
-  - { min_zoom: 8, max_zoom: 19, name: cycleway, image: cycleway.png }
-  - { min_zoom: 5, max_zoom: 12, name: cycleway_national, image: cycleway_national.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_national, image: cycleway_national13.png }
-  - { min_zoom: 5, max_zoom: 12, name: cycleway_regional, image: cycleway_regional.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_regional, image: cycleway_regional13.png }
-  - { min_zoom: 8, max_zoom: 12, name: cycleway_local, image: cycleway_local.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_local, image: cycleway_local13.png }
-  - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
-  - { min_zoom: 7, max_zoom: 13, name: rail, image: rail.png }
-  - { min_zoom: 14, max_zoom: 19, name: rail, image: rail14.png }
-  - { min_zoom: 9, max_zoom: 19, name: forest, image: forest.png }
-  - { min_zoom: 10, max_zoom: 19, name: common, image: common.png }
-  - { min_zoom: 7, max_zoom: 19, name: lake, image: lake.png }
-  - { min_zoom: 14, max_zoom: 19, name: bicycle_shop, image: bicycle_shop.png }
-  - { min_zoom: 14, max_zoom: 19, name: bicycle_parking, image: bicycle_parking.png }
-  - { min_zoom: 16, max_zoom: 19, name: toilets, image: toilets.png }
+  - { min_zoom:  5, name: motorway, width: 50, height: 2, fill: "#9a9ab1" }
+  - { min_zoom:  9, name: motorway, width: 50, height: 3, fill: "#9a9ab1" }
+  - { min_zoom: 12, name: motorway, width: 50, height: 5, fill: "#bdbece", casing: "#8d95a7" }
+  - { min_zoom: 13, name: motorway, width: 50, height: 9, fill: "#bdbece", casing: "#8d95a7" }
+  - { min_zoom:  6, name: trunk, width: 50, height: 2, fill: "#c8d8c8" }
+  - { min_zoom: 12, name: trunk, width: 50, height: 4, fill: "#c8d8c8", casing: "#abb5a4" }
+  - { min_zoom: 13, name: trunk, width: 50, height: 8, fill: "#c8d8c8", casing: "#abb5a4" }
+  - { min_zoom:  8, name: primary, width: 50, height: 2, fill: "#d8c8c8" }
+  - { min_zoom: 12, name: primary, width: 50, height: 4, fill: "#f0e3e3", casing: "#d4b6b7" }
+  - { min_zoom: 13, name: primary, width: 50, height: 8, fill: "#f0e3e3", casing: "#d4b6b7" }
+  - { min_zoom: 10, name: secondary, width: 50, height: 1, fill: "#dadacc" }
+  - { min_zoom: 12, name: secondary, width: 50, height: 4, fill: "#ededc8", casing: "#c8b48a" }
+  - { min_zoom: 13, name: secondary, width: 50, height: 7, fill: "#ededc8", casing: "#c8b48a" }
+  - { min_zoom: 15, name: pedestrian, width: 50, height: 6, fill: "#e2e3e2", casing: "#9a9a9a" }
+  - { min_zoom: 13, name: track, width: 50, height: 3, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 15, name: track, width: 50, height: 4, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 17, name: track, width: 50, height: 5, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 13, name: bridleway, width: 52, height: 3, line: green, line-width: 1.5, line-dasharray: "4 2" }
+  - { min_zoom:  8, name: cycleway, width: 50, height: 3, line: "#0100fe", line-width: 1.5, line-dasharray: "6 2" }
+  - { min_zoom:  5, name: cycleway_national, width: 50, height:  2, fill: "#fe0000" }
+  - { min_zoom: 12, name: cycleway_national, width: 50, height:  3, fill: "#fe0000" }
+  - { min_zoom: 13, name: cycleway_national, width: 50, height: 12, fill: "#ffb3b3" }
+  - { min_zoom:  7, name: cycleway_regional, width: 50, height:  2, fill: "#b638fb" }
+  - { min_zoom: 12, name: cycleway_regional, width: 50, height:  3, fill: "#b638fb" }
+  - { min_zoom: 13, name: cycleway_regional, width: 50, height: 10, fill: "#ddb5d9" }
+  - { min_zoom:  8, name: cycleway_local, width: 50, height: 2, fill: "#0100fe" }
+  - { min_zoom: 12, name: cycleway_local, width: 50, height: 3, fill: "#0100fe" }
+  - { min_zoom: 13, name: cycleway_local, width: 50, height: 8, fill: "#b2b2ff" }
+  - { min_zoom: 10, name: cycleway_mtb, width: 50, height: 2, fill: "#ff7b1c" }
+  - { min_zoom: 13, name: cycleway_mtb, width: 50, height: 6, fill: "#fbcaa3" }
+  - { min_zoom: 13, name: footway, width: 50, height: 3, line: "#bd6d6e", line-width: 1.5, line-dasharray: "6 2" }
+  - { min_zoom:  7, name: rail, width: 50, height: 3, line: "#999999", line-width: 1.5 }
+  - { min_zoom: 14, name: rail, width: 50, height: 4, fill: "#999999", line: white, line-dasharray: 4, line-width: 2 }
+  - { min_zoom:  1, name: [lake, reservoir], width: 26, height: 10, fill: "#addeff" }
+  - { min_zoom:  9, name: [forest, wood], width: 26, height: 10, fill: "#b3d6a4" }
+  - { min_zoom: 10, name: meadow, width: 26, height: 10, fill: "#c0de9c" }
+  - { min_zoom: 10, name: park, width: 26, height: 10, fill: "#cbe4c4" }
+  - { min_zoom: 10, name: common, width: 26, height: 10, fill: "#d4f0d1" }
+  - { min_zoom: 10, name: heathland, width: 26, height: 10, fill: "#eaf0d6" }
+  - { min_zoom: 11, max_zoom: 13, name: resident, width: 26, height: 10, fill: "#e2e2e2" }
+  - { min_zoom: 11, name: industrial, width: 26, height: 10, fill: "#f1dede" }
+  - { min_zoom: 11, name: allotments, width: 26, height: 10, fill: "#d7d7b1" }
+  - { min_zoom: 12, name: cemetery, width: 26, height: 10, fill: "#abcfb1" }
+  - { min_zoom: 12, name: pitch, width: 26, height: 10, fill: "#ade0c5" }
+  - { min_zoom: 13, name: centre, width: 26, height: 10, fill: "#b4e9cd" }
+  - { min_zoom: 13, name: beach, image: beach.png }
+  - { min_zoom: 13, name: [school, university], width: 26, height: 10, fill: "#f0f0d8" }
+  - { min_zoom: 14, name: bicycle_shop, image: bicycle_shop.png }
+  - { min_zoom: 15, name: bicycle_rental, image: bicycle_rental_small.svg }
+  - { min_zoom: 17, name: bicycle_rental, image: bicycle_rental.png }
+  - { min_zoom: 15, name: bicycle_parking, image: bicycle_parking.png }
+  - { min_zoom: 16, name: bicycle_parking_small, image: bicycle_parking_small.svg }
+  - { min_zoom: 16, name: toilets, image: toilets.png }
 opnvkarte:
   - { min_zoom:  6, name: rail, width: 52, height: 1, fill: "#868686" }
   - { min_zoom:  8, name: rail, width: 52, height: 2, fill: "#868686" }
 opnvkarte:
   - { min_zoom:  6, name: rail, width: 52, height: 1, fill: "#868686" }
   - { min_zoom:  8, name: rail, width: 52, height: 2, fill: "#868686" }
-  - { min_zoom: 11, name: rail, image: rail11.svg }
-  - { min_zoom: 15, name: rail, image: rail15.svg }
+  - { min_zoom: 11, name: rail, width: 52, height: 3, fill: "#868686", line: "#eeeeee", line-dasharray: 10, line-dashoffset: 9 }
+  - { min_zoom: 15, name: rail, width: 52, height: 4, fill: "#868686", line: "#eeeeee", line-dasharray: 10, line-dashoffset: 9, line-width: 2 }
   - { min_zoom: 17, name: rail, image: rail17.svg }
   - { min_zoom:  6, name: train, width: 52, height:  2, fill: "#ffc366" }
   - { min_zoom: 10, name: train, width: 52, height:  3, fill: "#ffc366" }
   - { min_zoom: 17, name: rail, image: rail17.svg }
   - { min_zoom:  6, name: train, width: 52, height:  2, fill: "#ffc366" }
   - { min_zoom: 10, name: train, width: 52, height:  3, fill: "#ffc366" }
@@ -125,10 +168,10 @@ opnvkarte:
   - { min_zoom: 12, name: light_rail, width: 52, height:  4, fill: "#66ff66" }
   - { min_zoom: 14, name: light_rail, width: 52, height:  8, fill: "#66ff66" }
   - { min_zoom: 16, name: light_rail, width: 52, height: 10, fill: "#66ff66" }
   - { min_zoom: 12, name: light_rail, width: 52, height:  4, fill: "#66ff66" }
   - { min_zoom: 14, name: light_rail, width: 52, height:  8, fill: "#66ff66" }
   - { min_zoom: 16, name: light_rail, width: 52, height: 10, fill: "#66ff66" }
-  - { min_zoom: 10, name: tram_only, width: 52, height:  3, fill: "#3333fe" }
-  - { min_zoom: 12, name: tram_only, width: 52, height:  4, fill: "#3333fe" }
-  - { min_zoom: 14, name: tram_only, width: 52, height:  8, fill: "#3333fe" }
-  - { min_zoom: 16, name: tram_only, width: 52, height: 10, fill: "#3333fe" }
+  - { min_zoom: 10, name: tram, width: 52, height:  3, fill: "#3333fe" }
+  - { min_zoom: 12, name: tram, width: 52, height:  4, fill: "#3333fe" }
+  - { min_zoom: 14, name: tram, width: 52, height:  8, fill: "#3333fe" }
+  - { min_zoom: 16, name: tram, width: 52, height: 10, fill: "#3333fe" }
   - { min_zoom: 10, name: subway, width: 52, height:  3, fill: "#33339f" }
   - { min_zoom: 12, name: subway, width: 52, height:  4, fill: "#33339f" }
   - { min_zoom: 14, name: subway, width: 52, height:  8, fill: "#33339f" }
   - { min_zoom: 10, name: subway, width: 52, height:  3, fill: "#33339f" }
   - { min_zoom: 12, name: subway, width: 52, height:  4, fill: "#33339f" }
   - { min_zoom: 14, name: subway, width: 52, height:  8, fill: "#33339f" }
@@ -148,12 +191,19 @@ opnvkarte:
   - { min_zoom: 15, name: bus_stop, image: bus_stop15.svg }
   - { min_zoom: 13, name: stop, image: stop13.svg }
   - { min_zoom: 15, name: stop, image: stop15.svg }
   - { min_zoom: 15, name: bus_stop, image: bus_stop15.svg }
   - { min_zoom: 13, name: stop, image: stop13.svg }
   - { min_zoom: 15, name: stop, image: stop15.svg }
-  - { min_zoom:  8, name: motorway, image: motorway8.svg }
-  - { min_zoom: 13, name: motorway, image: motorway13.svg }
-  - { min_zoom: 15, name: motorway, image: motorway15.svg }
-  - { min_zoom: 17, name: motorway, image: motorway17.svg }
-  - { min_zoom:  8, name: main_road, width: 52, height: 1, fill: "#5c6d6d88" }
-  - { min_zoom: 11, name: main_road, image: main_road11.svg }
-  - { min_zoom: 13, name: main_road, image: main_road13.svg }
-  - { min_zoom: 15, name: main_road, image: main_road15.svg }
-  - { min_zoom: 17, name: main_road, image: main_road17.svg }
+  - { min_zoom:  8, name: motorway, width: 52, height:  4, fill: "#dddddd", casing: "#6d6d6d" }
+  - { min_zoom: 13, name: motorway, width: 52, height:  8, fill: "#dddddd", casing: "#6d6d6d" }
+  - { min_zoom: 15, name: motorway, width: 52, height: 13, fill: "#dddddd", casing: "#6d6d6d", line: "#ffffff", line-dasharray: 12, line-dashoffset: 4 }
+  - { min_zoom: 17, name: motorway, width: 52, height: 17, fill: "#dddddd", casing: "#6d6d6d", line: "#ffffff", line-dasharray: 12, line-dashoffset: 4, casing-width: 2 }
+  - { min_zoom:  8, name: main_road, width: 52, height:  1, fill: "#5c6d6d88" }
+  - { min_zoom: 11, name: main_road, width: 52, height:  4, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 13, name: main_road, width: 52, height:  8, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 15, name: main_road, width: 52, height: 13, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 17, name: main_road, width: 52, height: 17, fill: "#dddddd", casing: "#a1968b" }
+  # landcover
+  - { min_zoom:  0, name: [lake, reservoir], width: 26, height: 10, fill: "#a1cbea" }
+  - { min_zoom:  8, name: [lake, reservoir], width: 26, height: 10, fill: "#bfd3ef" }
+  - { min_zoom:  4, name: [forest, wood], width: 26, height: 10, fill: "#b9c5a3" }
+  - { min_zoom:  4, name: built_up, width: 26, height: 10, fill: "#d8d8d8" }
+  - { min_zoom:  9, name: farmland, width: 26, height: 10, fill: "#eae8d6" }
+  - { min_zoom: 12, name: [park, allotments], width: 26, height: 10, fill: "#c2d89a" }