wiki:Styles/Potlatch2

Icon Potlatch 2 vectorised

Description

Potlatch 2 core stylesheet, forked, patched, converted and vectorised.

JOSM used to maintain a toolchain to regularly convert the Potlatch 2 stylesheet for JOSM. As development of Potlatch 2 was discontinued, this style is now maintained here in the wiki.

The style works quite well when combined with the "default" JOSM style.

Code

/* This file is automagically converted from Potlatch2 */
/*

        Potlatch 2 core stylesheet
        
        This stylesheet should contain commonly used features and only the most essential extra attributes
        (e.g. oneway). It needs to remain simple (not too many nested styles or dash-type decorations) in
        order not to kill performance on slower systems and those with a less effective Flash Player (i.e. 
        Linux).
        
        It is expected that experienced mappers will switch between this and other stylesheets as required.

*/

meta {
    title: "Potlatch 2";
    icon: "pl2_small.svg";
    version: "1.13_2024-09-01";
    description: "Potlatch 2 core stylesheet, forked, patched, converted and vectorised.";
    author: "Richard Fairhurst, conversion by Guillaume Rischard";
    link: "https://josm.openstreetmap.de/wiki/Styles/Potlatch2";
}

canvas {
    fill-color: #ffffea;
}

node, area {
    text-color: black;
}

relation[restriction=no_left_turn] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/no_left_turn.svg";
}
relation[restriction=no_right_turn] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/no_right_turn.svg";
}
relation[restriction=no_straight_on] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/no_straight_on.svg";
}
relation[restriction=no_u_turn] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/no_u_turn.svg";
}
relation[restriction=only_left_turn] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/only_left_turn.svg";
}
relation[restriction=only_right_turn] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/only_right_turn.svg";
}
relation[restriction=only_straight_on] {
    icon-image: "presets/vehicle/restriction/turn_restrictions/only_straight_on.svg";
}

/****************
 * core_ways.css
 ****************/

/* Roads */

