| 1 | = [[Image(pl2_small.svg,36,middle,inline)]] Potlatch 2 = |
| 2 | [[PageOutline(2-9)]] |
| 3 | |
| 4 | == Description == |
| 5 | |
| 6 | Potlatch 2 core stylesheet, forked, patched, converted and vectorised. |
| 7 | |
| 8 | JOSM used to maintain a toolchain to regularly convert the Potlatch 2 stylesheet for JOSM. As development of Potlatch 2 has slowed down, this style is now maintained here in the wiki. |
| 9 | |
| 10 | == Code == |
| 11 | {{{ |
| 12 | #!style type="mapcss" |
| 13 | |
| 14 | |
| 15 | /* This file is automagically converted from Potlatch2 */ |
| 16 | /* |
| 17 | |
| 18 | Potlatch 2 core stylesheet |
| 19 | |
| 20 | This stylesheet should contain commonly used features and only the most essential extra attributes |
| 21 | (e.g. oneway). It needs to remain simple (not too many nested styles or dash-type decorations) in |
| 22 | order not to kill performance on slower systems and those with a less effective Flash Player (i.e. |
| 23 | Linux). |
| 24 | |
| 25 | It is expected that experienced mappers will switch between this and other stylesheets as required. |
| 26 | |
| 27 | */ |
| 28 | |
| 29 | meta { |
| 30 | title: "Potlatch 2"; |
| 31 | icon: "pl2_small.svg"; |
| 32 | version: "[[revision]]_[[date]]"; |
| 33 | author: "Richard Fairhurst, conversion by Guillaume Rischard"; |
| 34 | link: "https://josm.openstreetmap.de/wiki/Styles/Potlatch%202"; |
| 35 | } |
| 36 | |
| 37 | canvas { |
| 38 | fill-color: #ffffea; |
| 39 | } |
| 40 | |
| 41 | node, area { |
| 42 | text-color: black; |
| 43 | } |
| 44 | |
| 45 | relation[restriction=no_left_turn] { |
| 46 | icon-image: "presets/vehicle/restriction/turn_restrictions/no_left_turn.svg"; |
| 47 | } |
| 48 | relation[restriction=no_right_turn] { |
| 49 | icon-image: "presets/vehicle/restriction/turn_restrictions/no_right_turn.svg"; |
| 50 | } |
| 51 | relation[restriction=no_straight_on] { |
| 52 | icon-image: "presets/vehicle/restriction/turn_restrictions/no_straight_on.svg"; |
| 53 | } |
| 54 | relation[restriction=no_u_turn] { |
| 55 | icon-image: "presets/vehicle/restriction/turn_restrictions/no_u_turn.svg"; |
| 56 | } |
| 57 | relation[restriction=only_left_turn] { |
| 58 | icon-image: "presets/vehicle/restriction/turn_restrictions/only_left_turn.svg"; |
| 59 | } |
| 60 | relation[restriction=only_right_turn] { |
| 61 | icon-image: "presets/vehicle/restriction/turn_restrictions/only_right_turn.svg"; |
| 62 | } |
| 63 | relation[restriction=only_straight_on] { |
| 64 | icon-image: "presets/vehicle/restriction/turn_restrictions/only_straight_on.svg"; |
| 65 | } |
| 66 | |
| 67 | /**************** |
| 68 | * core_ways.css |
| 69 | ****************/ |
| 70 | |
| 71 | /* Roads */ |
| 72 | |
| 73 | way[highway=motorway],way[highway=motorway_link], |
| 74 | way[highway=trunk],way[highway=trunk_link], |
| 75 | way[highway=primary],way[highway=primary_link], |
| 76 | way[highway=secondary],way[highway=secondary_link], |
| 77 | way[highway=tertiary],way[highway=tertiary_link], |
| 78 | way[highway=residential],way[highway=unclassified] { z-index: 5; text: auto; text-color: black; font-size: 12; text-position: line; text-halo-color: white; text-halo-radius: 2; linecap: round; casing-linecap: round } |
| 79 | way[highway=motorway],way[highway=motorway_link] { z-index: 9; color: #809BC0; width: 7; casing-color: #1e375a; casing-width: 1; } |
| 80 | way[highway=trunk],way[highway=trunk_link] { z-index: 9; color: #7FC97F; width: 7; casing-color: #245424; casing-width: 1; } |
| 81 | way[highway=primary],way[highway=primary_link] { z-index: 8; color: #E46D71; width: 7; casing-color: #651316; casing-width: 1; } |
| 82 | way[highway=secondary],way[highway=secondary_link] { z-index: 7; color: #FDBF6F; width: 7; casing-color: #b16603; casing-width: 1; } |
| 83 | way[highway=tertiary],way[highway=tertiary_link] { z-index: 6; color: #FEFECB; width: 5; casing-color: #626202; casing-width: 1; } |
| 84 | way[highway=unclassified] { z-index: 6; color: #D0D0D0; width: 5; casing-width: 1; } |
| 85 | way[highway=residential] { z-index: 5; color: #E8E8E8; width: 5; casing-color: gray; casing-width: 1; } |
| 86 | way[highway=service][service!=parking_aisle] { z-index: 5; color: white; width: 3; casing-color: gray; casing-width: 1; } |
| 87 | way[highway=service][service=parking_aisle] { z-index: 5; color: white; width: 1; casing-color: #aaaaaa; casing-width: 1; } |
| 88 | way[highway=service][service=alley] { z-index: 5; color: white; width: 2; dashes: 6,2; casing-color: black; casing-width: 1; } |
| 89 | way[highway=road] { z-index: 5; color: gray; width: 5; casing-color: white; casing-width: 1; } |
| 90 | way[highway=living_street] { z-index: 5; color: #ddffee; width: 3; casing-color: #555555; casing-width: 1; } |
| 91 | |
| 92 | /* Road areas */ |
| 93 | |
| 94 | way[highway=pedestrian]!:closed { z-index: 5; color: #ddddee; width: 5; casing-color: #555555; casing-width: 1; casing-dashes: 2,4;} |
| 95 | area[highway=pedestrian]:closed { color: #555555; width: 1; fill-color: #ddddee; fill-opacity: 0.8; } /* FIXME: dashed outline */ |
| 96 | |
| 97 | /* Paths */ |
| 98 | |
| 99 | way[highway=steps] { z-index: 5; color: #FF6644; width: 6; dashes: 2, 2; } |
| 100 | way[highway=footway] { z-index: 5; color: #FF6644; width: 2; dashes: 6, 3; prop_path : 1;} |
| 101 | way[highway=footway][bicycle=yes]::bike { z-index: 4; color: blue; width: 1; } |
| 102 | way[highway=bridleway] { z-index:9; color: #996644; width: 2; dashes: 4, 2, 2, 2; prop_path : 1;} |
| 103 | way[highway=track] { z-index: 5; color: #996644; width: 2; dashes: 4, 2; prop_path : 1;} |
| 104 | way[highway=path] { z-index: 5; color: brown; width: 2; dashes: 2, 2; prop_path : 1;} |
| 105 | way[highway=cycleway] { z-index: 5; color: blue; width: 2; dashes: 4, 2; prop_path : 1;} |
| 106 | way[is_prop_set("prop_path")] { z-index: 5; text: auto; text-color: black; text-position: line; text-offset: 7; font-size: 12; } |
| 107 | |
| 108 | /* Under construction */ |
| 109 | |
| 110 | way[highway=proposed] { z-index: 5; color: #88ffff; width: 6; dashes: 8, 4; } |
| 111 | way[highway=construction] { z-index: 5; color: #ffffbb; width: 6; dashes: 8, 4; casing-color: #0000aa; casing-width: 1; casing-dashes: 8,4;} |
| 112 | |
| 113 | /* Railways */ |
| 114 | |
| 115 | way[railway=rail] { z-index: 6; color: black; width: 5; linecap: round; dashes: 0; } |
| 116 | way[railway=rail]::dashes { z-index: 7; color: white; width: 3; dashes: 12,12; linecap: round; } |
| 117 | |
| 118 | way[construction=rail] { z-index: 6; color: black; width: 5; dashes: 6, 6, 4, 8;} |
| 119 | way[construction=rail]::inner { z-index: 7; color: white; width: 3; dashes: 6,18; } |
| 120 | |
| 121 | way[railway=platform] { z-index: 5; color:black; width: 2; } |
| 122 | |
| 123 | way[railway=subway] { z-index: 6; color: #444444; width: 5; } |
| 124 | way[railway=subway]::dashes { z-index: 7; color: white; width: 3; dashes: 8,8; } |
| 125 | |
| 126 | way[construction=subway] { z-index: 6; color: #444444; width: 5; dashes: 4, 4; } |
| 127 | way[construction=subway]::dashes { z-index: 7; color: white; width: 3; dashes: 4,12;} |
| 128 | |
| 129 | way[railway=disused][!highway],way[railway=abandoned][!highway] { z-index: 6; color: #444400; width: 3; dashes: 17, 2, 5, 0; } |
| 130 | way[railway=disused][!highway]::dashes,way[railway=abandoned][!highway]::dashes { z-index: 7; color: #999999; width: 2; dashes: 12,12; } |
| 131 | |
| 132 | way[railway=tram] { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; } |
| 133 | way[construction=tram] { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; dashes: 6, 6; casing-dashes: 6, 6; } |
| 134 | |
| 135 | way[railway=light_rail] { z-index: 6; color: black; width: 4; } |
| 136 | way[railway=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,4; } |
| 137 | |
| 138 | way[construction=light_rail] { z-index: 6; color: black; width: 4; dashes: 8, 4, 4, 4; } |
| 139 | way[construction=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,12; } |
| 140 | |
| 141 | /* Waterways */ |
| 142 | |
| 143 | way[waterway=river], |
| 144 | way[waterway=canal], |
| 145 | way[waterway=stream] { z-index: 5; color: #3434ff; width: 2; text:auto; text-color: #3434ff; font-size:9; text-position: line; text-offset: 7;} |
| 146 | way[waterway=drain] {z-index: 5; color: #3434ff; width: 1; text:auto; text-color: #3434ff; text-position: line; text-offset: 3;} |
| 147 | way[waterway][tunnel=yes] {z-index: 5; dashes: 8,4;} |
| 148 | |
| 149 | /* Aeroways */ |
| 150 | |
| 151 | way[aeroway=aerodrome]:closed |
| 152 | { z-index: 3; color: #bb44bb; width: 3; casing-color: #66066; casing-width: 1; } |
| 153 | way[aeroway=taxiway]!:closed { z-index: 8; color: #999999; width: 3; casing-color: #aa66aa; casing-width: 2; } |
| 154 | area[aeroway=taxiway]:closed { z-index: 8; color: #bb99bb; width: 3; fill-color: #ccaacc; } |
| 155 | |
| 156 | way[aeroway=runway]!:closed { z-index: 9; color: black; width: 5; } |
| 157 | way[aeroway=runway]!:closed::aa { z-index: 12; color: white; width: 5; dashes: 0, 20, 4, 76; } |
| 158 | way[aeroway=runway]!:closed::bb { z-index: 13; color: black; width: 3; } |
| 159 | way[aeroway=runway]!:closed::cc { z-index: 14; color: white; width: 1; dashes: 4, 16; } |
| 160 | |
| 161 | area[aeroway=runway]:closed { z-index: 9; color: black; width: 3; fill-color: #775577; } |
| 162 | area[aeroway=apron]:closed { z-index: 4; color: #cc66cc; width: 1; fill-color: #ddaadd; fill-opacity: 0.5;} |
| 163 | |
| 164 | /* Barriers */ |
| 165 | |
| 166 | way[barrier] {z-index: 5; color: #000000; width: 1} |
| 167 | way[barrier=fence] {z-index: 5; color: #000000; width: 1; dashes: 8,4,2,4; } |
| 168 | |
| 169 | /* Power */ |
| 170 | |
| 171 | way[power=line] {z-index: 5; color: darkgray; width: 3; dashes: 12,2; casing-color: black; casing-width: 2; casing-dashes: 4, 38;} |
| 172 | way[power=minor_line] {z-index: 5; color: gray; width: 2; dashes: 2,4; casing-width: 3; casing-color: white; casing-dashes: 2,22;} |
| 173 | area[power=station]:closed { color: black; width: 2; fill-color: #666666; fill-opacity: 0.6; prop_area_small_name : 1;} |
| 174 | area[power=generator]:closed { color: black; width: 2; fill-color: #444444; fill-opacity: 0.6; prop_area_small_name : 1;} |
| 175 | |
| 176 | /* Leisure */ |
| 177 | |
| 178 | way[golf=hole] {z-index: 5; color: darkgreen; width: 5; casing-color: green; casing-width: 2; } |
| 179 | area[leisure=sports_centre]:closed { color: #66ddcc; fill-color: #66ddcc; prop_area_small_name : 1; } |
| 180 | |
| 181 | |
| 182 | /* Physical decoration */ |
| 183 | |
| 184 | way[bridge=yes]::bridge1, way[bridge=viaduct]::bridge1, way[bridge=suspension]::bridge1 { z-index: 4; color: white; width: +3; } |
| 185 | way[bridge=yes]::bridge2, way[bridge=viaduct]::bridge2, way[bridge=suspension]::bridge2 { z-index: 3; color: #444444; width: +6; } |
| 186 | way[tunnel=yes][!waterway]::bridge1 { z-index: 4; color: white; width: +2; } |
| 187 | way[tunnel=yes][!waterway]::bridge2 { z-index: 3; color: black; width: +6; dashes: 4,4; } |
| 188 | |
| 189 | /* Attribute decoration */ |
| 190 | |
| 191 | /*way[oneway=yes]::arrows, way[junction=roundabout]::arrows { z-index: 15; color: #555555; width: 2; dashes: 10,50; line-style: arrows; } |
| 192 | way[oneway=-1]::arrows { z-index: 15; color: #555555; width: 2; dashes: 10,50; line-style: arrows-reversed; }*/ |
| 193 | |
| 194 | /**************** |
| 195 | * core_pois.css |
| 196 | ****************/ |
| 197 | |
| 198 | node { text-anchor-horizontal: center; text-anchor-vertical: below; } |
| 199 | |
| 200 | node[place] { icon-image: icons/place.svg; font-family: DejaVu; text: auto; font-size: 10; font-weight: bold; z-index: 20; } |
| 201 | node[amenity=telephone] { icon-image: icons/telephone.svg; z-index: 20; } |
| 202 | node[barrier=cattle_grid] { icon-image: icons/cattle_grid.svg; z-index: 20; } |
| 203 | node[tourism=guesthouse] { icon-image: icons/accommodation_bed_and_breakfast.n.svg; z-index: 20; } |
| 204 | node[tourism=alpine_hut] { icon-image: icons/accommodation_alpinehut.n.svg; z-index: 20; } |
| 205 | node[tourism=camp_site] { icon-image: icons/accommodation_camping.n.svg; z-index: 20; } |
| 206 | node[tourism=caravan_site] { icon-image: icons/accommodation_caravan_park.n.svg; z-index: 20; } |
| 207 | node[tourism=chalet] { icon-image: icons/accommodation_chalet.n.svg; z-index: 20; } |
| 208 | node[tourism=guest_house],node[tourism=bed_and_breakfast] { icon-image: icons/accommodation_bed_and_breakfast.n.svg; z-index: 20; } |
| 209 | node[tourism=hotel] { icon-image: icons/accommodation_hotel.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 210 | node[tourism=hostel] { icon-image: icons/accommodation_youth_hostel.n.svg; z-index: 20; } |
| 211 | node[tourism=motel] { icon-image: icons/accommodation_motel.n.svg; z-index: 20; } |
| 212 | node[amenity=fire_station] { icon-image: icons/amenity_firestation2.n.svg; z-index: 20; } |
| 213 | node[amenity=police] { icon-image: icons/amenity_police2.n.svg; z-index: 20; } |
| 214 | node[amenity=post_box] { icon-image: icons/amenity_post_box.n.svg; z-index: 20; } |
| 215 | node[amenity=recycling] { icon-image: icons/amenity_recycling.n.svg; z-index: 20; } |
| 216 | node[barrier=bollard] { icon-image: icons/barrier_bollard.n.svg; z-index: 20; } |
| 217 | node[barrier=gate], node[highway=gate] { icon-image: icons/barrier_gate.n.svg; z-index: 20; } |
| 218 | node[barrier=stile], node[highway=stile] { icon-image: icons/barrier_stile.n.svg; z-index: 20; } |
| 219 | node[barrier=toll_booth] { icon-image: icons/barrier_toll_booth.n.svg; z-index: 20; } |
| 220 | node[barrier=lift_gate] { icon-image: icons/barrier_lift_gate.n.svg; z-index: 20; } |
| 221 | node[barrier=kissing_gate] { icon-image: icons/barrier_kissing_gate.svg; z-index: 20; } |
| 222 | node[barrier=cycle_barrier] { icon-image: icons/barrier_cycle_barrier.svg; z-index: 20; } |
| 223 | node[barrier=block] { icon-image: icons/barrier_blocks.svg; z-index: 20; } |
| 224 | node[barrier=cattle_grid] { icon-image: icons/barrier_cattle_grid.svg; z-index: 20; } |
| 225 | node[amenity=school] { icon-image: icons/education_school.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 226 | area[amenity=school]:closed { color: yellow; fill-color: yellow; fill-opacity: 0.1; prop_area_small_name : 1; } |
| 227 | node[amenity=bar] { icon-image: icons/food_bar.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 228 | node[amenity=cafe] { icon-image: icons/food_cafe.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 229 | node[amenity=fast_food] { icon-image: icons/food_fastfood.n.svg; z-index: 20; } |
| 230 | node[amenity=nightclub] { icon-image: icons/food_nightclub.n.svg; text-offset: 0; text: auto; font-size: 10; z-index: 20; } |
| 231 | node[amenity=pub] { icon-image: icons/food_pub.n.svg; text-offset: 0; text: auto; font-size: 10; z-index: 20; } |
| 232 | node[amenity=restaurant] { icon-image: icons/food_restaurant.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 233 | node[amenity=hospital] { icon-image: icons/health_hospital.n.svg; z-index: 20; } |
| 234 | node[amenity=pharmacy] { icon-image: icons/health_pharmacy.n.svg; z-index: 20; } |
| 235 | node[emergency=defibrillator] { icon-image: icons/ISO_7010_E010.svg; z-index: 20; } |
| 236 | node[amenity=atm] { icon-image: icons/money_atm.n.svg; z-index: 20; } |
| 237 | node[amenity=bank] { icon-image: icons/money_bank2.n.svg; z-index: 20; } |
| 238 | /* More Amenities */ |
| 239 | node[amenity=bench] { icon-image: icons/amenity_bench.n.svg; z-index: 20; } |
| 240 | node[amenity=drinking_water] { icon-image: icons/food_drinkingtap.n.svg; z-index: 20; } |
| 241 | node[amenity=emergency_phone] { icon-image: icons/emergency-telephone.svg; z-index: 20; } |
| 242 | node[emergency=phone] { icon-image: icons/emergency-telephone.svg; z-index: 20; } |
| 243 | node[amenity=fountain] { icon-image: icons/amenity_fountain2.n.svg; z-index: 20; } |
| 244 | node[amenity=hunting_stand] { icon-image: icons/sport_shooting.n.svg; z-index: 20; } |
| 245 | node[amenity=kindergarten] { icon-image: icons/education_nursery3.n.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 246 | node[amenity=library] { icon-image: icons/amenity_library.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 247 | node[amenity=place_of_worship] { icon-image: icons/place_of_worship_unknown.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 248 | node[amenity=post_office] { icon-image: icons/amenity_post_office.n.svg; z-index: 20; } |
| 249 | node[amenity=shelter] { icon-image: icons/accommodation_shelter2.n.svg; z-index: 20; } |
| 250 | node[leisure=swimming_pool] { icon-image: icons/sport_swimming_outdoor.n.svg; z-index: 20; } |
| 251 | node[amenity=townhall] { icon-image: icons/amenity_town_hall.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 252 | node[amenity=toilets] { icon-image: icons/amenity_toilets.n.svg; z-index: 20; } |
| 253 | node[amenity=vending_machine] { icon-image: icons/shopping_vending_machine.n.svg; z-index: 20; } |
| 254 | node[amenity=veterinary] { icon-image: icons/health_veterinary.n.8E7409.16.svg; z-index: 20; } |
| 255 | node[amenity=waste_basket] { icon-image: icons/amenity_waste_bin.n.svg; z-index: 20; } |
| 256 | node[emergency=fire_hydrant] { icon-image: icons/emergency_hydrant.svg; z-index: 20; } |
| 257 | /* Shops */ |
| 258 | node[shop=alcohol] { icon-image: icons/shopping_alcohol.n.svg; z-index: 20; } |
| 259 | node[shop=bakery] { icon-image: icons/shopping_bakery.n.svg; z-index: 20; } |
| 260 | node[shop=bicycle] { icon-image: icons/shopping_bicycle.n.svg; z-index: 20; } |
| 261 | node[shop=book], node[shop=books] { icon-image: icons/shopping_book.n.svg; z-index: 20; } |
| 262 | node[shop=butcher] { icon-image: icons/shopping_butcher.n.svg; z-index: 20; } |
| 263 | node[shop=car_repair] { icon-image: icons/shopping_car_repair.n.svg; z-index: 20; } |
| 264 | node[shop=car] { icon-image: icons/shopping_car.n.svg; z-index: 20; } |
| 265 | node[shop=clothes] { icon-image: icons/shopping_clothes.n.svg; z-index: 20; } |
| 266 | node[shop=confectionery] { icon-image: icons/shopping_confectionery.n.svg; z-index: 20; } |
| 267 | node[shop=convenience] { icon-image: icons/shopping_convenience.n.svg; z-index: 20; } |
| 268 | node[shop=department_store] { icon-image: icons/shopping_department_store.n.svg; z-index: 20; } |
| 269 | node[shop=doityourself] { icon-image: icons/shopping_diy.n.svg; z-index: 20; } |
| 270 | node[shop=fishmonger] { icon-image: icons/shopping_fish.n.svg; z-index: 20; } |
| 271 | node[shop=florist] { icon-image: icons/shopping_florist.n.svg; z-index: 20; } |
| 272 | node[shop=garden_centre] { icon-image: icons/shopping_garden_centre.n.svg; z-index: 20; } |
| 273 | node[shop=gift] { icon-image: icons/shopping_gift.n.svg; z-index: 20; } |
| 274 | node[shop=greengrocer] { icon-image: icons/shopping_greengrocer.n.svg; z-index: 20; } |
| 275 | node[shop=hairdresser] { icon-image: icons/shopping_hairdresser.n.svg; z-index: 20; } |
| 276 | node[shop=hifi] { icon-image: icons/shopping_hifi.n.svg; z-index: 20; } |
| 277 | node[shop=jewelry] { icon-image: icons/shopping_jewelry.n.svg; z-index: 20; } |
| 278 | node[shop=kiosk] { icon-image: icons/shopping_kiosk.n.svg; z-index: 20; } |
| 279 | node[shop=laundry] { icon-image: icons/shopping_laundrette.n.svg; z-index: 20; } |
| 280 | node[amenity=marketplace] { icon-image: icons/shopping_marketplace.n.svg; z-index: 20; } |
| 281 | node[shop=motorcycle] { icon-image: icons/shopping_motorcycle.n.svg; z-index: 20; } |
| 282 | node[shop=music] { icon-image: icons/shopping_music.n.svg; z-index: 20; } |
| 283 | node[shop=supermarket] { icon-image: icons/shopping_supermarket.n.svg; z-index: 20; } |
| 284 | node[shop=toys] { icon-image: icons/shopping_toys.n.svg; z-index: 20; } |
| 285 | /* More Touristy Items */ |
| 286 | node[tourism=artwork] { icon-image: icons/tourist_art_gallery2.n.svg; z-index: 20; } |
| 287 | node[historic=archaeological_site] { icon-image: icons/tourist_archaeological.n.svg; z-index: 20; } |
| 288 | node[historic=battlefield] { icon-image: icons/tourist_battlefield.n.svg; z-index: 20; } |
| 289 | node[historic=castle] { icon-image: icons/tourist_castle.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 290 | node[amenity=cinema] { icon-image: icons/tourist_cinema.n.svg; z-index: 20; } |
| 291 | node[historic=memorial] { icon-image: icons/tourist_memorial.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 292 | node[historic=monument] { icon-image: icons/tourist_monument.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 293 | node[tourism=museum] { icon-image: icons/tourist_museum.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 294 | node[tourism=information] { icon-image: icons/tourist_information.svg; z-index: 20; } |
| 295 | node[tourism=picnic_site] { icon-image: icons/tourist_picnic.n.svg; z-index: 20; } |
| 296 | node[historic=ruins] { icon-image: icons/tourist_ruin.n.svg; z-index: 20; } |
| 297 | node[amenity=theatre] { icon-image: icons/tourist_theatre.n.svg; z-index: 20; } |
| 298 | node[tourism=theme_park] { icon-image: icons/tourist_theme_park.n.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 299 | node[tourism=viewpoint] { icon-image: icons/tourist_view_point.n.svg; z-index: 20; } |
| 300 | node[tourism=zoo] { icon-image: icons/tourist_zoo.n.svg; z-index: 20; } |
| 301 | /* Transport */ |
| 302 | node[aeroway=aerodrome] { icon-image: icons/transport_aerodrome.n.svg; z-index: 20; } |
| 303 | node[aeroway=gate] { icon-image: icons/transport_airport_gate.n.svg; z-index: 20; } |
| 304 | node[aeroway=terminal] { icon-image: icons/transport_airport_terminal.n.svg; z-index: 20; } |
| 305 | node[aeroway=helipad] { icon-image: icons/transport_helicopter_pad.n.svg; z-index: 20; } |
| 306 | node[amenity=bus_station] { icon-image: icons/transport_bus_station.n.svg; z-index: 20; } |
| 307 | node[highway=bus_stop] { icon-image: icons/transport_bus_stop2.n.svg; z-index: 20; } |
| 308 | node[amenity=fuel] { icon-image: icons/transport_fuel.n.svg; z-index: 20; } |
| 309 | node[amenity=car_wash] { icon-image: icons/transport_car_wash.svg; z-index: 20; } |
| 310 | node[amenity=bicycle_parking] { icon-image: icons/transport_parking_bicycle.n.svg; text-offset:0; text: capacity; font-size: 10; z-index: 20; } |
| 311 | node[amenity=parking] { icon-image: icons/transport_parking_car.n.svg; z-index: 20; } |
| 312 | node[amenity=ferry_terminal] { icon-image: icons/transport_port.n.svg; z-index: 20; } |
| 313 | node[amenity=bicycle_rental] { icon-image: icons/transport_rental_bicycle.n.svg; z-index: 20; } |
| 314 | node[amenity=car_rental] { icon-image: icons/transport_rental_car.n.svg; z-index: 20; } |
| 315 | node[amenity=taxi] { icon-image: icons/transport_taxi_rank.n.svg; z-index: 20; } |
| 316 | node[railway=station] { icon-image: icons/transport_train_station.n.svg; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 317 | node[railway=tram_stop] { icon-image: icons/transport_tram_stop.n.svg; z-index: 20; } |
| 318 | node[leisure=marina] { icon-image: icons/transport_marina.n.svg; z-index: 20; } |
| 319 | node[highway=mini_roundabout] { icon-image: icons/transport_miniroundabout_anticlockwise.n.svg; z-index: 20; } |
| 320 | node[highway=crossing] { icon-image: icons/transport_zebracrossing.svg; z-index: 20; } |
| 321 | /* Misc */ |
| 322 | node[leisure=playground] { icon-image: icons/amenity_playground.n.svg; z-index: 20; } |
| 323 | node[leisure=sports_centre] { icon-image: icons/sport_leisure_centre.n.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 324 | /* node[landuse=cemetery], node[landuse=grave_yard] { i|||con-image: icons/?.svg; z-index: 20; } */ |
| 325 | node[man_made=survey_point] { icon-image: icons/manmade_lighthouse.svg; z-index: 20; } |
| 326 | node[man_made=tower] { icon-image: icons/manmade_tower.svg; z-index: 20; } |
| 327 | /* Yes these power stations seem a little backward - but that's seemingly what the side menu uses ATM */ |
| 328 | node[power=station] { icon-image: icons/power_substation.n.svg; z-index: 20; } |
| 329 | node[power=generator] { icon-image: icons/power_station.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 330 | /* P2 previously had these icons instead of "icon-image: cross" which is not standard MapCSS but a P2 keyword we won't implement, so keep the old icons */ |
| 331 | node[power=tower] { icon-image: icons/power_tower_high2.n.svg; z-index: 20; } |
| 332 | node[power=pole] { icon-image: icons/power_tower_low.n.svg; z-index: 20; } |
| 333 | node[waterway=weir] { icon-image: icons/transport_weir.svg; z-index: 20; } |
| 334 | /* Natural */ |
| 335 | node[natural=peak] { icon-image: presets/landmark/peak.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 336 | node[natural=tree] { icon-image: icons/natural_tree.svg; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; } |
| 337 | |
| 338 | /* Addressing */ |
| 339 | |
| 340 | node[addr:housenumber], |
| 341 | node[addr:housename] { symbol-shape: circle; symbol-size: 8; symbol-fill-color: #B0E0E6; } |
| 342 | node[addr:housenumber]::hn_casing, |
| 343 | node[addr:housename]::hn_casing { z-index: -100; symbol-shape: circle; symbol-size: 10; symbol-fill-color: blue; } |
| 344 | |
| 345 | way[addr:interpolation] { color: #B0E0E6; width: 3; dashes: 3,3;} |
| 346 | /**************** |
| 347 | * core_landuse.css |
| 348 | ****************/ |
| 349 | |
| 350 | /* Landuse */ |
| 351 | |
| 352 | area[natural]:closed { color: #ADD6A5; width: 1; fill-color: #ADD6A5; fill-opacity: 0.2; } |
| 353 | area[natural=beach]:closed { color: #ffdd44; width: 1; fill-color: yellow; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 354 | way[natural=coastline] { z-index: 5; color: black; width: 3; } |
| 355 | area[landuse]:closed { color: #444444; width: 2; fill-color: #444444; fill-opacity: 0.3; } |
| 356 | area[landuse=residential]:closed { color: #666666; width: 2; fill-color: #666666; fill-opacity: 0.15; } |
| 357 | area[landuse=retail]:closed { color: #cc2222; width: 2; fill-color: #aa4422; fill-opacity: 0.15; } |
| 358 | area[landuse=commercial]:closed { color: #4444bb; width: 2; fill-color: #444488; fill-opacity: 0.15; } |
| 359 | area[landuse=military]:closed { color: #ff4444; width: 2; fill-color: #ff4444; fill-opacity: 0.2; prop_area_small_name : 1; } |
| 360 | area[amenity]:closed, area[shop]:closed { color: #ADCEB5; width: 1; fill-color: #ADCEB5; fill-opacity: 0.2; } |
| 361 | /* way[sport] should not be rendered by itself, according to wiki. Can we make it an "if all else fails"? */ |
| 362 | area[leisure]:closed { color: #8CD6B5; width: 1; fill-color: #8CD6B5; fill-opacity: 0.2; } |
| 363 | area[tourism]:closed { color: #F7CECE; width: 1; fill-color: #F7CECE; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 364 | area[historic]:closed, area[ruins]:closed { color: #F7F7DE; width: 1; fill-color: #F7F7DE; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 365 | area[military]:closed { color: #D6D6D6; width: 1; fill-color: #D6D6D6; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 366 | area[building]:closed { color: #bca9a9; width: 1; fill-color: #ff6ec7; fill-opacity: 0.2; } |
| 367 | area[natural=water]:closed, |
| 368 | area[waterway][waterway!=dam]:closed { color: #3434ff; width: 2; fill-color: #3434ff; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 369 | way[waterway=dam]!:closed { z-index: 5; color: black; width: 3; } |
| 370 | area[waterway=dam]:closed { z-index: 5; color: black; width: 1; fill-color: #222222; fill-opacity: 0.1; prop_area_small_name : 1;} |
| 371 | area[man_made]:closed { color: black; width: 2; fill-color: #222222; fill-opacity: 0.1; prop_area_small_name : 1; } |
| 372 | area[man_made=reservoir_covered]:closed { color: #3434ff; width: 2; dashes: 4, 2; fill-color: #222222; fill-opacity: 0.1; prop_area_small_name : 1; } |
| 373 | area[landuse=reservoir]:closed { color: #3434ff; width: 2; fill-color: #3434ff; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 374 | area[landuse=forest]:closed, area[natural=wood]:closed { color: green; width: 2; fill-color: green; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 375 | area[leisure=park]:closed { color: #22aa22; width: 2; fill-color: #44ff44; fill-opacity: 0.15; prop_area_small_name : 1;} |
| 376 | area[leisure=garden]:closed { color: #66ff44; width: 1; fill-color: #66ff44; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 377 | area[leisure=pitch]:closed { z-index: 6; color: #88bb44; width: 2; fill-color: #88ff44; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 378 | area[landuse=recreation_ground]:closed { color: green; fill-color: green; prop_area_small_name : 1;} |
| 379 | area[amenity=parking]:closed { color: #bbaa66; width: 1; fill-color: #bbaa66; fill-opacity: 0.2; } |
| 380 | area[public_transport=pay_scale_area]:closed { color: gray; width: 1; fill-color: gray; fill-opacity: 0.1; } |
| 381 | way[man_made=pier] { z-index: 4; color: #777; width: 3; casing-color: black; casing-width: 1;} |
| 382 | way[man_made=pier][floating=yes] { z-index: 5; dashes: 4,2; casing-color: #444;} |
| 383 | area[leisure=marina]:closed { color: pink; fill-color: pink; fill-opacity: 0.4; prop_area_small_name : 1;} |
| 384 | way[leisure=slipway] { z-index: 5; color: grey; width: 3; casing-color: #3434ff; casing-width: 2; } |
| 385 | area[leisure=golf_course]:closed { color: #44ee22; width: 2; fill-color: #44ee22; fill-opacity: 0.2; prop_area_small_name : 1;} |
| 386 | way[boundary] { z-index: 5; color: #000066; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;} |
| 387 | /* Perhaps should be filled, on lower zooms. */ |
| 388 | way[boundary=national_park] { z-index: 5; color: #225500; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;} |
| 389 | way[boundary=protected_area] { z-index: 5; color: #447744; width: 2; opacity: 0.6; dashes: 12,4, 4, 4; z-index: 4;} |
| 390 | way[boundary=administrative] { z-index: 5; color: purple; width: 2; opacity: 0.2; dashes: 24,4; z-index: 4;} |
| 391 | way[boundary=administrative][waterway] { z-index: 5; opacity: 0.8; z-index: 4; dashes: 24,4; width: 6; } |
| 392 | area[landuse=cemetery]:closed { color: #664466; width: 2; fill-color: #664466; opacity: 0.2; prop_area_small_name : 1;} |
| 393 | /* Addressing. Nodes with addresses *and* match POIs should have a poi icon, so we put addressing first */ |
| 394 | /* Route relations */ |
| 395 | |
| 396 | relation[type=route] > way::route { z-index: -1; width: 13; color: blue; opacity: 0.3; linecap: none; } |
| 397 | relation[type=route][route=bicycle][network=ncn] > way::route { z-index: -1; width: 12; color: red; opacity: 0.3; linecap: none; } |
| 398 | relation[type=route][route=bicycle][network=rcn] > way::route { z-index: -1; width: 12; color: cyan; opacity: 0.3; linecap: none; } |
| 399 | relation[type=route][route=bicycle][network=lcn] > way::route { z-index: -1; width: 12; color: blue; opacity: 0.3; linecap: none; } |
| 400 | relation[type=route][route=mtb] > way::route { z-index: -1; width: 12; color: brown; opacity: 0.3; linecap: none; } |
| 401 | relation[type=route][route=foot] > way::route { z-index: -1; width: 10; color: #80ff80; opacity: 0.6; linecap: none; } |
| 402 | |
| 403 | /*@import("stylesheets/core_ways.css");*/ |
| 404 | /*@import("stylesheets/core_pois.css");*/ |
| 405 | /*@import("stylesheets/core_landuse.css");*/ |
| 406 | /*@import("stylesheets/core_relations.css");*/ |
| 407 | way[is_prop_set("prop_area_small_name")] {text-color: black; font-size: 10; text: auto; text-halo: #ffffaa; text-halo-radius: 2; text-position: center;} |
| 408 | /*@import("stylesheets/core_interactive.css");*/ |
| 409 | |
| 410 | /* Rendering for licence status */ |
| 411 | |
| 412 | /*way[_status=no]::status { z-index: 0; width: eval('_width+7'); color: #AA0000; } |
| 413 | way[_status=partial]::status { z-index: 0; width: eval('_width+7'); color: #AA0000; opacity: 0.6; } |
| 414 | way[_status=unsure]::status { z-index: 0; width: eval('_width+7'); color: darkorange; opacity: 0.6; } |
| 415 | node[_status=no]::status { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: #AA0000; } |
| 416 | node[_status=partial]::status { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: #AA0000; opacity: 0.6; } |
| 417 | node[_status=unsure]::status { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: darkorange; opacity: 0.6; }*/ |
| 418 | |
| 419 | |
| 420 | }}} |