way[highway=motorway],way[highway=motorway_link],
way[highway=trunk],way[highway=trunk_link],
way[highway=primary],way[highway=primary_link],
way[highway=secondary],way[highway=secondary_link],
way[highway=tertiary],way[highway=tertiary_link],
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 }
way[highway=motorway],way[highway=motorway_link]    { z-index: 9; color: #809BC0; width: 7; casing-color: #1e375a; casing-width: 1; }
way[highway=trunk],way[highway=trunk_link]          { z-index: 9; color: #7FC97F; width: 7; casing-color: #245424; casing-width: 1; }
way[highway=primary],way[highway=primary_link]      { z-index: 8; color: #E46D71; width: 7; casing-color: #651316; casing-width: 1; }
way[highway=secondary],way[highway=secondary_link]  { z-index: 7; color: #FDBF6F; width: 7; casing-color: #b16603; casing-width: 1; }
way[highway=tertiary],way[highway=tertiary_link]    { z-index: 6; color: #FEFECB; width: 5; casing-color: #626202; casing-width: 1; }
way[highway=unclassified]                           { z-index: 6; color: #D0D0D0; width: 5; casing-width: 1; }
way[highway=residential]                            { z-index: 5; color: #E8E8E8; width: 5; casing-color: gray; casing-width: 1; }
way[highway=service][service!=parking_aisle]        { z-index: 5; color: white; width: 3; casing-color: gray; casing-width: 1; }
way[highway=service][service=parking_aisle]         { z-index: 5; color: white; width: 1; casing-color: #aaaaaa; casing-width: 1; }
way[highway=service][service=alley]                 { z-index: 5; color: white; width: 2; dashes: 6,2; casing-color: black; casing-width: 1; }
way[highway=road]                                   { z-index: 5; color: gray; width: 5; casing-color: white; casing-width: 1; }
way[highway=living_street]                          { z-index: 5; color: #ddffee; width: 3; casing-color: #555555; casing-width: 1; }

/* Road areas */

way[highway=pedestrian]!:closed { z-index: 5; color: #ddddee; width: 5; casing-color: #555555; casing-width: 1; casing-dashes: 2,4;}
area[highway=pedestrian]:closed  { color: #555555; width: 1; fill-color: #ddddee; fill-opacity: 0.8; } /* FIXME: dashed outline */

/* Paths */

way[highway=steps]     { z-index: 5; color: #FF6644; width: 6; dashes: 2, 2; }
way[highway=footway]   { z-index: 5; color: #FF6644; width: 2; dashes: 6, 3; prop_path : 1;}
way[highway=footway][bicycle=yes]::bike   { z-index: 4; color: blue; width: 1; }
way[highway=bridleway] { z-index:9; color: #996644; width: 2; dashes: 4, 2, 2, 2; prop_path : 1;}
way[highway=track]     { z-index: 5; color: #996644; width: 2; dashes: 4, 2; prop_path : 1;}
way[highway=path]      { z-index: 5; color: brown; width: 2; dashes: 2, 2; prop_path : 1;}
way[highway=cycleway]  { z-index: 5; color: blue; width: 2; dashes: 4, 2; prop_path : 1;}
way[is_prop_set("prop_path")]  { z-index: 5; text: auto; text-color: black; text-position: line; text-offset: 7; font-size: 12; }

/* Under construction */

way[highway=proposed] { z-index: 5; color: #88ffff; width: 6; dashes: 8, 4; }
way[highway=construction] { z-index: 5; color: #ffffbb; width: 6; dashes: 8, 4; casing-color: #0000aa; casing-width: 1; casing-dashes: 8,4;}

/* Railways */

way[railway=rail] { z-index: 6; color: black; width: 5; linecap: round; dashes: 0; }
way[railway=rail]::dashes { z-index: 7; color: white; width: 3; dashes: 12,12; linecap: round; }

way[construction=rail] { z-index: 6; color: black; width: 5; dashes: 6, 6, 4, 8;}
way[construction=rail]::inner { z-index: 7; color: white; width: 3; dashes: 6,18; }

way[railway=platform] { z-index: 5; color:black; width: 2; }

way[railway=subway] { z-index: 6; color: #444444; width: 5; }
way[railway=subway]::dashes  { z-index: 7; color: white; width: 3; dashes: 8,8; }

way[construction=subway] { z-index: 6; color: #444444; width: 5; dashes: 4, 4; }
way[construction=subway]::dashes  { z-index: 7; color: white; width: 3; dashes: 4,12;}

way[railway=disused][!highway],way[railway=abandoned][!highway] { z-index: 6; color: #444400; width: 3; dashes: 17, 2, 5, 0; }
way[railway=disused][!highway]::dashes,way[railway=abandoned][!highway]::dashes { z-index: 7; color: #999999; width: 2; dashes: 12,12; }

way[railway=tram]      { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; }
way[construction=tram] { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; dashes: 6, 6; casing-dashes: 6, 6; }

way[railway=light_rail] { z-index: 6; color: black; width: 4; }
way[railway=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,4; }

way[construction=light_rail] { z-index: 6; color: black; width: 4; dashes: 8, 4, 4, 4; }
way[construction=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,12; }

/* Waterways */ 

way[waterway=river], 
way[waterway=canal], 
way[waterway=stream]   { z-index: 5; color: #3434ff; width: 2; text:auto; text-color: #3434ff; font-size:9; text-position: line; text-offset: 7;}
way[waterway=drain]              {z-index: 5; color: #3434ff; width: 1; text:auto; text-color: #3434ff; text-position: line; text-offset: 3;}
way[waterway][tunnel=yes]                {z-index: 5; dashes: 8,4;}

/* Aeroways */

way[aeroway=aerodrome]:closed
    { z-index: 3; color: #bb44bb; width: 3; casing-color: #660066;  casing-width: 1;  }
way[aeroway=taxiway]!:closed { z-index: 8; color: #999999; width: 3; casing-color: #aa66aa; casing-width: 2; }
area[aeroway=taxiway]:closed { z-index: 8; color: #bb99bb; width: 3; fill-color: #ccaacc; } 

way[aeroway=runway]!:closed { z-index: 9; color: black; width: 5;  }
way[aeroway=runway]!:closed::aa { z-index: 12; color: white; width: 5;  dashes: 0, 20, 4, 76; }
way[aeroway=runway]!:closed::bb { z-index: 13; color: black; width: 3; }
way[aeroway=runway]!:closed::cc { z-index: 14; color: white; width: 1;  dashes: 4, 16; }

area[aeroway=runway]:closed { z-index: 9; color: black; width: 3; fill-color: #775577; } 
area[aeroway=apron]:closed { z-index: 4; color: #cc66cc; width: 1; fill-color: #ddaadd; fill-opacity: 0.5;} 

/* Barriers */

way[barrier] {z-index: 5; color: #000000; width: 1}
way[barrier=fence] {z-index: 5; color: #000000; width: 1; dashes: 8,4,2,4; }

/* Power */

way[power=line] {z-index: 5; color: darkgray; width: 3; dashes: 12,2; casing-color: black; casing-width: 2; casing-dashes: 4, 38;}
way[power=minor_line] {z-index: 5; color: gray; width: 2; dashes: 2,4; casing-width: 3; casing-color: white; casing-dashes: 2,22;}
area[power=station]:closed { color: black; width: 2; fill-color: #666666; fill-opacity: 0.6; prop_area_small_name : 1;}
area[power=generator]:closed { color: black; width: 2; fill-color: #444444; fill-opacity: 0.6; prop_area_small_name : 1;}

/* Leisure */

way[golf=hole] {z-index: 5; color: darkgreen; width: 5; casing-color: green; casing-width: 2; }
area[leisure=sports_centre]:closed { color: #66ddcc; fill-color: #66ddcc; prop_area_small_name : 1; }


/* Physical decoration */

way[bridge=yes]::bridge1, way[bridge=viaduct]::bridge1, way[bridge=suspension]::bridge1 { z-index: 4; color: white; width: +3; }
way[bridge=yes]::bridge2, way[bridge=viaduct]::bridge2, way[bridge=suspension]::bridge2 { z-index: 3; color: #444444; width: +6; }
way[tunnel=yes][!waterway]::bridge1 { z-index: 4; color: white; width: +2; }
way[tunnel=yes][!waterway]::bridge2 { z-index: 3; color: black; width: +6; dashes: 4,4; }

/* Attribute decoration */

/*way[oneway=yes]::arrows, way[junction=roundabout]::arrows { z-index: 15; color: #555555; width: 2; dashes: 10,50; line-style: arrows; }
way[oneway=-1]::arrows { z-index: 15; color: #555555; width: 2; dashes: 10,50; line-style: arrows-reversed; }*/

/****************
 * core_pois.css
 ****************/

node { text-anchor-horizontal: center; text-anchor-vertical: below; }

node[place] { icon-image: "icons/place.svg"; font-family: DejaVu; text: auto; font-size: 10; font-weight: bold; z-index: 20; }
node[amenity=telephone] { icon-image: "icons/telephone.svg"; z-index: 20; }
node[barrier=cattle_grid] { icon-image: "icons/cattle_grid.svg"; z-index: 20; }
node[tourism=guesthouse] { icon-image: "icons/accommodation_bed_and_breakfast.n.svg"; z-index: 20; }
node[tourism=alpine_hut] { icon-image: "icons/accommodation_alpinehut.n.svg"; z-index: 20; }
node[tourism=camp_site] { icon-image: "icons/accommodation_camping.n.svg"; z-index: 20; }
node[tourism=caravan_site] { icon-image: "icons/accommodation_caravan_park.n.svg"; z-index: 20; }
node[tourism=chalet] { icon-image: "icons/accommodation_chalet.n.svg"; z-index: 20; }
node[tourism=guest_house],node[tourism=bed_and_breakfast] { icon-image: "icons/accommodation_bed_and_breakfast.n.svg"; z-index: 20; }
node[tourism=hotel] { icon-image: "icons/accommodation_hotel.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[tourism=hostel] { icon-image: "icons/accommodation_youth_hostel.n.svg"; z-index: 20; }
node[tourism=motel] { icon-image: "icons/accommodation_motel.n.svg"; z-index: 20; }
node[amenity=fire_station] { icon-image: "icons/amenity_firestation2.n.svg"; z-index: 20; }
node[amenity=police] { icon-image: "icons/amenity_police2.n.svg"; z-index: 20; }
node[amenity=post_box] { icon-image: "icons/amenity_post_box.n.svg"; z-index: 20; }
node[amenity=recycling] { icon-image: "icons/amenity_recycling.n.svg"; z-index: 20; }
node[barrier=bollard] { icon-image: "icons/barrier_bollard.n.svg"; z-index: 20; }
node[barrier=gate], node[highway=gate] { icon-image: "icons/barrier_gate.n.svg"; z-index: 20; }
node[barrier=stile], node[highway=stile] { icon-image: "icons/barrier_stile.n.svg"; z-index: 20; }
node[barrier=toll_booth] { icon-image: "icons/barrier_toll_booth.n.svg"; z-index: 20; }
node[barrier=lift_gate] { icon-image: "icons/barrier_lift_gate.n.svg"; z-index: 20; }
node[barrier=kissing_gate] { icon-image: "icons/barrier_kissing_gate.svg"; z-index: 20; }
node[barrier=cycle_barrier] { icon-image: "icons/barrier_cycle_barrier.svg"; z-index: 20; }
node[barrier=block] { icon-image: "icons/barrier_blocks.svg"; z-index: 20; }
node[barrier=cattle_grid] { icon-image: "icons/barrier_cattle_grid.svg"; z-index: 20; }
node[amenity=school] { icon-image: "icons/education_school.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
area[amenity=school]:closed { color: yellow; fill-color: yellow; fill-opacity: 0.1; prop_area_small_name : 1; }
node[amenity=bar] { icon-image: "icons/food_bar.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=cafe] { icon-image: "icons/food_cafe.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=fast_food] { icon-image: "icons/food_fastfood.n.svg"; z-index: 20; }
node[amenity=nightclub] { icon-image: "icons/food_nightclub.n.svg"; text-offset: 0; text: auto; font-size: 10; z-index: 20; }
node[amenity=pub] { icon-image: "icons/food_pub.n.svg"; text-offset: 0; text: auto; font-size: 10; z-index: 20; }
node[amenity=restaurant] { icon-image: "icons/food_restaurant.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=hospital] { icon-image: "icons/health_hospital.n.svg"; z-index: 20; }
node[amenity=pharmacy] { icon-image: "icons/health_pharmacy.n.svg"; z-index: 20; }
node[emergency=defibrillator] { icon-image: "icons/ISO_7010_E010.svg"; z-index: 20; }
node[amenity=atm] { icon-image: "icons/money_atm.n.svg"; z-index: 20; }
node[amenity=bank] { icon-image: "icons/money_bank2.n.svg"; z-index: 20; }
/* More Amenities */
node[amenity=bench] { icon-image: "icons/amenity_bench.n.svg"; z-index: 20; }
node[amenity=drinking_water] { icon-image: "icons/food_drinkingtap.n.svg"; z-index: 20; }
node[amenity=emergency_phone] { icon-image: "icons/emergency-telephone.svg"; z-index: 20; }
node[emergency=phone] { icon-image: "icons/emergency-telephone.svg"; z-index: 20; }
node[amenity=fountain] { icon-image: "icons/amenity_fountain2.n.svg"; z-index: 20; }
node[amenity=hunting_stand] { icon-image: "icons/sport_shooting.n.svg"; z-index: 20; }
node[amenity=kindergarten] { icon-image: "icons/education_nursery3.n.svg"; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=library] { icon-image: "icons/amenity_library.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
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; }
node[amenity=post_office] { icon-image: "icons/amenity_post_office.n.svg"; z-index: 20; }
node[amenity=shelter] { icon-image: "icons/accommodation_shelter2.n.svg"; z-index: 20; }
node[leisure=swimming_pool] { icon-image: "icons/sport_swimming_outdoor.n.svg"; z-index: 20; }
node[amenity=townhall] { icon-image: "icons/amenity_town_hall.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=toilets] { icon-image: "icons/amenity_toilets.n.svg"; z-index: 20; }
node[amenity=vending_machine] { icon-image: "icons/shopping_vending_machine.n.svg"; z-index: 20; }
node[amenity=veterinary] { icon-image: "icons/health_veterinary.n.8E7409.svg"; z-index: 20; }
node[amenity=waste_basket] { icon-image: "icons/amenity_waste_bin.n.svg"; z-index: 20; }
node[emergency=fire_hydrant] { icon-image: "icons/emergency_hydrant.svg"; z-index: 20; }
/* Shops */
node[shop=alcohol] { icon-image: "icons/shopping_alcohol.n.svg"; z-index: 20; }
node[shop=bakery] { icon-image: "icons/shopping_bakery.n.svg"; z-index: 20; }
node[shop=bicycle] { icon-image: "icons/shopping_bicycle.n.svg"; z-index: 20; }
node[shop=book], node[shop=books] { icon-image: "icons/shopping_book.n.svg"; z-index: 20; }
node[shop=butcher] { icon-image: "icons/shopping_butcher.n.svg"; z-index: 20; }
node[shop=car_repair] { icon-image: "icons/shopping_car_repair.n.svg"; z-index: 20; }
node[shop=car] { icon-image: "icons/shopping_car.n.svg"; z-index: 20; }
node[shop=clothes] { icon-image: "icons/shopping_clothes.n.svg"; z-index: 20; }
node[shop=confectionery] { icon-image: "icons/shopping_confectionery.n.svg"; z-index: 20; }
node[shop=convenience] { icon-image: "icons/shopping_convenience.n.svg"; z-index: 20; }
node[shop=department_store] { icon-image: "icons/shopping_department_store.n.svg"; z-index: 20; }
node[shop=doityourself] { icon-image: "icons/shopping_diy.n.svg"; z-index: 20; }
node[shop=fishmonger] { icon-image: "icons/shopping_fish.n.svg"; z-index: 20; }
node[shop=florist] { icon-image: "icons/shopping_florist.n.svg"; z-index: 20; }
node[shop=garden_centre] { icon-image: "icons/shopping_garden_centre.n.svg"; z-index: 20; }
node[shop=gift] { icon-image: "icons/shopping_gift.n.svg"; z-index: 20; }
node[shop=greengrocer] { icon-image: "icons/shopping_greengrocer.n.svg"; z-index: 20; }
node[shop=hairdresser] { icon-image: "icons/shopping_hairdresser.n.svg"; z-index: 20; }
node[shop=hifi] { icon-image: "icons/shopping_hifi.n.svg"; z-index: 20; }
node[shop=jewelry] { icon-image: "icons/shopping_jewelry.n.svg"; z-index: 20; }
node[shop=kiosk] { icon-image: "icons/shopping_kiosk.n.svg"; z-index: 20; }
node[shop=laundry] { icon-image: "icons/shopping_laundrette.n.svg"; z-index: 20; }
node[amenity=marketplace] { icon-image: "icons/shopping_marketplace.n.svg"; z-index: 20; }
node[shop=motorcycle] { icon-image: "icons/shopping_motorcycle.n.svg"; z-index: 20; }
node[shop=music] { icon-image: "icons/shopping_music.n.svg"; z-index: 20; }
node[shop=supermarket] { icon-image: "icons/shopping_supermarket.n.svg"; z-index: 20; }
node[shop=toys] { icon-image: "icons/shopping_toys.n.svg"; z-index: 20; }
/* More Touristy Items */
node[tourism=artwork] { icon-image: "icons/tourist_art_gallery2.n.svg"; z-index: 20; }
node[historic=archaeological_site] { icon-image: "icons/tourist_archaeological.n.svg"; z-index: 20; }
node[historic=battlefield] { icon-image: "icons/tourist_battlefield.n.svg"; z-index: 20; }
node[historic=castle] { icon-image: "icons/tourist_castle.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[amenity=cinema] { icon-image: "icons/tourist_cinema.n.svg"; z-index: 20; }
node[historic=memorial] { icon-image: "icons/tourist_memorial.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[historic=monument] { icon-image: "icons/tourist_monument.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[tourism=museum] { icon-image: "icons/tourist_museum.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[tourism=information] { icon-image: "icons/tourist_information.svg"; z-index: 20; }
node[tourism=picnic_site] { icon-image: "icons/tourist_picnic.n.svg"; z-index: 20; }
node[historic=ruins] { icon-image: "icons/tourist_ruin.n.svg"; z-index: 20; }
node[amenity=theatre] { icon-image: "icons/tourist_theatre.n.svg"; z-index: 20; }
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; }
node[tourism=viewpoint] { icon-image: "icons/tourist_view_point.n.svg"; z-index: 20; }
node[tourism=zoo] { icon-image: "icons/tourist_zoo.n.svg"; z-index: 20; }
/* Transport */
node[aeroway=aerodrome] { icon-image: "icons/transport_aerodrome.n.svg"; z-index: 20; }
node[aeroway=gate] { icon-image: "icons/transport_airport_gate.n.svg"; z-index: 20; }
node[aeroway=terminal] { icon-image: "icons/transport_airport_terminal.n.svg"; z-index: 20; }
node[aeroway=helipad] { icon-image: "icons/transport_helicopter_pad.n.svg"; z-index: 20; }
node[amenity=bus_station] { icon-image: "icons/transport_bus_station.n.svg"; z-index: 20; }
node[highway=bus_stop] { icon-image: "icons/transport_bus_stop2.n.svg"; z-index: 20; }
node[amenity=fuel] { icon-image: "icons/transport_fuel.n.svg"; z-index: 20; }
node[amenity=car_wash] { icon-image: "icons/transport_car_wash.svg"; z-index: 20; }
node[amenity=bicycle_parking] { icon-image: "icons/transport_parking_bicycle.n.svg"; text-offset:0; text: capacity; font-size: 10; z-index: 20; }
node[amenity=parking] { icon-image: "icons/transport_parking_car.n.svg"; z-index: 20; }
node[amenity=ferry_terminal] { icon-image: "icons/transport_port.n.svg"; z-index: 20; }
node[amenity=bicycle_rental] { icon-image: "icons/transport_rental_bicycle.n.svg"; z-index: 20; }
node[amenity=car_rental] { icon-image: "icons/transport_rental_car.n.svg"; z-index: 20; }
node[amenity=taxi] { icon-image: "icons/transport_taxi_rank.n.svg"; z-index: 20; }
node[railway=station] { icon-image: "icons/transport_train_station.n.svg"; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[railway=tram_stop] { icon-image: "icons/transport_tram_stop.n.svg"; z-index: 20; }
node[leisure=marina] { icon-image: "icons/transport_marina.n.svg"; z-index: 20; }
node[highway=mini_roundabout] { icon-image: "icons/transport_miniroundabout_anticlockwise.n.svg"; z-index: 20; }
node[highway=crossing] { icon-image: "icons/transport_zebracrossing.svg"; z-index: 20; }
/* Misc */
node[leisure=playground] { icon-image: "icons/amenity_playground.n.svg"; z-index: 20; }
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; }
/* node[landuse=cemetery], node[landuse=grave_yard] { i|||con-image: icons/?.svg; z-index: 20; } */
node[man_made=survey_point] { icon-image: "icons/manmade_lighthouse.svg"; z-index: 20; }
node[man_made=tower] { icon-image: "icons/manmade_tower.svg"; z-index: 20; }
/* Yes these power stations seem a little backward - but that's seemingly what the side menu uses ATM */
node[power=station] { icon-image: "icons/power_substation.n.svg"; z-index: 20; }
node[power=generator] { icon-image: "icons/power_station.svg"; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; }
/* 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 */
node[power=tower] { icon-image: "icons/power_tower_high2.n.svg"; z-index: 20; }
node[power=pole] { icon-image: "icons/power_tower_low.n.svg"; z-index: 20; }
node[waterway=weir] { icon-image: "icons/transport_weir.svg"; z-index: 20; }
/* Natural */
node[natural=peak] { icon-image: "presets/landmark/peak.svg"; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; }
node[natural=tree] { icon-image: "icons/natural_tree.svg"; z-index: 20; text-offset:0; text: auto; font-size: 10; z-index: 20; }

/* Addressing */

node[addr:housenumber],
node[addr:housename] { symbol-shape: circle; symbol-size: 8; symbol-fill-color: #B0E0E6; }
node[addr:housenumber]::hn_casing,
node[addr:housename]::hn_casing { z-index: -100; symbol-shape: circle; symbol-size: 10; symbol-fill-color: blue; }

way[addr:interpolation] { color: #B0E0E6; width: 3; dashes: 3,3;}
/****************
 * core_landuse.css
 ****************/

/* Landuse */

area[natural]:closed                          { color: #ADD6A5; width: 1; fill-color: #ADD6A5; fill-opacity: 0.2; }
area[natural=beach]:closed                    { color: #ffdd44; width: 1; fill-color: yellow; fill-opacity: 0.2; prop_area_small_name : 1;}
way[natural=coastline]                        { z-index: 5; color: black; width: 3; }
area[landuse]:closed                          { color: #444444; width: 2; fill-color: #444444; fill-opacity: 0.3; }
area[landuse=residential]:closed              { color: #666666; width: 2; fill-color: #666666; fill-opacity: 0.15; }
area[landuse=retail]:closed                   { color: #cc2222; width: 2; fill-color: #aa4422; fill-opacity: 0.15; }
area[landuse=commercial]:closed               { color: #4444bb; width: 2; fill-color: #444488; fill-opacity: 0.15; }
area[landuse=military]:closed                 { color: #ff4444; width: 2; fill-color: #ff4444; fill-opacity: 0.2; prop_area_small_name : 1; }
area[amenity]:closed, area[shop]:closed       { color: #ADCEB5; width: 1; fill-color: #ADCEB5; fill-opacity: 0.2; }
/* way[sport] should not be rendered by itself, according to wiki. Can we make it an "if all else fails"? */
area[leisure]:closed                          { color: #8CD6B5; width: 1; fill-color: #8CD6B5; fill-opacity: 0.2; }
area[tourism]:closed                          { color: #F7CECE; width: 1; fill-color: #F7CECE; fill-opacity: 0.2; prop_area_small_name : 1;}
area[historic]:closed, area[ruins]:closed     { color: #F7F7DE; width: 1; fill-color: #F7F7DE; fill-opacity: 0.2; prop_area_small_name : 1;}
area[military]:closed                         { color: #D6D6D6; width: 1; fill-color: #D6D6D6; fill-opacity: 0.2; prop_area_small_name : 1;}
area[building]:closed                         { color: #bca9a9; width: 1; fill-color: #ff6ec7; fill-opacity: 0.2; }
area[natural=water]:closed,
area[waterway][waterway!=dam]:closed          { color: #3434ff;    width: 2; fill-color: #3434ff;    fill-opacity: 0.2; prop_area_small_name : 1;}
way[waterway=dam]!:closed                     { z-index: 5; color: black; width: 3; }
area[waterway=dam]:closed                     { z-index: 5; color: black; width: 1; fill-color: #222222; fill-opacity: 0.1; prop_area_small_name : 1;}
area[man_made]:closed                         { color: black; width: 2; fill-color: #222222; fill-opacity: 0.1; prop_area_small_name : 1; }
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; }
area[landuse=reservoir]:closed                { color: #3434ff;    width: 2; fill-color: #3434ff;    fill-opacity: 0.2; prop_area_small_name : 1;}
area[landuse=forest]:closed, area[natural=wood]:closed { color: green;   width: 2; fill-color: green;   fill-opacity: 0.2; prop_area_small_name : 1;}
area[leisure=park]:closed                     { color: #22aa22; width: 2; fill-color: #44ff44; fill-opacity: 0.15; prop_area_small_name : 1;}
area[leisure=garden]:closed                   { color: #66ff44; width: 1; fill-color: #66ff44; fill-opacity: 0.2; prop_area_small_name : 1;}
area[leisure=pitch]:closed                    { z-index: 6; color: #88bb44; width: 2; fill-color: #88ff44; fill-opacity: 0.2; prop_area_small_name : 1;}
area[landuse=recreation_ground]:closed        { color: green; fill-color: green; prop_area_small_name : 1;}
area[amenity=parking]:closed                  { color: #bbaa66;    width: 1; fill-color: #bbaa66;    fill-opacity: 0.2; }
area[public_transport=pay_scale_area]:closed  { color: gray;    width: 1; fill-color: gray;    fill-opacity: 0.1; }
way[man_made=pier]                                                      { z-index: 4; color: #777; width: 3; casing-color: black; casing-width: 1;}
way[man_made=pier][floating=yes]                        { z-index: 5; dashes: 4,2; casing-color: #444;}
area[leisure=marina]:closed                                     { color: pink; fill-color: pink; fill-opacity: 0.4; prop_area_small_name : 1;}
way[leisure=slipway]                                            { z-index: 5; color: grey; width: 3; casing-color: #3434ff; casing-width: 2; }
area[leisure=golf_course]:closed { color: #44ee22; width: 2; fill-color: #44ee22; fill-opacity: 0.2; prop_area_small_name : 1;}
way[boundary]                               { z-index: 5; color: #000066; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;}
/* Perhaps should be filled, on lower zooms. */
way[boundary=national_park]                 { z-index: 5; color: #225500; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;}
way[boundary=protected_area]                { z-index: 5; color: #447744; width: 2; opacity: 0.6; dashes: 12,4, 4, 4; z-index: 4;}
way[boundary=administrative]                { z-index: 5; color: purple; width: 2; opacity: 0.2; dashes: 24,4; z-index: 4;}
way[boundary=administrative][waterway]      { z-index: 5; opacity: 0.8; z-index: 4; dashes: 24,4; width: 6; }
area[landuse=cemetery]:closed                                           { color: #664466; width: 2; fill-color: #664466; opacity: 0.2; prop_area_small_name : 1;}
/* Addressing. Nodes with addresses *and* match POIs should have a poi icon, so we put addressing first */
/* Route relations */

relation[type=route] > way::route { z-index: -1; width: 13; color: blue; opacity: 0.3; linecap: none; }
relation[type=route][route=bicycle][network=ncn] > way::route { z-index: -1; width: 12; color: red; opacity: 0.3; linecap: none; }
relation[type=route][route=bicycle][network=rcn] > way::route { z-index: -1; width: 12; color: cyan; opacity: 0.3; linecap: none; }
relation[type=route][route=bicycle][network=lcn] > way::route { z-index: -1; width: 12; color: blue; opacity: 0.3; linecap: none; }
relation[type=route][route=mtb] > way::route { z-index: -1; width: 12; color: brown; opacity: 0.3; linecap: none; }
relation[type=route][route=foot] > way::route { z-index: -1; width: 10; color: #80ff80; opacity: 0.6; linecap: none; }

/*@import("stylesheets/core_ways.css");*/
/*@import("stylesheets/core_pois.css");*/
/*@import("stylesheets/core_landuse.css");*/
/*@import("stylesheets/core_relations.css");*/
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;}
/*@import("stylesheets/core_interactive.css");*/

/* Rendering for licence status */

/*way[_status=no]::status       { z-index: 0; width: eval('_width+7'); color: #AA0000; }
way[_status=partial]::status  { z-index: 0; width: eval('_width+7'); color: #AA0000; opacity: 0.6; }
way[_status=unsure]::status   { z-index: 0; width: eval('_width+7'); color: darkorange; opacity: 0.6; }
node[_status=no]::status      { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: #AA0000; }
node[_status=partial]::status { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: #AA0000; opacity: 0.6; }
node[_status=unsure]::status  { z-index: 0; i|||con-image: square; icon-width: eval('_width+7'); color: darkorange; opacity: 0.6; }*/

Styles_Potlatch2-style.mapcss, Styles_Potlatch2.zip

Last modified 2 months ago Last modified on 2024-09-01T11:05:38+02:00

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.