-# Terrain environment map demo
+# Walkabout is an outdoor style perfect for hiking or getting out and about, with
+# mountains, ski trails, biking paths, and transit stops.
+#
+# Give OpenStreetMap data a professional basemap skin using the Tangram graphics library
+# and Mapzen's versatile Vector Tiles.
+#
+# Please use and adapt the open source scene file in your own projects!
+#
+# Authors: Geraldine Sarmiento, Nathaniel V. Kelso
+# Read more: https://github.com/tangrams/walkabout-style
+#
+
+global:
+ #ux/ui
+ #
+ # missing language
+ # missing transit overlay
+ #
+ # To facilitate data visualizations several recommended sort orders are provided
+ #
+ # Your classic raster map overlay.
+ # Over all line and polygon features.
+ # Under map labels (icons and text), under UI elements
+ # (like routeline and search result pins).
+ sdk_order_over_everything_but_text_0: 490
+ sdk_order_over_everything_but_text_1: 491
+ sdk_order_over_everything_but_text_2: 492
+ sdk_order_over_everything_but_text_3: 493
+ sdk_order_over_everything_but_text_4: 494
+ sdk_order_over_everything_but_text_5: 495
+ sdk_order_over_everything_but_text_6: 496
+ sdk_order_over_everything_but_text_7: 497
+ sdk_order_over_everything_but_text_8: 498
+ sdk_order_over_everything_but_text_9: 499
+ #
+ # Your classic "underlay"
+ # Under roads. Above borders, water, landuse, and earth.
+ sdk_order_under_roads_0: 290
+ sdk_order_under_roads_1: 291
+ sdk_order_under_roads_2: 292
+ sdk_order_under_roads_3: 293
+ sdk_order_under_roads_4: 294
+ sdk_order_under_roads_5: 295
+ sdk_order_under_roads_6: 296
+ sdk_order_under_roads_7: 297
+ sdk_order_under_roads_8: 298
+ sdk_order_under_roads_9: 299
+ #
+ # Under water.
+ # Above earth and most landuse.
+ sdk_order_under_water_0: 190
+ sdk_order_under_water_1: 191
+ sdk_order_under_water_2: 192
+ sdk_order_under_water_3: 193
+ sdk_order_under_water_4: 194
+ sdk_order_under_water_5: 195
+ sdk_order_under_water_6: 196
+ sdk_order_under_water_7: 197
+ sdk_order_under_water_8: 198
+ sdk_order_under_water_9: 199
+ #
+ # Under everything.
+ # Tip: disable earth layer.
+ sdk_order_under_everything_0: 0
+ sdk_order_under_everything_1: 1
+ sdk_order_under_everything_2: 2
+ sdk_order_under_everything_3: 3
+ sdk_order_under_everything_4: 4
+ sdk_order_under_everything_5: 5
+ sdk_order_under_everything_6: 6
+ sdk_order_under_everything_7: 7
+ sdk_order_under_everything_8: 8
+ sdk_order_under_everything_9: 9
+ #
+ # default order for basemap features
+ feature_order: function() { return feature.sort_rank; }
+ #
+ # TODO: YAML based globals below will move into this Tangram globals block
labels-global:
- &text_visible_continent true
- &text_visible_address true
- &text_visible_water_labels true
- &label_visible_landuse_green true
- - &icon_visible_landuse_green true
+ - &icon_visible_landuse_green true #this needs work
- &text_visible_landuse_green true
- &label_visible_poi_landuse true
- - &icon_visible_poi_landuse true
- - &text_visible_poi_landuse true
+ - &icon_visible_poi_landuse false #false for default
+ - &text_visible_poi_landuse false #false for default
- &label_visible_poi_landuse_e true
- - &icon_visible_poi_landuse_e true
+ - &icon_visible_poi_landuse_e false #false for default
- &text_visible_poi_landuse_e true
- - &label_visible_station true
- - &icon_visible_station true
- - &text_visible_station true
+ - &label_visible_station false #false for default
+ - &icon_visible_station false #false for default
+ - &text_visible_station false #false for default
- &text_visible_highway true
- - &text_visible_highway_e true
+ - &text_visible_highway_e false #false for default
- &text_visible_trunk_primary true
- - &text_visible_trunk_primary_e2 true
- - &text_visible_trunk_primary_e true
+ - &text_visible_trunk_primary_e2 false #false for default
+ - &text_visible_trunk_primary_e false #false for default
- &text_visible_secondary true
- - &text_visible_secondary_e true
+ - &text_visible_secondary_e false #false for default
- &text_visible_tertiary true
- - &text_visible_tertiary_e true
+ - &text_visible_tertiary_e false #false for default
- &text_visible_minor_road true
- &text_visible_minor_road_e true
- &text_visible_service_road true
- &text_visible_piste true
- &text_visible_steps true
- &text_visible_aerialway true
- - &text_visible_shields false
+ - &text_visible_shields true
- &text_visible_exits true
- - &text_visible_exits_e true
+ - &text_visible_exits_e false #false for default
- &text_visible_airport_gate true
settings:
- &grey12 '#cfcfcf' # generic minor amusements (roller coasters, rides, slide, carousel)
- &grey12_o '#c5c5c5' # generic minor amusements
- &purple '#f0e1e1' # airport
- - &purple_v false # airport
+ - &purple_v true # airport
- &mystry1 '#aaaaaa' # recreation ground (type of park, sometimes around reservoirs)
- &building1 white # building
- &building2 white # building stroke
color: [0.894,0.902,0.898]
# animated: true
+fonts:
+ Montserrat:
+ url: https://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff
+
textures:
pois:
url: images/poi_icons_18@2x.png
filtering: mipmap
sprites:
# define sprites: [x origin, y origin, width, height]
+ 'US:CA_1char': [220, 606, 82, 92]
+ 'US:CA_2char': [120, 606, 94, 94]
+ 'US:CA_3char': [0, 606, 112, 92]
+ 'US:CA_4char': [808, 510, 124, 92]
+ 'US:CA_5char': [672, 510, 128, 92]
+ 'US:I_1char': [0, 710, 90, 100]
+ 'US:I_2char': [138, 314, 102, 102]
+ 'US:I_3char': [0, 314, 132, 100]
+ 'US:I_4char': [756, 210, 140, 100]
+ 'US:I_5char': [596, 210, 152, 100]
+ 'US:NY_1char': [768, 418, 72, 88]
+ 'US:NY_2char': [112, 418, 88, 88]
+ 'US:NY_3char': [0, 418, 104, 86]
+ 'US:NY_4char': [896, 314, 116, 86]
+ 'US:NY_5char': [768, 314, 120, 86]
+ 'US:PA_1char': [688, 418, 72, 88]
+ 'US:PA_2char': [592, 418, 88, 88]
+ 'US:PA_3char': [472, 418, 112, 88]
+ 'US:PA_4char': [344, 418, 120, 88]
+ 'US:PA_5char': [208, 418, 128, 88]
+ 'US:US_1char': [900, 606, 88, 94]
+ 'US:US_2char': [788, 608, 106, 94]
+ 'US:US_3char': [642, 606, 138, 100]
+ 'US:US_4char': [478, 606, 158, 100]
+ 'US:US_5char': [308, 606, 164, 100]
airport: [952, 0, 38, 38]
- allotments: [552, 252, 38, 38]
+ aerodrome: [952, 0, 38, 38]
+ allotments: [46, 814, 38, 38]
aquarium: [916, 168, 38, 38]
art-gallery: [824, 168, 38, 38]
+ art_gallery: [824, 168, 38, 38]
+ art: [824, 168, 38, 38]
athletics-sports: [368, 168, 38, 38]
+ pitch: [368, 168, 38, 38]
+ athletic_sports: [368, 168, 38, 38]
+ recreation_ground: [368, 168, 38, 38]
atm: [92, 168, 38, 38]
- attraction: [550, 210, 38, 36]
+ attraction: [550, 210, 38, 38]
automotive-shop: [184, 168, 38, 38]
+ car_repair: [184, 168, 38, 38]
+ automotive: [184, 168, 38, 38]
+ tyres: [184, 168, 38, 38]
bakery: [732, 168, 38, 38]
- bank: [138, 168, 38, 36]
+ pastry: [732, 168, 38, 38]
+ chocolate: [732, 168, 38, 38]
+ bank: [138, 168, 38, 38]
bar: [414, 168, 38, 38]
+ pub: [414, 168, 38, 38]
baseball-field: [690, 84, 38, 38]
basketball-court: [644, 84, 38, 38]
- battlefield: [826, 210, 38, 38]
- bbq: [230, 252, 38, 38]
+ battlefield: [324, 710, 38, 38]
+ bbq: [738, 710, 38, 38]
beach: [828, 84, 38, 38]
- beach-resort: [734, 210, 38, 38]
+ beach-resort: [232, 710, 38, 38]
+ beach_resort: [232, 710, 38, 38]
beer-garden: [458, 210, 38, 38]
+ biergarten: [458, 210, 38, 38]
+ brewery: [458, 210, 38, 38]
bench: [630, 0, 38, 38]
bicycle-parking: [828, 126, 38, 38]
bike-shop: [46, 168, 38, 38]
+ bicycle: [46, 168, 38, 38]
+ bicycle_rental: [46, 168, 38, 38]
+ bike: [46, 168, 38, 38]
+ bike_shop: [46, 168, 38, 38]
boat-ferry: [906, 0, 38, 38]
- boat-ramp: [276, 84, 40, 38]
- boat-rental: [598, 252, 38, 38]
+ ferry_terminal: [906, 0, 38, 38]
+ ferry-boat: [906, 0, 38, 38]
+ ferry: [906, 0, 38, 38]
+ boat-ramp: [276, 84, 38, 38]
+ slipway: [276, 84, 38, 38]
+ boat_ramp: [276, 84, 38, 38]
+ boat-rental: [92, 814, 38, 38]
+ boat_rental: [92, 814, 38, 38]
bookstore: [0, 168, 38, 38]
+ books: [0, 168, 38, 38]
bridge: [92, 126, 38, 38]
buddhism: [966, 84, 38, 38]
- building: [598, 168, 34, 34]
+ building: [598, 168, 38, 38]
+ auditorium: [598, 168, 38, 38]
+ terminal: [598, 168, 38, 38]
+ hangar: [598, 168, 38, 38]
+ retirement_home: [598, 168, 38, 38]
+ manor: [598, 168, 38, 38]
+ recreation_center: [598, 168, 38, 38]
+ apartments: [598, 168, 38, 38]
burger: [320, 210, 38, 38]
+ fast_food: [320, 210, 38, 38]
bus-station: [860, 0, 38, 38]
+ bus_stop: [860, 0, 38, 38]
+ bus_station: [860, 0, 38, 38]
butcher: [46, 84, 38, 38]
campground: [0, 126, 38, 38]
+ camp_site: [0, 126, 38, 38]
+ caravan_site: [0, 126, 38, 38]
candy-store: [182, 210, 38, 38]
- capital-l: [146, 294, 16, 16]
- capital-m: [126, 294, 12, 12]
- capital-s: [106, 294, 10, 10]
- capital-xl: [170, 294, 20, 20]
- capital-xs: [92, 294, 8, 8]
+ candy: [182, 210, 38, 38]
+ confectionery: [182, 210, 38, 38]
+ capital-l: [652, 814, 16, 16]
+ capital-m: [632, 814, 12, 12]
+ capital-s: [612, 814, 10, 10]
+ capital-xl: [676, 814, 20, 20]
+ capital-xs: [598, 814, 8, 8]
car-dealership: [964, 126, 38, 38]
- caravan-site: [964, 210, 38, 38]
+ car: [964, 126, 38, 38]
+ caravan-site: [462, 710, 38, 38]
+ caravan_site: [462, 710, 38, 38]
castle: [506, 42, 38, 38]
+ fort: [506, 42, 38, 38]
cemetery: [920, 84, 38, 38]
+ grave_yard: [920, 84, 38, 38]
church: [414, 126, 38, 38]
clothing-store: [0, 210, 38, 38]
- coffee-shop: [686, 168, 38, 36]
+ clothes: [0, 210, 38, 38]
+ chothing-store: [0, 210, 38, 38]
+ "clothesstore": [0, 210, 38, 38]
+ fashion: [0, 210, 38, 38]
+ coffee-shop: [686, 168, 38, 38]
+ cafe: [686, 168, 38, 38]
college-university: [46, 210, 38, 38]
+ university: [46, 210, 38, 38]
+ college: [46, 210, 38, 38]
convenience-store: [184, 84, 38, 38]
+ convenience: [184, 84, 38, 38]
+ convenience_store: [184, 84, 38, 38]
+ beverages: [184, 84, 38, 38]
+ county_shield_1char: [848, 418, 72, 72]
+ county_shield_2char: [672, 314, 88, 72]
+ county_shield_3char: [560, 314, 104, 72]
+ county_shield_4char: [416, 314, 136, 72]
+ county_shield_5char: [248, 314, 160, 72]
courthouse: [446, 0, 38, 38]
- current-location: [702, 294, 88, 86]
- dentist: [266, 0, 34, 34]
+ dentist: [266, 0, 38, 38]
department-store: [918, 126, 38, 38]
- doctors: [224, 0, 34, 34]
- dog-park: [138, 252, 38, 38]
- dot-black: [0, 294, 38, 38]
- dot-white: [966, 252, 38, 38]
+ department_store: [918, 126, 38, 38]
+ doctors: [224, 0, 38, 38]
+ clinic: [224, 0, 38, 38]
+ dog-park: [646, 710, 38, 38]
+ dog_park: [646, 710, 38, 38]
+ dog_run: [646, 710, 38, 38]
+ dog-run: [646, 710, 38, 38]
+ dot-black: [506, 814, 38, 38]
+ dot-white: [460, 814, 38, 38]
drinking-water: [412, 210, 38, 38]
dry-cleaning: [138, 84, 38, 38]
+ dry_cleaning: [138, 84, 38, 38]
electronics-store: [782, 126, 38, 38]
+ electronics: [782, 126, 38, 38]
+ computer: [782, 126, 38, 38]
factory: [552, 168, 38, 38]
+ industrial: [552, 168, 38, 38]
+ chimney: [552, 168, 38, 38]
+ sub_station: [552, 168, 38, 38]
+ substation: [552, 168, 38, 38]
+ wastewater_plant: [552, 168, 38, 38]
+ works: [552, 168, 38, 38]
+ water_works: [552, 168, 38, 38]
+ plant: [552, 168, 38, 38]
+ generator: [552, 168, 38, 38]
fire-station: [400, 0, 38, 38]
- firepit: [92, 252, 38, 38]
- fishing-area: [0, 252, 38, 38]
+ fire_station: [400, 0, 38, 38]
+ firepit: [600, 710, 38, 38]
+ fishing-area: [508, 710, 38, 38]
+ fishing_area: [508, 710, 38, 38]
fitness: [0, 84, 38, 38]
+ gym: [0, 84, 38, 38]
+ fitness_center: [0, 84, 38, 38]
flower-shop: [368, 126, 38, 38]
+ florist: [368, 126, 38, 38]
forest: [228, 210, 38, 38]
+ conservation: [228, 210, 38, 38]
+ nature_reserve: [228, 210, 38, 38]
fountain: [506, 126, 38, 38]
garden: [874, 84, 38, 38]
- gas: [736, 252, 38, 38]
+ gas: [230, 814, 38, 38]
+ gas_canister: [230, 814, 38, 38]
gas-station: [136, 210, 38, 38]
- generic: [46, 294, 38, 38]
- geyser: [688, 210, 38, 38]
+ fuel: [136, 210, 38, 38]
+ generic: [552, 814, 38, 38]
+ subway_entrance: [552, 814, 38, 38]
+ generic_shield_1char: [592, 510, 72, 72]
+ generic_shield_2char: [488, 510, 98, 72]
+ generic_shield_3char: [348, 510, 132, 72]
+ generic_shield_4char: [188, 510, 152, 72]
+ generic_shield_5char: [0, 510, 180, 72]
+ geyser: [186, 710, 38, 38]
gift-shop: [322, 126, 38, 38]
+ gift: [322, 126, 38, 38]
golf-course: [598, 84, 38, 38]
+ golf_course: [598, 84, 38, 38]
government-building: [322, 168, 38, 38]
+ townhall: [322, 168, 38, 38]
+ public_building: [322, 168, 38, 38]
+ embassy: [322, 168, 38, 38]
grocery-store: [736, 126, 38, 38]
- harbor-marina: [276, 168, 40, 38]
+ supermarket: [736, 126, 38, 38]
+ health_food: [736, 126, 38, 38]
+ greengrocer: [736, 126, 38, 38]
+ harbor-marina: [276, 168, 38, 38]
+ marina: [276, 168, 38, 38]
+ harbor: [276, 168, 38, 38]
+ harbor_marina: [276, 168, 38, 38]
+ dock: [276, 168, 38, 38]
+ mooring: [276, 168, 38, 38]
hardware-store: [966, 42, 38, 38]
+ hardware: [966, 42, 38, 38]
+ doityourself: [966, 42, 38, 38]
+ paint: [966, 42, 38, 38]
historic-site: [276, 126, 38, 38]
- hospital: [182, 0, 34, 34]
+ hospital: [182, 0, 38, 38]
hot-spring: [460, 84, 38, 38]
+ hot_spring: [460, 84, 38, 38]
hotel: [814, 0, 38, 38]
- hunting: [642, 210, 38, 38]
+ motel: [814, 0, 38, 38]
+ hostel: [814, 0, 38, 38]
+ hunting: [140, 710, 38, 38]
ice-cream-shop: [504, 210, 38, 38]
- information: [596, 210, 38, 36]
+ ice_cream: [504, 210, 38, 38]
+ information: [96, 710, 38, 38]
+ info: [96, 710, 38, 38]
jewelry-store: [828, 42, 38, 38]
+ jewelry: [828, 42, 38, 38]
+ jewelry_store: [828, 42, 38, 38]
landmark: [354, 0, 38, 38]
+ memorial: [354, 0, 38, 38]
+ monument: [354, 0, 38, 38]
+ wayside_shrine: [354, 0, 38, 38]
+ tower: [354, 0, 38, 38]
+ beacon: [354, 0, 38, 38]
laundry: [782, 42, 38, 38]
+ dry_cleaning: [782, 42, 38, 38]
library: [0, 0, 38, 38]
light-rail: [768, 0, 38, 38]
+ light_rail: [768, 0, 38, 38]
+ tram_stop: [768, 0, 38, 38]
lighthouse: [414, 84, 38, 38]
liquor-store: [690, 126, 38, 38]
- locate-off: [80, 426, 72, 70]
- locate-on: [0, 426, 72, 70]
+ alcohol: [690, 126, 38, 38]
+ liquor: [690, 126, 38, 38]
mall: [736, 42, 38, 38]
market: [690, 42, 38, 38]
+ variety_store: [690, 42, 38, 38]
+ boutique: [690, 42, 38, 38]
+ dairy: [690, 42, 38, 38]
+ retail: [690, 42, 38, 38]
mine: [874, 42, 38, 38]
mobile-phone-shop: [598, 42, 38, 38]
+ mobile_phone: [598, 42, 38, 38]
mosque: [90, 0, 38, 38]
- motorcycle: [368, 252, 38, 38]
+ motorcycle: [876, 710, 38, 38]
mountain: [368, 84, 38, 38]
+ peak: [368, 84, 38, 38]
movie-theatre: [962, 168, 38, 38]
+ cinema: [962, 168, 38, 38]
+ movie-theater: [962, 168, 38, 38]
museum: [230, 126, 38, 38]
+ observatory: [230, 126, 38, 38]
music-store: [460, 42, 38, 38]
+ music: [460, 42, 38, 38]
+ musical_instrument: [460, 42, 38, 38]
newsstand: [414, 42, 38, 38]
- observatory: [690, 252, 38, 38]
+ kiosk: [414, 42, 38, 38]
+ newsagent: [414, 42, 38, 38]
+ observatory: [184, 814, 38, 38]
office: [782, 84, 38, 38]
+ insurance: [782, 84, 38, 38]
+ company: [782, 84, 38, 38]
optical-shop: [368, 42, 38, 38]
- outdoor: [828, 252, 38, 38]
+ optician: [368, 42, 38, 38]
+ optical_shop: [368, 42, 38, 38]
+ outdoor: [322, 814, 38, 38]
park: [460, 126, 38, 38]
- parking: [874, 126, 38, 36]
+ parking: [874, 126, 38, 38]
performing-arts: [778, 168, 38, 38]
+ theater: [778, 168, 38, 38]
+ theatre: [778, 168, 38, 38]
pet-store: [322, 42, 38, 38]
+ pet: [322, 42, 38, 38]
+ pet-service: [322, 42, 38, 38]
+ pet_store: [322, 42, 38, 38]
pharmacy: [92, 84, 38, 38]
+ chemist: [92, 84, 38, 38]
photography-lab: [276, 42, 38, 38]
- picnic-spot: [322, 252, 38, 38]
+ photo_studio: [276, 42, 38, 38]
+ photography_lab: [276, 42, 38, 38]
+ photographer: [276, 42, 38, 38]
+ picnic-spot: [830, 710, 38, 38]
+ picnic_site: [830, 710, 38, 38]
+ picnic_table: [830, 710, 38, 38]
pier: [722, 0, 38, 38]
playground: [552, 42, 38, 38]
police: [308, 0, 38, 38]
pool: [322, 84, 38, 38]
+ swimming_pool: [322, 84, 38, 38]
post-office: [506, 168, 38, 38]
- quarry: [920, 42, 40, 38]
- ranger-station: [276, 252, 38, 38]
+ post_office: [506, 168, 38, 38]
+ quarry: [920, 42, 38, 38]
+ mineshaft: [920, 42, 38, 38]
+ adit: [920, 42, 38, 38]
+ ranger-station: [784, 710, 38, 38]
+ ranger_station: [784, 710, 38, 38]
real-estate: [230, 42, 38, 38]
- recreation-track: [460, 252, 38, 38]
+ estate_agent: [230, 42, 38, 38]
+ real_estate: [230, 42, 38, 38]
+ recreation-track: [968, 710, 38, 38]
+ recreation_track: [968, 710, 38, 38]
recycling-facility: [184, 42, 38, 38]
+ recycling: [184, 42, 38, 38]
rental-car: [676, 0, 38, 38]
+ car_rental: [676, 0, 38, 38]
+ car_sharing: [676, 0, 38, 38]
restaurant: [274, 210, 38, 38]
- route-arrow: [408, 294, 128, 128]
- route-start: [622, 294, 72, 92]
- route-stop: [544, 294, 72, 92]
+ deli: [274, 210, 38, 38]
ruin: [584, 0, 38, 38]
+ ruins: [584, 0, 38, 38]
+ archaeological_site: [584, 0, 38, 38]
salon-barber: [138, 42, 38, 38]
+ hairdresser: [138, 42, 38, 38]
+ salon: [138, 42, 38, 38]
+ beauty_salon: [138, 42, 38, 38]
school: [736, 84, 38, 38]
- scuba-diving: [782, 252, 38, 38]
- search-active: [796, 294, 72, 108]
- search-inactive: [876, 294, 72, 108]
+ kindergarten: [736, 84, 38, 38]
+ scuba-diving: [276, 814, 38, 38]
+ scuba_diving: [276, 814, 38, 38]
+ dive_centre: [276, 814, 38, 38]
shoe-store: [644, 42, 38, 38]
- shower: [918, 210, 38, 38]
+ shoes: [644, 42, 38, 38]
+ shoe_store: [644, 42, 38, 38]
+ shower: [416, 710, 38, 38]
ski-area: [552, 126, 38, 38]
- slipway: [872, 210, 38, 38]
+ slipway: [370, 710, 38, 38]
soccer-field: [552, 84, 38, 38]
spiritual-center: [460, 168, 38, 38]
+ spiritual_center: [460, 168, 38, 38]
+ place_of_worship: [460, 168, 38, 38]
+ wayside_chapel: [460, 168, 38, 38]
sporting-goods-shop: [92, 42, 38, 38]
+ sporting_goods: [92, 42, 38, 38]
+ sports: [92, 42, 38, 38]
+ outdoor: [92, 42, 38, 38]
spring: [506, 84, 38, 38]
stadium: [644, 126, 38, 38]
subway-entrance: [538, 0, 38, 38]
- summer-camp: [506, 252, 38, 38]
- swimming-area: [46, 252, 38, 38]
+ summer-camp: [0, 814, 38, 38]
+ summer_camp: [0, 814, 38, 38]
+ swimming-area: [554, 710, 38, 38]
+ swimming_area: [554, 710, 38, 38]
synagogue: [44, 0, 38, 38]
tailor-shop: [46, 42, 38, 38]
- telescope: [644, 252, 38, 38]
+ tailor: [46, 42, 38, 38]
+ telescope: [138, 814, 38, 38]
tennis: [598, 126, 38, 38]
theme-park: [184, 126, 38, 38]
+ theme_park: [184, 126, 38, 38]
+ miniature_golf: [184, 126, 38, 38]
toilets: [46, 126, 38, 38]
- townspot-l: [356, 294, 16, 16]
- townspot-l-rev: [250, 294, 16, 16]
- townspot-m: [336, 294, 12, 12]
- townspot-m-rev: [230, 294, 12, 12]
- townspot-s: [318, 294, 10, 10]
- townspot-s-rev: [212, 294, 10, 10]
- townspot-xl: [380, 294, 20, 20]
- townspot-xl-rev: [274, 294, 20, 20]
- townspot-xs: [302, 294, 8, 8]
- townspot-xs-rev: [198, 294, 6, 6]
+ townspot-l: [862, 814, 16, 16]
+ townspot-l-rev: [756, 814, 16, 16]
+ townspot-m: [842, 814, 12, 12]
+ townspot-m-rev: [736, 814, 12, 12]
+ townspot-s: [824, 814, 10, 10]
+ townspot-s-rev: [718, 814, 10, 10]
+ townspot-xl: [886, 814, 20, 20]
+ townspot-xl-rev: [780, 814, 20, 20]
+ townspot-xs: [808, 814, 8, 8]
+ townspot-xs-rev: [704, 814, 6, 6]
toy-game-store: [0, 42, 38, 38]
- traffic-signal: [92, 210, 36, 34]
- trailhead: [874, 252, 38, 38]
+ toys: [0, 42, 38, 38]
+ baby_goods: [0, 42, 38, 38]
+ traffic-signal: [92, 210, 38, 38]
+ traffic_signals: [92, 210, 38, 38]
+ trailhead: [368, 814, 38, 38]
train-station: [492, 0, 38, 38]
- tree: [920, 252, 38, 38]
+ station: [492, 0, 38, 38]
+ train-staion: [492, 0, 38, 38]
+ tree: [414, 814, 38, 38]
veterinarian: [136, 0, 38, 38]
- view-point: [870, 168, 40, 38]
- vineyard: [230, 168, 40, 38]
+ pet_care: [136, 0, 38, 38]
+ veterinary: [136, 0, 38, 38]
+ view-point: [870, 168, 38, 38]
+ viewpoint: [870, 168, 38, 38]
+ view_point: [870, 168, 38, 38]
+ vista: [870, 168, 38, 38]
+ vineyard: [230, 168, 38, 38]
volcano: [230, 84, 38, 38]
- water-tower: [414, 252, 38, 38]
- waterfall: [184, 252, 38, 38]
- waterpark: [780, 210, 38, 38]
+ water-tower: [922, 710, 38, 38]
+ water_tower: [922, 710, 38, 38]
+ waterfall: [692, 710, 38, 38]
+ waterpark: [278, 710, 38, 38]
+ water_park: [278, 710, 38, 38]
wine-bar: [366, 210, 38, 38]
winery: [640, 168, 38, 38]
+ wine: [640, 168, 38, 38]
zoo: [138, 126, 38, 38]
+ #
+ ux-current-location: [294, 856, 88, 88]
+ ux-locate-off: [628, 856, 72, 72]
+ ux-locate-on: [548, 856, 72, 72]
+ ux-route-arrow: [0, 856, 128, 128]
+ ux-route-start: [214, 856, 72, 92]
+ ux-route-stop: [136, 856, 72, 92]
+ ux-search-active: [388, 856, 72, 108]
+ ux-search-inactive: [468, 856, 72, 108]
+ #
+ # HACK: not currently in source sprite sheet (capital-xl)
+ ux-transit-stop: [676, 814, 20, 20]
building-grid:
url: images/building-grid.gif
mapzen:
type: TopoJSON
# prod
- url: https://vector.mapzen.com/osm/all/{z}/{x}/{y}.topojson?api_key=vector-tiles-TMwazSG
- # earlier prod version
- #url: https://vector.mapzen.com/osm/v0.9/all/{z}/{x}/{y}.topojson?api_key=vector-tiles-JUsa0Gc
+ url: https://tile.mapzen.com/mapzen/vector/v1/all/{z}/{x}/{y}.topojson?api_key=vector-tiles-VyYjZGS
# dev
- #url: http://vector.dev.mapzen.com/osm/all/{z}/{x}/{y}.topojson
- # staging (proxy)
- #url: //localhost:8081/osm/all/{z}/{x}/{y}.topojson
- # local tiles
- #url: //localhost:8080/all/{z}/{x}/{y}.topojson
+ #url: https://tile.dev.mapzen.com/mapzen/vector/v1/all/{z}/{x}/{y}.topojson
rasters: [normals]
max_zoom: 16
normals: # normals
type: Raster
- # prod
- url: https://terrain-preview.mapzen.com/normal/{z}/{x}/{y}.png
- # staging
- #url: https://s3.amazonaws.com/elevation-tiles-prod/normal/{z}/{x}/{y}.png
- # dev
- #url: https://s3.amazonaws.com/mapzen-terrain-dev-us-east/v0.0.3/normal/{z}/{x}/{y}.png
- #url: https://s3.amazonaws.com/mapzen-terrain-dev-us-east/v0.0.2/normal/{z}/{x}/{y}.png
+ url: https://tile.mapzen.com/mapzen/terrain/v1/normal/{z}/{x}/{y}.png
max_zoom: 15
+# # Only enable this for local debug, should not be enabled for prod (app inserts these at runtime)
+# # These are all in San Francisco, California
+# #
+# # Current location gem
+# mz_current_location:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/9e9588228b0a604264a2/raw/b28be49bea0b7feb859eb65b588c28e9fee5ae2c/map.geojson
+# # Route line
+# mz_route_line:
+# type: GeoJSON
+# # sf to ny
+# # url: https://gist.githubusercontent.com/anonymous/30c6c1a75c168d91d90c/raw/92bfe55e622766d250b1f2f5d17bdc7c26acb956/map.geojson
+# # local sf trip
+# url: https://gist.githubusercontent.com/anonymous/9a610ebda6fe4be7bccc/raw/8d217e43f2412d48d01534ba115f1e42dac72e68/map.geojson
+# # Dashed route line
+# mz_dash_line:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/d73b851c64c3e5fbfc2754aa32f44c10/raw/938ae435776e176919c4797bed1465a92e403ef3/map.geojson
+# # Transit route line
+# mz_route_line_transit:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/71ae88cbc6d62c4d141ecd6a61060050/raw/2254bbc18243f5dc609e663a580c9412a7447936/map.geojson
+# # Pin at start of route
+# mz_route_start:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/5262969cb7549ea69221/raw/be03f233fa323d9b5cf50ef1d8e89a1faa3750f1/map.geojson
+# # Pin at end of route
+# mz_route_destination:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/dbae9635dfe46796490e/raw/df55c318635a7d91b309ed40754d4738a292fd38/map.geojson
+# # Arrow for current route location
+# mz_route_location:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/36613092be6e2aa004fd/raw/f753d13069425199e1dea1b449ef67d723f6510e/map.geojson
+# # Dots for transit stops in route preview
+# mz_route_transit_stop:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/b9f16bca4a804f50faf71277d52ee4ab/raw/db13e4e765fa1ac8844b8ba02f4a0f66fe772907/map.geojson
+# # Pins showing search result locations
+# mz_search_result:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/57dc09eeb120919f76de/raw/43426217da3c2bae0522dc4257aaa61e4df3981e/map.geojson
+# # Default point styling (SDK)
+# mz_default_point:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/16324c771edfce45be0721390389b878/raw/7dbaebf17da7da8562e6c6f8768bc8cff83efa88/map.geojson
+# # Default line styling (SDK)
+# mz_default_line:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/26f4e8b6b34b2617b5d5533d89decb39/raw/df8e180ab4f7f19448014dccc4a755f7cfa20003/map.geojson
+# # Default polygon styling (SDK)
+# mz_default_polygon:
+# type: GeoJSON
+# url: https://gist.githubusercontent.com/anonymous/88235c795bb44b8c45150bdd5561f947/raw/71d4fab97b6513833bf1a589167119e6169ef86d/map.geojson
+
styles:
highlight:
base: lines
return rect(st, vec2(_size.x*0.5,_size.y*0.125)) +
rect(st, vec2(_size.y*0.125,_size.x*0.5));
}
- # terrain:
- # base: polygons
- # # mix: [grid]
- # raster: normal
- # shaders:
- # uniforms:
- # # u_envmap: images/relief-shading-environment-map.jpg
- # u_envmap: images/draw-test8.jpg
- # u_scale: 4.5 # higher values are more exaggerated
- # # z0 = 0.0001
- # # z1 = 0.0001
- # # z2 = 3.5
- # # z3 = 4.5
- # # z4 = 4.5
- # # z5 = 4.
- # # z6 = 3.5
- # # z7 = 2.5
- # # z8 = 2.5
- # # z9 = 2.
- # # z10 = 1.7
- # # z11 = 1.5
- # # z12 = 1.5
- # # z13 = 1.3
- # # z14 = 1.2
- # # z15 = 1.
- # # z16 = 0.8
- # # z17 = 0.4
- # # z17.8 = 0.1
- # # z18+ = 0.001
- # u_scale_end: 0.001
- # u_scale_fade_start: 3.
- # u_scale_fade_duration: 15.
- # u_color: [.9, .9, .9]
- # u_color_fade_start: 20.
- # u_color_fade_duration: 1.
- # blocks:
- # global: |
- # // Simplified view-independent environment map
- # vec4 terrainEnvmap (in sampler2D _tex, in vec3 _normal) {
- # const vec3 eye = vec3(0.,0.,-1.);
- # vec3 r = reflect(eye, _normal);
- # r.z += 1.0;
- # float m = 2. * length(r);
- # vec2 uv = r.xy / m + .5;
- # return texture2D(_tex, uv);
- # }
- # color: |
- # normal.z /= u_scale; // turn terrain exaggeration up/down
- # // fade out spheremap normals
- # float m = clamp((u_scale_fade_start + u_scale_fade_duration - u_map_position.z) * 1./u_scale_fade_duration, u_scale_end, u_scale);
- # normal.z /= m;
-
- # normal = normalize(normal);
- # color = terrainEnvmap(u_envmap, normal);
- # color *= v_color; // apply layer color
- # // fade from spheremap to a solid color
- # float c = clamp((u_map_position.z - u_color_fade_start) * 1./u_color_fade_duration, 0., 1.);
- # color.rgb = mix(color.rgb, u_color, c);
terrain:
base: polygons
- # mix: [grid]
+ lighting: false
raster: normal
shaders:
uniforms:
polygons_transparent:
base: polygons
blend: overlay
-
+ ux-route-line-overlay:
+ base: lines
+ blend: overlay
+ blend_order: 0
+ ux-route-line-dash-overlay:
+ base: lines
+ blend: overlay
+ blend_order: 0
+ dash: [2, 1]
+ ux-transit-line-overlay:
+ base: lines
+ blend: overlay
+ blend_order: 0
+ ux-location-gem-overlay:
+ base: points
+ texture: pois
+ interactive: true
+ blend: overlay
+ blend_order: 2
+ ux-icons-overlay:
+ base: points
+ texture: pois
+ interactive: true
+ blend: overlay
+ blend_order: 3
+ sdk-point-overlay:
+ base: points
+ texture: pois
+ interactive: true
+ blend: overlay
+ blend_order: 3
+ sdk-line-overlay:
+ base: lines
+ blend: overlay
+ blend_order: 0
+ sdk-polygon-overlay:
+ base: polygons
+ blend: overlay
+ blend_order: 0
layers:
+ # Map overlays for styling the server response (using special source layer names) for route line, current location, and search result pins
+ mz_route_line:
+ data: { source: mz_route_line }
+ draw:
+ ux-route-line-overlay:
+ color: '#06a6d4'
+ order: 500
+ width: [[0,3.5px],[5,5px],[9,7px],[10,6px],[11,6px],[13,8px],[14,9px],[15,10px],[16,11px],[17,12px],[18,10px]]
+ mz_route_line_dash:
+ data: { source: mz_dash_line }
+ draw:
+ ux-route-line-dash-overlay:
+ color: '#06a6d4'
+ order: 500
+ width: [[2,2px],[5,2.5px],[11,3px],[16,7px],[17,9px]]
+ mz_route_line_transit:
+ data: { source: mz_route_line_transit }
+ draw:
+ ux-transit-line-overlay:
+ # each transit route segment could be a different "line" each with it's own color
+ # but some transit lines don't define a color, in those cases default to blue
+ # and since the color is coming from Transit.land they call it "color" instead of "colour"
+ color: function() { return feature.color || '#06a6d4'; }
+ order: 500
+ width: [[0,3.5px],[5,5px],[9,7px],[10,6px],[11,6px],[13,8px],[14,9px],[15,10px],[16,11px],[17,12px],[18,10px]]
+
+
+ mz_current_location_gem:
+ data: { source: mz_current_location }
+ draw:
+ ux-location-gem-overlay:
+ interactive: true
+ sprite: ux-current-location
+ size: 36px
+ collide: false
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_route_location:
+ data: { source: mz_route_location }
+ draw:
+ ux-location-gem-overlay:
+ interactive: true
+ sprite: ux-route-arrow
+ size: [60px,60px]
+ collide: false
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_route_start:
+ data: { source: mz_route_start }
+ draw:
+ ux-icons-overlay:
+ interactive: true
+ priority: 1
+ sprite: ux-route-start
+ size: [36px,46px]
+ collide: false
+ anchor: top
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_route_destination:
+ data: { source: mz_route_destination }
+ draw:
+ ux-icons-overlay:
+ interactive: true
+ priority: 1
+ sprite: ux-route-stop
+ size: [36px,46px]
+ collide: false
+ anchor: top
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_route_transit_stop:
+ data: { source: mz_route_transit_stop }
+ draw:
+ ux-icons-overlay:
+ interactive: true
+ sprite: ux-transit-stop
+ size: [15px,15px]
+ collide: false
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_search_result:
+ data: { source: mz_search_result }
+ draw:
+ ux-icons-overlay:
+ interactive: true
+ sprite: ux-search-active
+ size: [36px,54px]
+ collide: false
+ anchor: top
+ transition:
+ [show, hide]:
+ time: 0s
+ inactive:
+ filter: { state: inactive }
+ draw:
+ ux-icons-overlay:
+ sprite: ux-search-inactive
+ mz_dropped_pin:
+ data: { source: mz_dropped_pin }
+ draw:
+ ux-icons-overlay:
+ interactive: true
+ sprite: ux-search-active
+ size: [36px,54px]
+ collide: false
+ anchor: top
+ transition:
+ [show, hide]:
+ time: 0s
+
+ # Used by the SDK to place point, line, and polygon overlays on the map
+ mz_default_point:
+ data: { source: mz_default_point }
+ draw:
+ sdk-point-overlay:
+ interactive: true
+ sprite: ux-search-active
+ size: [36px,54px]
+ collide: false
+ anchor: top
+ transition:
+ [show, hide]:
+ time: 0s
+ mz_default_line:
+ data: { source: mz_default_line }
+ draw:
+ sdk-line-overlay:
+ color: '#06a6d4'
+ order: 503
+ width: 3px
+ mz_default_polygon:
+ data: { source: mz_default_polygon }
+ draw:
+ sdk-polygon-overlay:
+ color: [0.02,0.65,0.82,0.5] #'#06b1e2'
+ order: 501
+ sdk-line-overlay:
+ color: '#06a6d4'
+ order: 502
+ width: 0px
+
+ # Basemap styling
earth:
data: { source: mapzen}
draw:
terrain:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: [1.0, 1.0, 1.0]
water:
draw:
polygons:
#interactive: true
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
#color: [0.608,0.925,0.965]
later:
filter: { $zoom: { min: 12 } }
draw:
polygons:
- order: function() { return feature.sort_key + 1; }
+ order: function() { return feature.sort_rank + 1; }
#color: [0.608,0.925,0.965]
lakes:
# WARNING: any area filters here must match the area filters in the water_boundaries-not-ocean layer
any:
# limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 1 }, area: { min: 40000000000 } }
+ - { $zoom: { min: 0 }, area: { min: 40000000000 } }
- { $zoom: { min: 2 }, area: { min: 20000000000 } }
# some weird natural earth scale set transition
- { $zoom: { min: 3 }, area: { min: 80000000000 } }
filter: { kind: playa, $zoom: {min: 6} }
draw:
dashedline:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: grey
width: 1px
polygons_transparent:
polygons:
color: [0.432,0.890,0.960]
water-boundary-ocean-early:
- filter: { boundary: yes, kind: ocean, $zoom: {min: 1, max: 17} }
+ filter: { boundary: true, kind: ocean, $zoom: {min: 1, max: 17} }
draw:
lines:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: [0.431,0.806,0.914]
width: 1px
join: round
water-boundary-ocean-late:
- filter: { boundary: yes, kind: ocean, $zoom: {min: 17} }
+ filter: { boundary: true, kind: ocean, $zoom: {min: 17} }
draw:
lines:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: [0.431,0.806,0.914]
width: 1px
join: round
water_boundaries-not-ocean:
- # filter: { boundary: yes, not: { kind: [ocean,playa] }, $zoom: { min: 8 } }
+ # filter: { boundary: true, not: { kind: [ocean,playa] }, $zoom: { min: 8 } }
filter:
all:
- - boundary: yes
+ - boundary: true
- not: { kind: [ocean,playa] }
- $zoom: { min: 8}
# WARNING: any area filters here must match the area filters in the lakes layer
- { $zoom: { min: 15 } }
draw:
lines:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
# color: [0.625,0.806,0.822]
color: [0.431,0.806,0.914]
width: 1px
filter: { kind: [river,canal,stream,dam,ditch,drain], $zoom: { min: 11 }, not: { is_tunnel: true } }
draw:
lines:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
interactive: true
color: [[10,[0.472,0.834,0.890]],[14,[0.511,0.877,0.930]]]
# color: [0.592,0.929,0.961]
intermittent:
filter:
any:
- - intermittent: yes
+ - intermittent: true
- kind: drain
draw:
lines:
visible: false
dots-lines:
interactive: true
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: [[10,[0.472,0.834,0.890]],[14,[0.511,0.877,0.930]]]
width: [[10,0px],[11,0.5px],[12,1px],[13,2px],[14,3px],[15,4px],[16,5px]]
water-line-labels:
data: { source: mapzen, layer: [water] }
+ visible: *text_visible_water_labels
filter:
all:
- name: true
draw:
lines:
interactive: true
- order: function() { return feature.sort_key || 275; }
+ order: function() { return feature.sort_rank || 275; }
railway:
filter: { kind: [railway,train] }
draw:
draw:
lines:
interactive: true
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
color: [0.588,0.671,0.698]
width: [[12,0px],[13,0.25px],[14,0.4px],[15,0.75px],[16,0.75px],[18,1m]]
service:
draw:
lines:
# let roads sort themselves past zoom 14
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
# but give them all the same outline
outline:
order: 354
bridges-tunnels:
- filter: { any: [is_bridge: yes, is_tunnel: yes] }
+ filter: { any: [is_bridge: true, is_tunnel: true] }
draw:
lines:
outline:
# except bridges and tunnels, their outlines should also self-sort
- order: function() { return feature.sort_key || 305; }
+ order: function() { return feature.sort_rank || 305; }
roads:
data: { source: mapzen, layer: roads }
interactive: true
#color: black
width: 1px
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
# but give them all the same outline
outline:
order: 352
draw:
lines:
outline:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
bridges-tunnels:
- filter: { any: [is_bridge: yes, is_tunnel: yes] }
+ filter: { any: [is_bridge: true, is_tunnel: true] }
draw:
lines:
#cap: butt
outline:
# except bridges and tunnels, their outlines should also self-sort
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
# default outlines starting at zoom 16
default-outline-width:
#dashedTunnel:
# width: [[8, 1px], [12, 1.25px], [13, 1.5px], [14, 0px], [15, 1px], [16, 5px], [17, 10px], [18, 10m]]
link:
- filter: { is_link: yes } # on- and off-ramps, etc
+ filter: { is_link: true } # on- and off-ramps, etc
draw:
lines:
#color: *highway_link1
lines:
order: 352
tunnel-link:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: [[13,[0.790,0.790,0.790]], [14,[0.820,0.820,0.820]], [15,[0.950,0.950,0.950]], [16,[0.950,0.950,0.950]]]
outline:
color: [0.900,0.900,0.900]
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
#dashedTunnel:
# color: blue
- # order: function() { return (feature.sort_key - 1); }
+ # order: function() { return (feature.sort_rank - 1); }
lines:
#visible: false
color: [[13,[0.710,0.710,0.710]], [14,[0.779,0.802,0.828]], [15,[0.950,0.950,0.950]], [16,[0.950,0.950,0.950]]]
outline:
color: [[13, [0.720,0.720,0.720]], [14, [0.770,0.770,0.770]], [15, [0.80,0.80,0.80]], [16, [0.825,0.825,0.825]]]
highway_bridge:
- filter: {is_bridge: yes}
+ filter: {is_bridge: true}
draw:
lines:
cap: round
outline:
cap: butt
- labels-highway-early:
- filter: { $zoom: [7,8,9] }
- draw:
- text-blend-order:
- priority: 50
- visible: *text_visible_shields
- text_source: ref
- font:
- fill: [0.408,0.427,0.459]
- weight: 400
- size: 9px
- stroke: { color: [0.898,0.906,0.910], width: 4 }
- labels-highway-z10:
- filter:
- $zoom: 10
- draw:
- text-blend-order:
- visible: *text_visible_shields
- text_source: ref
- font:
- fill: [0.408,0.427,0.459]
- weight: 400
- size: 9px
- stroke: { color: [0.898,0.906,0.910], width: 4 }
- labels-highway-z11:
- filter:
- $zoom: 11
- draw:
- text-blend-order:
- visible: *text_visible_shields
- text_source: ref
- font:
- fill: [0.408,0.427,0.459]
- weight: 600
- size: 10px
- stroke: { color: [0.898,0.906,0.910], width: 4 }
- labels-highway-z12:
- filter:
- $zoom: 12
- draw:
- text-blend-order:
- visible: *text_visible_shields
- text_source: ref
- font:
- fill: [0.408,0.427,0.459]
- weight: 600
- size: 10px
- stroke: { color: [0.898,0.906,0.910], width: 4 }
+ # labels-highway-early:
+ # filter: { $zoom: [7,8,9] }
+ # draw:
+ # text-blend-order:
+ # priority: 50
+ # visible: *text_visible_shields
+ # text_source: ref
+ # font:
+ # fill: [0.408,0.427,0.459]
+ # weight: 400
+ # size: 9px
+ # stroke: { color: [0.898,0.906,0.910], width: 4 }
+ # labels-highway-z10:
+ # filter:
+ # $zoom: 10
+ # draw:
+ # text-blend-order:
+ # visible: *text_visible_shields
+ # text_source: ref
+ # font:
+ # fill: [0.408,0.427,0.459]
+ # weight: 400
+ # size: 9px
+ # stroke: { color: [0.898,0.906,0.910], width: 4 }
+ # labels-highway-z11:
+ # filter:
+ # $zoom: 11
+ # draw:
+ # text-blend-order:
+ # visible: *text_visible_shields
+ # text_source: ref
+ # font:
+ # fill: [0.408,0.427,0.459]
+ # weight: 600
+ # size: 10px
+ # stroke: { color: [0.898,0.906,0.910], width: 4 }
+ # labels-highway-z12:
+ # filter:
+ # $zoom: 12
+ # draw:
+ # text-blend-order:
+ # visible: *text_visible_shields
+ # text_source: ref
+ # font:
+ # fill: [0.408,0.427,0.459]
+ # weight: 600
+ # size: 10px
+ # stroke: { color: [0.898,0.906,0.910], width: 4 }
labels-highway-z13:
filter:
$zoom: 13
priority: 50
visible: *text_visible_highway
#text_source: ref
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.408,0.427,0.459]
weight: 600
priority: 50
visible: *text_visible_highway
#text_source: ref
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.408,0.427,0.459]
weight: 600
outline:
width: [[12, 0px], [13, .5px], [15, 1px], [17, 2px]]
trunk_primary:
- filter: { highway: [trunk, primary] }
+ filter: { kind_detail: [trunk, primary] }
draw:
lines:
color: [[8, [0.529,0.556,0.592]], [11, [0.529,0.556,0.592]], [14, [0.529,0.556,0.592]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
lines:
order: 352
outline:
- order: function() { return feature.sort_key + 2; }
+ order: function() { return feature.sort_rank + 2; }
primary:
filter: { kind: [primary] }
draw:
lines:
outline:
- order: function() { return feature.sort_key + 1; }
+ order: function() { return feature.sort_rank + 1; }
routes:
filter: { ref: true }
draw:
filter: { $zoom: { max: 16 } }
draw:
lines:
- order: function() { return feature.sort_key + 2; }
+ order: function() { return feature.sort_rank + 2; }
outline:
order: 353
primary-route-in-green:
# color: [1.0,1.0,1.0]
# width: 2px
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
#dashedTunnel:
# color: blue
- # order: function() { return (feature.sort_key - 1); }
+ # order: function() { return (feature.sort_rank - 1); }
lines:
#visible: false
color: [[13,[0.710,0.710,0.710]], [14,[0.779,0.802,0.828]], [15,[0.950,0.950,0.950]]] #[15,[0.744,0.764,0.792]]
filter: { $zoom: [14] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary_e2
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 11px
filter: { $zoom: [15] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
filter: { $zoom: { min: 16 } }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
filter: { $zoom: [17,18] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
filter: { $zoom: { min: 19 } }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
color: [[8,[0.894,0.906,0.914]], [14, [0.529,0.556,0.592]], [15, [0.529,0.556,0.592]], [16, [0.529,0.556,0.592]], [17,[0.578,0.608,0.650]], [18,[0.714,0.733,0.760]]]
width: [[8,0px], [13,0px], [14,0.75px], [15,1.5px], [16, 3px], [17, 4px], [18, 4px]]
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: [[13,[0.670,0.670,0.670]], [14,[0.720,0.720,0.720]], [15,[0.920,0.920,0.920]], [16,[0.920,0.920,0.920]]]
$zoom: [11]
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 9px
$zoom: [12]
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 10px
$zoom: [13]
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 11px
$zoom: [14]
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 11px
filter: { $zoom: [15] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
size: 12px
filter: { $zoom: [16] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
filter: { $zoom: [17] }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
filter: { $zoom: { min: 18 } }
draw:
text-blend-order:
- priority: 53
+ priority: 51
visible: *text_visible_trunk_primary
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.495,0.511,0.532]
weight: 600
size: [[18,13px],[19,16px]]
stroke: { color: [0.969,0.973,0.973], width: 6 }
link:
- filter: { is_link: yes } # on- and off-ramps, etc
+ filter: { is_link: true } # on- and off-ramps, etc
draw:
lines:
color: [[8, [0.529,0.556,0.592]], [11, [0.529,0.556,0.592]], [14, [0.529,0.556,0.592]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
color: [[8,[0.894,0.906,0.914]], [14, [0.529,0.556,0.592]], [15, [0.529,0.556,0.592]], [16, [0.529,0.556,0.592]], [17,[0.578,0.608,0.650]], [18,[0.714,0.733,0.760]]]
width: [[10, 0px], [14, 0px], [15, 0.5px], [16, 1px], [17, 1px], [18, 1px]]
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: [[13,[0.779,0.802,0.828]], [14,[0.779,0.802,0.828]], [15,[0.744,0.764,0.792]], [16,[0.950,0.950,0.950]]]
color: [[13, [0.894,0.906,0.914]], [15, [0.894,0.906,0.914]], [16, [0.85,0.85,0.85]]]
width: [[8,0px], [11,0px], [14,0px], [16,1.5px], [17, 3px], [18, 3px]]
secondary:
- filter: { highway: secondary }
+ filter: { kind_detail: secondary }
draw:
lines:
color: [[10, [0.714,0.733,0.760]], [11, [0.714,0.733,0.760]], [12, [0.533,0.555,0.586]], [13, [0.529,0.556,0.592]], [14, [0.529,0.556,0.592]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
lines:
order: 352
outline:
- order: 353 #function() { return feature.sort_key + 2; }
+ order: 353 #function() { return feature.sort_rank + 2; }
routes:
filter: { ref: true, $zoom: { min: 10} }
draw:
filter: { $zoom: { max: 15 } }
draw:
lines:
- order: function() { return feature.sort_key + 2; }
+ order: function() { return feature.sort_rank + 2; }
outline:
order: 353
secondary-route-in-green:
outline:
width: [[10,0.5px], [14,0.5px], [15,0.65px], [16,1.5px], [17, 2px], [18, 4px]]
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: [[13,[0.779,0.802,0.828]], [14,[0.779,0.802,0.828]], [15,[0.8,0.8,0.8]], [16,[0.85,0.85,0.85]], [17,[0.950,0.950,0.950]]]
filter: { $zoom: [13] }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 11px
filter: { $zoom: [14] }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 11px
filter: { $zoom: { min: 15 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
weight: 600
filter: { $zoom: { min: 16 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
weight: 600
filter: { $zoom: { min: 13 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
stroke: { color: [0.843,0.961,0.914], width: 4 }
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
stroke: { color: [1.00,1.00,1.00], width: 4 }
$zoom: [13]
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 9px
$zoom: [14]
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 9px
$zoom: [15]
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 10px
filter: { $zoom: { min: 16, max: 18 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 12px
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 54
+ priority: 56
visible: *text_visible_secondary
#text_source: ref
- text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 13px
stroke: { color: [0.969,0.973,0.973], width: 4 }
tertiary:
- filter: { highway: [tertiary, tertiary_link] }
+ filter: { kind_detail: [tertiary, tertiary_link] }
draw:
lines:
color: [[11, [0.714,0.733,0.760]], [12, [0.633,0.655,0.686]], [13, [0.529,0.556,0.592]], [14,[0.529,0.556,0.592]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
lines:
order: 352
outline:
- order: function() { return feature.sort_key + 3; }
+ order: function() { return feature.sort_rank + 3; }
routes:
filter: { ref: true, $zoom: { min: 12} }
draw:
filter: { $zoom: { max: 15 } }
draw:
lines:
- order: function() { return feature.sort_key + 3; }
+ order: function() { return feature.sort_rank + 3; }
outline:
order: 353
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: *major_tunnel1
outline:
color: *major_tunnel_casing1
link:
- filter: { is_link: yes } # on- and off-ramps, etc
+ filter: { is_link: true } # on- and off-ramps, etc
draw:
lines:
color: [[14, [0.714,0.733,0.760]], [15, [0.578,0.608,0.650]], [16, [0.533,0.555,0.586]], [17, [1.00,1.00,1.00]]]
filter: { $zoom: { min: 13 } }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
stroke: { color: [0.843,0.961,0.914], width: 4 }
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
stroke: { color: [1.00,1.00,1.00], width: 4 }
filter: { $zoom: [13] }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 9px
filter: { $zoom: [14] }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary_e
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 9px
filter: { $zoom: [15] }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 10px
filter: { $zoom: [16] }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 12px
filter: { $zoom: { min: 17, max: 18 } }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 13px
filter: { $zoom: { min: 18 } }
draw:
text-blend-order:
- priority: 55
+ priority: 57
visible: *text_visible_tertiary
- text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
+ #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } }
font:
fill: [0.536,0.556,0.581]
size: 13px
stroke: { color: [0.969,0.973,0.973], width: 4 }
minor_road:
- filter: { kind: minor_road, not: { highway: service, aeroway: [runway, taxiway] } }
+ filter: { kind: minor_road, not: { kind_detail: service } }
draw:
lines:
color: [[11, [0.885,0.885,0.885]], [12, [0.714,0.733,0.760]], [13, [0.779,0.802,0.828]], [14, [0.779,0.802,0.828]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
outline:
order: 351
motor_vehicle_no:
- filter: { highway: unclassified, motor_vehicle: no }
+ filter: { kind_detail: unclassified, motor_vehicle: no }
draw:
lines:
visible: false
filter: { $zoom: { min: 15 } }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road_e
text_source: name
font:
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road_e
text_source: name
font:
# width: [[11, 1px], [16, 0px], [17, 1.5px]]
tunnel:
- filter: {is_tunnel: yes, $zoom: {min: 13} }
+ filter: {is_tunnel: true, $zoom: {min: 13} }
draw:
lines:
color: *minor_tunnel1
outline:
color: *minor_tunnel_casing1
minor_road_bridge:
- filter: { is_bridge: yes }
+ filter: { is_bridge: true }
draw:
lines:
cap: round
filter: { $zoom: 15 }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road_e
text_source: name
font:
filter: { $zoom: 16 }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road_e
text_source: name
font:
filter: { $zoom: { min: 17, max: 18 } }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road_e
text_source: name
font:
filter: { $zoom: { min: 18 } }
draw:
text-blend-order:
- priority: 56
+ priority: 59
visible: *text_visible_minor_road
text_source: name
font:
size: 13px
stroke: { color: [0.969,0.973,0.973], width: 4 }
service_road:
- filter: { kind: minor_road, highway: service }
+ filter: { kind: minor_road, kind_detail: service }
draw:
lines:
color: [[14, [0.714,0.733,0.760]], [15, [0.714,0.733,0.760]], [16, [1.0,1.0,1.0]], [17, [1.0,1.0,1.0]]]
labels-service-in-green:
draw:
text-blend-order:
- priority: 57
+ priority: 60
visible: *text_visible_service_road
text_source: name
font:
filter: { $zoom: 17 }
draw:
text-blend-order:
- priority: 57
+ priority: 60
visible: *text_visible_service_road
text_source: name
font:
filter: { $zoom: { min: 18 } }
draw:
text-blend-order:
- priority: 57
+ priority: 60
visible: *text_visible_service_road
text_source: name
font:
fill: [0.536,0.556,0.581]
size: 13px
stroke: { color: [0.969,0.973,0.973], width: 4 }
+
+ shields:
+ filter:
+ $zoom: { min: 6 }
+ #
+ # United State looks great with shield_text alone, but...
+ #
+ #shield_text: true # some roads don't have shield text, deal with that later
+ #
+ # Europe doesn't have many network relations set, so we could look for either
+ # shield_text or ref (with no shield_text) but...
+ # that makes United States look a bit funky with `(xxx)` and generic shields
+ # showing up in fields of custom state shields like US:CA and US:NY
+ #
+ any:
+ - shield_text: true # some roads don't have shield text, deal with that later
+ - all:
+ - shield_text: false # some roads don't have shield text, deal with that later
+ - ref: true
+ - kind_detail: [motorway, trunk, primary, secondary, tertiary]
+ # default
+ draw:
+ icons:
+ # you need to match any custom shield to the vector tile `network` values
+ sprite: |
+ function() {
+ if( feature.shield_text ) {
+ return ('generic_shield_' + feature.shield_text.length + 'char');
+ } else {
+ return ('generic_shield_' + feature.ref.length + 'char');
+ }
+ }
+ sprite_default: generic_shield_5char
+ priority: 58
+ repeat_group: shields
+ repeat_distance: [[8,90px],[10,40px],[13,30px]]
+ placement: midpoint
+ placement_min_length_ratio:
+ - [8, 0.1]
+ - [9, 0.25]
+ - [10, 0.25]
+ - [11, 0.15]
+ - [12, 1]
+ - [13, 1.50]
+ - [14, 2.0]
+ cull_from_tile: true
+ visible: false
+ text:
+ offset: [0px, -0.5px]
+ repeat_distance: 200px
+ anchor: center
+ text_source: |
+ function() {
+ if( feature.shield_text ) {
+ return feature.shield_text;
+ } else {
+ return feature.ref;
+ }
+ }
+ font:
+ family: Montserrat
+ #fill: [0.308,0.308,0.308]
+ fill: [0.320,0.320,0.320]
+ size: [[7,7px],[12,8px],[16,11px]]
+
+ default_priority_highway:
+ filter:
+ all:
+ - kind_detail: motorway
+ - $zoom: { min: 9 }
+ draw:
+ icons:
+ priority: 47
+ #color: yellow
+ visible: *text_visible_shields
+
+ default_priority_trunk:
+ filter:
+ all:
+ - kind_detail: [trunk]
+ - $zoom: { min: 10 }
+ draw:
+ icons:
+ priority: 48
+ #color: red
+ visible: *text_visible_shields
+ default_priority_primary:
+ filter:
+ all:
+ - kind_detail: [primary]
+ - $zoom: { min: 12 }
+ draw:
+ icons:
+ priority: 49
+ #color: aqua
+ visible: *text_visible_shields
+ default_priority_trunk_secondary:
+ filter:
+ all:
+ - kind_detail: [secondary]
+ - $zoom: { min: 12 }
+ draw:
+ icons:
+ priority: 53
+ #color: blue
+ visible: *text_visible_shields
+ default_priority_trunk_tertiary:
+ filter:
+ all:
+ - kind_detail: tertiary
+ - $zoom: { min: 13 }
+ draw:
+ icons:
+ priority: 55
+ #color: green
+ visible: *text_visible_shields
+ # not-special:
+ # filter:
+ # not: { network: ['US:I','US:US'] }
+ # $zoom: { max: 9 }
+ # draw:
+ # icons:
+ # visible: false
+ width_1char:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length === 1)
+ } else {
+ return (feature.ref.length === 1)
+ }
+ }
+ draw:
+ icons:
+ size: [[6,[14px,14px]],[13,[16px,16px]],[16,[18px,18px]]]
+ width_2char:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length === 2)
+ } else {
+ return (feature.ref.length === 2)
+ }
+ }
+ draw:
+ icons:
+ size: [[6,[18px,14px]],[13,[20px,15px]],[16,[24px,18px]]]
+ width_3char:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length === 3)
+ } else {
+ return (feature.ref.length === 3)
+ }
+ }
+ draw:
+ icons:
+ size: [[6,[25px,14px]],[13,[27px,15px]],[16,[33px,18px]]]
+ width_4char:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length === 4)
+ } else {
+ return (feature.ref.length === 4)
+ }
+ }
+ draw:
+ icons:
+ size: [[6,[29px,14px]],[13,[31px,15px]],[16,[38px,18px]]]
+ # London sucks
+ early:
+ filter: { $zoom: { max: 14 } }
+ draw:
+ icons:
+ visible: false
+ width_5char:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length === 5)
+ } else {
+ return (feature.ref.length === 5)
+ }
+ }
+ draw:
+ icons:
+ size: [[6,[34px,14px]],[13,[37px,15px]],[16,[45px,18px]]]
+ # London sucks
+ early:
+ filter: { $zoom: { max: 14 } }
+ draw:
+ icons:
+ visible: false
+ # this is kinda a hack
+ width_longggggg:
+ filter: |
+ function() {
+ if( feature.shield_text ) {
+ return (feature.shield_text.length > 5)
+ } else {
+ return (feature.ref.length > 5)
+ }
+ }
+ draw:
+ icons:
+ visible: false
+ # missing-route-relations:
+ # filter: { shield_text: false }
+ # draw:
+ # lines:
+ # order: 1000
+ # color: red
+ # width: 2px
+ #
+ # Now for the good stuff
+ #
+ legit-shields:
+ filter: { shield_text: true }
+ # draw:
+ # icons:
+ # color: red
+ # US Interstate roads
+ US-I:
+ filter:
+ network: 'US:I'
+ draw:
+ icons:
+ # you need to match any custom shield to the vector tile `network` values
+ sprite: function() { return (feature.network + '_' + feature.shield_text.length + 'char'); }
+ priority: 46
+ visible: *text_visible_shields
+ text:
+ offset: [0px, 0.5px]
+ font:
+ fill: [1.0,1.0,1.0]
+ size: [[7,8px],[13,9px],[15,11px]]
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[15px,18px]],[13,[17px,20px]],[15,[22px,25px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[18px,18px]],[13,[20px,20px]],[15,[25px,25px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[23px,18px]],[13,[26px,20px]],[15,[33px,25px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[25px,18px]],[13,[27px,20px]],[15,[35px,25px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[26px,18px]],[13,[30px,20px]],[15,[38px,25px]]]
+ # US Federal Routes
+ US-US:
+ filter:
+ network: ['US:US','US:US:Business', 'US:US:Truck', 'US:US:Alternate']
+ $zoom: { min: 7 }
+ draw:
+ icons:
+ # you need to match any custom shield to the vector tile `network` values
+ sprite: |
+ function() { return ('US:US_' + feature.shield_text.length + 'char'); }
+ priority: 47
+ cull_from_tile: true
+ visible: *text_visible_shields
+ text:
+ offset: [0px, -0.7px]
+ font:
+ fill: [0.0,0.0,0.0]
+ size: [[7,8px],[13,9px],[15,11px]]
+ # early:
+ # filter: { $zoom: [7] }
+ # icons:
+ # visible: false
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[15px,17px]],[13,[17px,19px]],[15,[22px,24px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[18px,17px]],[13,[20px,19px]],[15,[26px,24px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[22px,17px]],[13,[25px,19px]],[15,[34px,25px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[25px,17px]],[13,[29px,19px]],[15,[39px,25px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[27px,17px]],[13,[30px,19px]],[15,[41px,25px]]]
+ # US State Routes
+ # US-states:
+ # # Match state highways: `US:??`
+ # filter: |
+ # function() {
+ # return feature.shield_text &&
+ # /^US:(?!US)\w\w$/.test(feature.network)
+ # }
+ # draw:
+ # icons:
+ # # you need to match any custom shield to the vector tile `network` values
+ # priority: 18
+ # early:
+ # filter: { $zoom: [7,8,9] }
+ # icons:
+ # visible: false
+ US-CA:
+ # Match California state highways: `US:CA`
+ filter: |
+ function() {
+ return feature.shield_text &&
+ /^US:CA$/.test(feature.network)
+ }
+ draw:
+ icons:
+ sprite: function() { return (feature.network + '_' + feature.shield_text.length + 'char'); }
+ text:
+ offset: [0px, 1px]
+ font:
+ fill: [1.0,1.0,1.0]
+ size: [[7,7px],[13,9px],[15,10px]]
+ motorway:
+ filter: { kind_detail: [motorway], $zoom: [7,8] }
+ draw:
+ icons:
+ visible: *text_visible_shields
+ trunk:
+ filter: { kind_detail: [trunk], $zoom: [8,9] }
+ draw:
+ icons:
+ visible: *text_visible_shields
+ primary:
+ filter: { kind_detail: primary, $zoom: [10,11] }
+ draw:
+ icons:
+ visible: *text_visible_shields
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[14px,16px]],[13,[15px,18px]],[15,[18px,21px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[18px,18px]],[13,[20px,20px]],[15,[23px,23px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[21px,18px]],[13,[24px,20px]],[15,[28px,23px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[24px,18px]],[13,[26px,20px]],[15,[31px,23px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[25px,18px]],[13,[27px,20px]],[15,[32px,23px]]]
+ US-NY:
+ # Match New York state highways: `US:NY`
+ filter: |
+ function() {
+ return feature.shield_text &&
+ /^US:NY$/.test(feature.network)
+ /* (/^US:NY$/.test(feature.network) || /^NY:US$/.test(feature.network)) */
+ }
+ draw:
+ icons:
+ sprite: |
+ function() { return ( 'US:NY_' + feature.shield_text.length + 'char'); }
+ text:
+ # offset: [0px, 1px]
+ font:
+ fill: [0.0,0.0,0.0]
+ size: [[7,7px],[13,9px],[15,10px]]
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[13px,17px]],[13,[15px,19px]],[15,[18px,22px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[17px,17px]],[13,[19px,19px]],[15,[22px,22px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[20px,17px]],[13,[22px,19px]],[15,[27px,22px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[21px,17px]],[13,[24px,19px]],[15,[29px,22px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[22px,17px]],[13,[25px,19px]],[15,[30px,22px]]]
+ US-PA:
+ # Match Pennsylvania state highways
+ filter: |
+ function() {
+ return feature.shield_text &&
+ /^US:PA$/.test(feature.network)
+ }
+ draw:
+ icons:
+ sprite: |
+ function() { return ( 'US:PA_' + feature.shield_text.length + 'char'); }
+ text:
+ offset: [0px, 1px]
+ font:
+ fill: [0.0,0.0,0.0]
+ size: [[7,7px],[13,9px],[15,10px]]
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[13px,17px]],[13,[15px,19px]],[15,[18px,22px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[17px,17px]],[13,[19px,19px]],[15,[22px,22px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[21px,17px]],[13,[24px,19px]],[15,[28px,22px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[22px,17px]],[13,[25px,19px]],[15,[30x,22px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[24px,17px]],[13,[27px,19px]],[15,[32px,22px]]]
+ # USA County Routes
+ US-counties:
+ # Match state highways: `US:??:*`
+ #
+ # this is very USA specific
+ #
+ # filter: |
+ # function() {
+ # return feature.shield_text &&
+ # /^US:(?!US)\w\w:.*$/.test(feature.network)
+ # }
+ #
+ # this generic for any country with 3rd level networks (like county routes in USA)
+ # BEWARE:
+ # US:US:Business about 150
+ # US:US:Truck
+ # US:US:Alternate
+ #
+ # STATE ROUTE
+ # ??:??:Loop about 200
+ # ??:??:Spur about 200
+ # ??:??:Business about 100
+ #
+ # STATE TEXAS SPECIAL ROUTE
+ # US:TX:FM -- probably just state? there are 3k of these
+ #
+ #
+ filter: |
+ function() {
+ return feature.shield_text &&
+ /^\w+:\w+:(!Alternate).+$/.test(feature.network) &&
+ $zoom > 10
+ }
+ draw:
+ icons:
+ # you need to match any custom shield to the vector tile `network` values
+ sprite: function() { return ('county_shield_' + feature.shield_text.length + 'char'); }
+ # priority: 19
+ visible: *text_visible_shields
+ text:
+ font:
+ fill: [0.320,0.320,0.320]
+ #size: [[11,7px],[15,10px]]
+ # early:
+ # filter: { $zoom: { max: 11 } }
+ # draw:
+ # icons:
+ # visible: false
+ width_1char:
+ filter: function() { return (feature.shield_text.length === 1) }
+ draw:
+ icons:
+ size: [[6,[14px,14px]],[13,[16px,16px]],[15,[18px,18px]]]
+ width_2char:
+ filter: function() { return (feature.shield_text.length === 2) }
+ draw:
+ icons:
+ size: [[6,[16px,14px]],[13,[18px,15px]],[15,[22px,18px]]]
+ width_3char:
+ filter: function() { return (feature.shield_text.length === 3) }
+ draw:
+ icons:
+ size: [[6,[20px,14px]],[13,[21px,15px]],[15,[26px,18px]]]
+ width_4char:
+ filter: function() { return (feature.shield_text.length === 4) }
+ draw:
+ icons:
+ size: [[6,[25px,14px]],[13,[28px,15px]],[15,[34px,18px]]]
+ width_5char:
+ filter: function() { return (feature.shield_text.length === 5) }
+ draw:
+ icons:
+ size: [[6,[30px,14px]],[13,[33px,15px]],[15,[40px,18px]]]
path:
filter:
all:
- kind: [path, portage_way]
not:
- - highway: [footway, steps, track, cycleway]
- - man_made: [pier]
+ - kind_detail: [footway, steps, track, cycleway]
+ - kind_detail: [pier]
draw:
dashedline:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
interactive: true
visible: false
color: [0.350,0.350,0.350]
lines:
color: [0.350,0.350,0.350]
pedestrian:
- filter: { highway: pedestrian }
+ filter: { kind_detail: pedestrian }
draw:
lines:
color: [[16,[0.749,0.749,0.749]]]
# color: [0.790,0.790,0.790]
# width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]]
bridge:
- filter: { is_bridge: yes }
+ filter: { is_bridge: true }
draw:
lines:
width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]]
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 58
+ priority: 61
visible: *text_visible_path
text_source: name
font:
size: 12px
stroke: { color: *text_stroke, width: 4 }
track:
- filter: { kind: path, highway: track }
+ filter: { kind: path, kind_detail: track }
draw:
lines:
color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]]
color: [0.790,0.790,0.790]
width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]]
bridge:
- filter: { is_bridge: yes }
+ filter: { is_bridge: true }
draw:
lines:
cap: butt
filter:
all:
- kind: path
- - highway: steps
+ - kind_detail: steps
draw:
dashed:
- #order: function() { return feature.sort_key; }
+ #order: function() { return feature.sort_rank; }
order: 1005
color: [0.501,0.650,0.650]
width: [[15, 0.6], [16, 1px], [17, 1px], [18, 4px], [19, 1.5m]]
filter: { $zoom: { min: 17 } }
draw:
text-blend-order:
- priority: 59
+ priority: 63
visible: *text_visible_steps
text_source: name
font:
text-blend-order:
text_source: function() { if( feature.name ){ return '◆◆ ' + feature.name; } else { return ''; } }
pier:
- filter: { kind: path, man_made: pier }
+ filter: { kind: path, kind_detail: pier }
draw:
lines:
color: [0.993,0.993,0.993]
color: [0.400,0.666,0.690]
width: [[13,0.5px],[14,1px],[15, 1px], [16, 1.5px], [18, 3px], [19, 5px]]
airport-lines:
- filter: { kind: minor_road, aeroway: [runway,taxiway] }
+ filter: { kind: aeroway }
draw:
lines:
color: [[11, [0.25,0.25,0.25]], [17, [0.0,0.0,0.0]]]
lines:
cap: butt
taxiway:
- filter: { aeroway: taxiway }
+ filter: { kind_detail: taxiway }
draw:
lines:
color: [[11, [0.885,0.885,0.885]], [13, [0.779,0.802,0.828]], [14,[0.779,0.802,0.828]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
draw:
lines:
visible: false
+ runway:
+ filter: { kind_detail: runway }
+ draw:
+ lines:
+ color: [[11, [0.885,0.885,0.885]], [13, [0.714,0.733,0.760]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]]
+ outline:
+ color: [[11, [0.894,0.906,0.914]], [14,[0.779,0.802,0.828]], [15, [0.714,0.733,0.760]], [16, [0.714,0.733,0.760]], [17, [0.744,0.764,0.792]]]
+ width: [[11, 0px], [14, 0px], [15, 0.75px], [16, 1.5px], [17, 2px], [18, 3px]]
ferry:
filter: { kind: ferry }
draw:
color: [0.5,0.5,0.5]
width: [[14, 0.5px], [15, 1.0px], [16, 2m]]
gondola_cable_car:
- filter: { aerialway: [gondola, cable_car] }
+ filter: { kind_detail: [gondola, cable_car] }
draw:
lines:
color: [0.45,0.45,0.45]
# color: [0.5,0.5,0.5]
# width: [[12, 0px], [13, 5px], [14, 8px], [15, 10px], [16, 12px]]
chair_lift:
- filter: { aerialway: chair_lift }
+ filter: { kind_detail: chair_lift }
draw:
lines:
color: [0.45,0.45,0.45]
filter: { $zoom: { min: 14 } }
draw:
text-blend-order:
- priority: 59
+ priority: 63
visible: *text_visible_aerialway
text_source: name
font:
size: 10px
stroke: { color: *text_stroke_park, width: 4 }
minor:
- filter: { not: { aerialway: [gondola,cable_car,chair_lift] }, $zoom: { max: 17 } }
+ filter: { not: { kind_detail: [gondola,cable_car,chair_lift] }, $zoom: { max: 17 } }
draw:
text-blend-order:
visible: false
early_gondola:
- filter: { $zoom: [14], aerialway: [gondola,cable_car] }
+ filter: { $zoom: [14], kind_detail: [gondola,cable_car] }
draw:
text-blend-order:
font:
filter:
any:
# limit show smaller landuse areas to higher zooms
- - { $zoom: [13], area: { min: 100000 }, name: true }
- - { $zoom: [13], area: { min: 100000 }, kind: true }
- - { $zoom: [13], height: { min: 250 } }
- - { $zoom: [13], volume: { min: 250000 } }
- - { $zoom: [14], area: { min: 20000 }, name: true }
- - { $zoom: [14], area: { min: 20000 }, kind: true }
- - { $zoom: [14], area: { min: 5000 }, landuse_kind: true }
- - { $zoom: [14], height: { min: 150 } }
- - { $zoom: [14], volume: { min: 150000 } }
+ - { $zoom: [13], scale_rank: [1,2] }
+ - { $zoom: [14], scale_rank: [1,2,3] }
- { $zoom: [15], area: { min: 5000 }, name: true }
- { $zoom: [15], area: { min: 5000 }, kind: true }
- { $zoom: [15], area: { min: 3000 }, landuse_kind: true }
#- { $zoom: [16], height: { min: 50 } }
- { $zoom: { min: 17 } }
all:
- - not: { location: underground }
- # filter:
- # $zoom: { min: 15 }
- # any:
- # # show footprints for buildings at least one zoom level before they will be extruded
- # - { $zoom: [13], area: { min: 50000 } }
- # - { $zoom: [13], height: { min: 250 } }
- # - { $zoom: [13], volume: { min: 200000 } }
- # - { $zoom: [14], area: { min: 5000 } }
- # - { $zoom: [14], height: { min: 190 } }
- # - { $zoom: [14], volume: { min: 150000 } }
- # - { $zoom: [15], height: { min: 100 } }
- # - { $zoom: [15], area: { min: 500 } }
- # - { $zoom: [15], volume: { min: 100000 } }
- # - { $zoom: [16], area: { min: 100 } }
- # - { $zoom: [16], volume: { min: 50000 } }
- # - { $zoom: { min: 17 } }
+ - not: { location: underground }
draw:
polygons:
visible: true
lines:
visible: true
- extrude:
- filter:
- any:
- # for the buildings that were visible at zoom 15, extrude those all up a bit at z17
- - { $zoom: [16], area: { min: 20000 }, name: true }
- - { $zoom: [16], area: { min: 20000 }, kind: true }
- - { $zoom: [16], area: { min: 5000 }, landuse_kind: true }
- - { $zoom: [16], height: { min: 150 } }
- - { $zoom: [16], volume: { min: 150000 } }
- - { $zoom: [17], area: { min: 5000 }, name: true }
- - { $zoom: [17], area: { min: 5000 }, kind: true }
- - { $zoom: [17], area: { min: 3000 }, landuse_kind: true }
- - { $zoom: [17], height: { min: 100 } }
- - { $zoom: [17], volume: { min: 100000 } }
- - { $zoom: { min: 18 } }
- draw:
- polygons:
- visible: true
- order: 438
- style: building-grid
- extrude: 100
- color: [0.930,0.940,0.940]
- lines:
- visible: true
- order: 439
- style: building-lines
- extrude: 100
- z16-default:
- filter: { $zoom: [16] }
- draw:
- polygons:
- extrude: 20
- lines:
- extrude: 20
- z18-default:
- filter: { $zoom: { min: 18 } }
- draw:
- polygons:
- extrude: 20
- lines:
- extrude: 20
- z18-special:
+ extrude:
filter:
any:
- - { $zoom: { min: 18 }, area: { min: 5000 }, name: true }
- - { $zoom: { min: 18 }, area: { min: 5000 }, kind: true }
- - { $zoom: { min: 18 }, area: { min: 3000 }, landuse_kind: true }
- - { $zoom: { min: 18 }, height: { min: 100 } }
- - { $zoom: { min: 18 }, volume: { min: 100000 } }
+ # for the buildings that were visible at zoom 15, extrude those all up a bit at z17
+ - { $zoom: [16], area: { min: 20000 }, name: true }
+ - { $zoom: [16], area: { min: 20000 }, kind: true }
+ - { $zoom: [16], area: { min: 5000 }, landuse_kind: true }
+ - { $zoom: [16], height: { min: 150 } }
+ - { $zoom: [16], volume: { min: 150000 } }
+ - { $zoom: [17], area: { min: 5000 }, name: true }
+ - { $zoom: [17], area: { min: 5000 }, kind: true }
+ - { $zoom: [17], area: { min: 3000 }, landuse_kind: true }
+ - { $zoom: [17], height: { min: 100 } }
+ - { $zoom: [17], volume: { min: 100000 } }
+ - { $zoom: { min: 18 } }
draw:
polygons:
+ visible: true
+ order: 438
+ style: building-grid
extrude: 100
+ color: [0.930,0.940,0.940]
lines:
+ visible: true
+ order: 439
+ style: building-lines
extrude: 100
+ z16-default:
+ filter: { $zoom: [16] }
+ draw:
+ polygons:
+ extrude: 20
+ lines:
+ extrude: 20
+ z18-default:
+ filter: { $zoom: { min: 18 } }
+ draw:
+ polygons:
+ extrude: 20
+ lines:
+ extrude: 20
+ z18-special:
+ filter:
+ any:
+ - { $zoom: { min: 18 }, area: { min: 5000 }, name: true }
+ - { $zoom: { min: 18 }, area: { min: 5000 }, kind: true }
+ - { $zoom: { min: 18 }, area: { min: 3000 }, landuse_kind: true }
+ - { $zoom: { min: 18 }, height: { min: 100 } }
+ - { $zoom: { min: 18 }, volume: { min: 100000 } }
+ draw:
+ polygons:
+ extrude: 100
+ lines:
+ extrude: 100
# landuse-specific rules
- { $zoom: [16], area: { min: 5000 } }
- { $zoom: [16], area: { min: 5000 } }
- { $zoom: [16], area: { min: 10000 }, landuse_kind: true }
- - { $zoom: [16], area: { min: 7000 }, kind: [university, college, school, kindergarten] }
+ - { $zoom: [16], area: { min: 7000 }, kind_detail: [university, college, school, kindergarten] }
- { $zoom: [16], volume: { min: 50000 }, name: true }
- { $zoom: [17], area: { min: 3000 } }
- - { $zoom: [17], area: { min: 2000 }, kind: [university, college, school, kindergarten] }
+ - { $zoom: [17], area: { min: 2000 }, kind_detail: [university, college, school, kindergarten] }
- { $zoom: [18], area: { min: 1000 } }
- - { $zoom: [18], kind: [university, college, school, kindergarten] }
+ - { $zoom: [18], kind_detail: [university, college, school, kindergarten] }
- { $zoom: [19], area: { min: 200 } }
- - { $zoom: { min: 19 }, kind: [university, college, school, kindergarten] }
+ - { $zoom: { min: 19 }, kind_detail: [university, college, school, kindergarten] }
- { $zoom: { min: 20 }, area: true }
draw:
text-blend-order:
$zoom: { min: 20 }
any:
- kind: address
- - { label_position: yes, addr_housenumber: true, name: false }
+ - { label_position: true, addr_housenumber: true, name: false }
draw:
text-blend-order:
interactive: true
draw:
lines:
interactive: true
- order: function() { return (feature.sort_key + 100); }
+ order: function() { return (feature.sort_rank + 100); }
# color: red
# width: [[9, 1px], [14, 2px], [16, 3px], [17, 8m]]
country:
filter:
- any:
- - type: country
- - kind: nation
- - admin_level: 2
+ kind: country
+ # any:
+ # - kind: country
+ # - kind_detail: 2
draw:
lines:
interactive: true
color: *country_boundary
width: [[1, 0.5px], [2, 1.0px], [4, 1.5px], [9, 2.5px], [14, 3.5px], [16, 4.5px], [17, 14m]]
water:
- filter: { maritime_boundary: yes }
+ filter: { maritime_boundary: true }
draw:
lines:
visible: false
- #order: function() { return (feature.sort_key - 2); }
+ #order: function() { return (feature.sort_rank - 2); }
#color: [0.568,0.942,1.000]
+
+ # other_country_boundary_disputed_etc:
+ # filter: { kind: [disputed, indefinite, indeterminate, lease_limit, line_of_control, overlay_limit] }
+ # draw:
+ # dashed:
+ # interactive: true
+ # color: *country_boundary
+ # width: [[1, 0.2px], [2, 0.5px], [4, 1.0px], [9, 1.5px], [14, 2.5px], [16, 3.5px], [17, 10m]]
+
region:
filter:
- any:
- - type: state
- # territorial here is probably a hack
- - kind: [state, department, region, provincial, territorial]
- - admin_level: 4
- not:
- # deal with bogus Hungary data
- - scalerank: 0
+ kind: region
+ # any:
+ # - type: state
+ # # territorial here is probably a hack
+ # - kind: [state, department, region, provincial, territorial]
+ # - kind_detail: 4
+ # not:
+ # # deal with bogus Hungary data
+ # - scalerank: 0
draw:
lines:
interactive: true
color: *region_boundary
width: [[0, 0.5px], [2, 1.0px], [5, 1.25px], [6, 1.5px], [7, 1.75px], [9, 2.0px], [14, 4.0px], [16, 5.0px], [17, 10m]]
water:
- filter: { maritime_boundary: yes }
+ filter: { maritime_boundary: true }
draw:
lines:
visible: false
early:
- filter: { scalerank: [0,3,4,5,6,7,8,9,10], $zoom: { max: 8 } }
+ filter: { not: { min_zoom: [1,2] }, $zoom: { max: 8 } }
draw:
lines:
visible: false
visible: false
region-z4:
- filter: { name: true, kind: [state], $zoom: [4], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
+ filter: { name: true, kind: [region], $zoom: [4], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
draw:
text-blend-order:
priority: 14
stroke: { color: *text_stroke, width: 4 }
region-z5:
- filter: { name: true, kind: [state], $zoom: [5], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
+ filter: { name: true, kind: [region], $zoom: [5], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
draw:
text-blend-order:
priority: 14
stroke: { color: *text_stroke, width: 4 }
region-z6:
- filter: { name: true, kind: [state], $zoom: [6], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
+ filter: { name: true, kind: [region], $zoom: [6], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } }
draw:
text-blend-order:
priority: 14
transform: uppercase
region:
- filter: { name: true, kind: [state], $zoom: {min: 7, max: 9} }
+ filter: { name: true, kind: [region], $zoom: {min: 7, max: 9} }
draw:
text-blend-order:
priority: 14
font: { transform: uppercase }
populated-places:
+ filter:
+ kind: locality
+ name: true
draw:
icons:
interactive: true
priority: 5
text:
interactive: true
- anchor: bottom
+ buffer: 3px
populated-places-natural-earth-z2:
- filter: { name: true, source: naturalearthdata.com, $zoom: [2], scalerank: 0 }
+ filter: { $zoom: [2], min_zoom: 2 }
draw:
icons:
size: 5px
stroke: { color: *text_stroke, width: 4 }
populated-places-natural-earth-z3:
- filter: { name: true, source: naturalearthdata.com, $zoom: [3] }
+ filter: { $zoom: [3] }
z3places-1:
- filter: { scalerank: [0] }
+ filter: { min_zoom: 2 }
draw:
icons:
size: 5px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
z3places-2:
- filter: { scalerank: [1] }
+ filter: { min_zoom: 3 }
draw:
icons:
priority: 7
stroke: { color: *text_stroke, width: 4 }
populated-places-natural-earth-z4:
- filter: { name: true, source: naturalearthdata.com, $zoom: [4] }
+ filter: { $zoom: [4] }
z4places-1:
- filter: { scalerank: [0] }
+ filter: { min_zoom: 2 }
draw:
icons:
size: 5px
stroke: { color: *text_stroke, width: 4 }
z4places-2:
- filter: { scalerank: [1,2] }
+ filter: { min_zoom: [3,4] }
draw:
icons:
priority: 7
stroke: { color: *text_stroke, width: 4 }
populated-places-natural-earth-z5:
- filter: { name: true, source: naturalearthdata.com, $zoom: [5] }
+ filter: { $zoom: [5] }
z5places-1:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
priority: 7
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
priority: 5
# priority: 6
z5places-2:
- filter: { scalerank: [2] }
+ filter: { min_zoom: 4 }
draw:
icons:
priority: 11
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
priority: 9
# priority: 10
z5places-3:
- filter: { scalerank: [3,4] }
+ filter: { min_zoom: 5 }
draw:
icons:
priority: 17
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
priority: 15
# priority: 16
populated-places-natural-earth-z6:
- filter: { name: true, source: naturalearthdata.com, $zoom: [6] }
+ filter: { $zoom: [6] }
z6places-1:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
priority: 7
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-l
# priority: 6
z6places-2:
- filter: { scalerank: [2,3,4] }
+ filter: { min_zoom: [4,5] }
draw:
icons:
priority: 11
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 6px
# priority: 10
z6places-3:
- filter: { scalerank: [5,6] }
+ filter: { min_zoom: 6 }
draw:
icons:
size: 5px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 6px
# priority: 14
populated-places-natural-earth-z7:
- filter: { name: true, source: naturalearthdata.com, $zoom: [7] }
+ filter: { $zoom: [7] }
z7places-1:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
size: 8px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 8px
# priority: 6
z7places-2:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
icons:
size: 6px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 8px
# priority: 12
z7places-3:
- filter: { scalerank: [6,7] }
+ filter: { min_zoom: [6,7] }
draw:
icons:
size: 5px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 6px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 8px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 6px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 6px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 5px
all:
- { population: { max: 50000 } }
any:
- - { capital: yes }
- - { state_capital: yes }
+ - { country_capital: true }
+ - { region_capital: true }
draw:
icons:
size: 5px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 5px
# priority: 18
populated-places-natural-earth-z8-backfill:
- filter: { name: true, source: naturalearthdata.com, $zoom: [8], population: { max: 50000 } }
+ filter: { $zoom: [8], population: { max: 50000 } }
draw: { icons: { text: { font: { fill: *text_fill } } } }
z8places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
size: 8px
size: 17px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 8px
# priority: 22
z8places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
icons:
size: 6px
size: 14px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
z8places-3-ne:
- filter: { scalerank: [6,7] }
+ filter: { min_zoom: [6,7] }
draw:
icons:
size: 5px
size: 10px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-s
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-s
all:
- { population: { max: 50000 } }
any:
- - { capital: yes }
- - { state_capital: yes }
+ - { country_capital: true }
+ - { region_capital: true }
draw:
icons:
size: 5px
fill: *text_fill
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-s
- population: false
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [9]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
icons:
size: 5px
stroke: { color: *text_stroke, width: 4 }
populated-places-natural-earth-z9-backfill:
- filter: { name: true, source: naturalearthdata.com, $zoom: [9], population: { max: 50000 } }
+ filter: { $zoom: [9], population: { max: 50000 } }
draw: { icons: { text: { font: { fill: *text_fill } } } }
z9places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
size: 8px
size: 17px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-l
# priority: 24
z9places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
icons:
size: 6px
size: 14px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
# priority: 27
z9places-3-ne:
- filter: { scalerank: [6,7,8,9] }
+ filter: { min_zoom: [6,7,9] }
draw:
icons:
size: 6px
size: 12px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
- population: false
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [10]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
icons:
size: 5px
stroke: { color: *text_stroke, width: 4 }
populated-places-natural-earth-z10-backfill:
- filter: { name: true, source: naturalearthdata.com, $zoom: [10], population: { max: 20000 } }
+ filter: { $zoom: [10], population: { max: 20000 } }
draw: { icons: { text: { font: { fill: *text_fill } } } }
z10places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
icons:
text:
stroke: { color: *text_stroke, width: 4 }
z10places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
icons:
size: 6px
size: 14px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
sprite: capital-m
# priority: 21
z10places-3-ne:
- filter: { scalerank: [6,7,8,9,10] }
+ filter: { min_zoom: [6,7,9,10] }
draw:
icons:
size: 5px
size: 12px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
icons:
size: 7px
- population: true
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [11]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
- population: false
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [11]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
font:
fill: *text_fill
z11places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 18px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 9
stroke: { color: *text_stroke, width: 4 }
z11places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 14px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 11
size: 14px
stroke: { color: *text_stroke, width: 4 }
state_capital:
- filter: { state_capital: yes }
+ filter: { region_capital: true }
draw:
text-blend-order:
priority: 12
stroke: { color: *text_stroke, width: 4 }
z11places-3-ne:
- filter: { scalerank: [6,7,8,9,10,11] }
+ filter: { min_zoom: [6,7,9,10] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 11px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 14
- population: true
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [12]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
- population: false
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [12]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
fill: *text_fill
z12places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 18px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 11
stroke: { color: *text_stroke, width: 4 }
z12places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 14px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 13
stroke: { color: *text_stroke, width: 4 }
z12places-3-ne:
- filter: { scalerank: [6,7,8,9,10,11,12] }
+ filter: { min_zoom: [6,7,9,10] }
draw:
text-blend-order:
visible: *text_visible_populated_places
size: 11px
stroke: { color: *text_stroke, width: 4 }
capital:
- filter: { capital: yes }
+ filter: { country_capital: true }
draw:
text-blend-order:
priority: 15
- population: true
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [13,14]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
- population: false
- not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] }
- $zoom: [13, 14]
- - kind: [city,town]
+ - kind_detail: [city,town]
draw:
text-blend-order:
anchor: center
weight: 400
z13places-1-ne:
- filter: { scalerank: [0,1] }
+ filter: { min_zoom: [2,3] }
draw:
text-blend-order:
priority: 8
visible: false
z13places-2-ne:
- filter: { scalerank: [2,3,4,5] }
+ filter: { min_zoom: [4,5,6] }
draw:
text-blend-order:
priority: 9
stroke: { color: *text_stroke, width: 4 }
z13places-3-ne:
- filter: { scalerank: [6,7,8,9,10,11,12] }
+ filter: { min_zoom: [6,7,9,10] }
draw:
text-blend-order:
visible: *text_visible_populated_places
font:
size: 12px
stroke: { color: *text_stroke, width: 4 }
-
+ neighbourhoods:
+ filter:
+ all:
+ - name: true
+ - kind: [macrohood, neighbourhood]
+ - is_landuse_aoi: false
neighborhood-z11:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
+ all:
- $zoom: [11]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11]
- - max_zoom: { min: 12 }
- - is_landuse_aoi: false
- #- kind_tile_rank: { max: 6 }
+ - min_zoom: [11]
+ - max_zoom: { min: 12 }
+ #- kind_tile_rank: { max: 6 }
draw:
text-blend-order:
priority: 18
stroke: { color: [0.894,0.906,0.914], width: 4 }
neighborhood-z12:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
- - $zoom: [12]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11,12]
- - max_zoom: { min: 13 }
- - is_landuse_aoi: false
- #- kind_tile_rank: { max: 8 }
+ all:
+ - $zoom: [12]
+ - min_zoom: [11,12]
+ - max_zoom: { min: 13 }
+ #- kind_tile_rank: { max: 8 }
draw:
text-blend-order:
priority: 18
stroke: { color: [0.894,0.906,0.914], width: 4 }
neighborhood-z13:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
- - $zoom: [13]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11,12,13]
- - max_zoom: { min: 14 }
- - is_landuse_aoi: false
- - kind_tile_rank: { max: 8 }
+ all:
+ - $zoom: [13]
+ - min_zoom: [11,12,13]
+ - max_zoom: { min: 14 }
+ - kind_tile_rank: { max: 8 }
draw:
text-blend-order:
priority: 18
stroke: { color: [0.904,0.916,0.924], width: 4 }
neighborhood-z14:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
- - $zoom: [14]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11,12,13,14]
- - max_zoom: { min: 15 }
- - is_landuse_aoi: false
- - kind_tile_rank: { max: 8 }
+ all:
+ - $zoom: [14]
+ - min_zoom: [11,12,13,14]
+ - max_zoom: { min: 15 }
+ - kind_tile_rank: { max: 8 }
draw:
text-blend-order:
priority: 18
stroke: { color: [0.914,0.926,0.934], width: 5 }
neighborhood-z15:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
- - $zoom: [15]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11,12,13,14,15]
- - max_zoom: { min: 16 }
- - is_landuse_aoi: false
- - kind_tile_rank: { max: 8 }
+ all:
+ - $zoom: [15]
+ - min_zoom: [11,12,13,14,15]
+ - max_zoom: { min: 16 }
+ - kind_tile_rank: { max: 8 }
draw:
text-blend-order:
priority: 18
size: 13px
neighborhood-z16:
filter:
- all:
- - name: true
- - kind: [macrohood, neighbourhood]
- - $zoom: [16]
- any:
- - source: [openstreetmap, openstreetmap.org]
- - source: [whosonfirst, whosonfirst.mapzen.com]
- all:
- - min_zoom: [11,12,13,14,15,16]
- - max_zoom: { min: 17 }
- - is_landuse_aoi: false
- - kind_tile_rank: { max: 8 }
+ all:
+ - $zoom: [16]
+ - min_zoom: [11,12,13,14,15,16]
+ - max_zoom: { min: 17 }
+ - kind_tile_rank: { max: 8 }
draw:
text-blend-order:
priority: 18
weight: 600
airport-gate:
data: { source: mapzen, layer: [pois] }
- filter: { kind: gate, aeroway: gate, $zoom: { min: 16 } }
+ filter: { kind: aeroway_gate, $zoom: { min: 16 } }
draw:
icons:
visible: false
size: [[13, 18px], [16, 18px], [18, 22px]]
interactive: true
visible: false
- priority: 45
+ priority: 65
repeat_group: abc
text:
visible: false # labels are enabled by each layer below
move_into_tile: false # preserves text alignment w/icons in JS
- anchor: bottom
+ buffer: 7px
interactive: true
font:
family: *text_font_family
text:
visible: false # labels are enabled by each layer below, and these are only for special cases like enclosures
move_into_tile: false # preserves text alignment w/icons in JS
- anchor: bottom
interactive: true
font:
family: *text_font_family
filter: { kind: [grass, pitch], $geometry: point, area: true, $zoom: { min: 16 } }
draw:
icons:
- sprite: function() { return feature.sport; }
+ sprite: function() { return feature.kind_detail; }
visible: *icon_visible_poi_landuse_e
priority: 49
baseball:
- filter: { sport: baseball }
+ filter: { kind_detail: baseball }
draw: { icons: { sprite: baseball-field } }
basketball:
- filter: { sport: basketball }
+ filter: { kind_detail: basketball }
draw: { icons: { sprite: basketball-court } }
football:
- filter: { sport: football }
+ filter: { kind_detail: football }
draw: { icons: { sprite: football-stadium } }
hockey:
- filter: { sport: hockey-field }
+ filter: { kind_detail: hockey-field }
draw: { icons: { sprite: hockey-field } }
soccer:
- filter: { sport: soccer }
+ filter: { kind_detail: soccer }
draw: { icons: { sprite: soccer-field } }
tennis:
- filter: { sport: tennis }
+ filter: { kind_detail: tennis }
draw: { icons: { sprite: tennis } }
tree:
filter: { kind: tree, $zoom: { min: 18 } }
all:
- area: true
- $geometry: point
- - kind: [national_park, "park or protected land"]
+ - kind: [national_park]
any:
# show labels for smaller landuse areas at higher zooms
- { $zoom: [4], area: { min: 3000000000 } }
#fill: [0.10,0.10,0.10]
size: 10px
stroke: { color: *text_stroke, width: 4 }
- early:
- filter: { $zoom: { max: 12 } }
- draw: { icons: { text: { visible: false } } }
+ # early:
+ # filter: { $zoom: { max: 12 } }
+ # draw: { icons: { text: { visible: false } } }
early2:
- filter: { $zoom: { min: 12, max: 14 } }
+ filter: { $zoom: { max: 14 } }
draw: { icons: { text: { font: { size: 10px } } } }
school:
filter:
weight: 400
style: italic
fill: '#4ba3c5'
- sports-pitch-areas:
- filter: { kind: [grass, pitch], $zoom: { min: 16 } }
- draw:
- icons:
- sprite: function() { return feature.sport; }
- visible: *icon_visible_poi_landuse_e
- priority: 49
- baseball:
- filter: { sport: baseball }
- draw: { icons: { sprite: baseball-field } }
- basketball:
- filter: { sport: basketball }
- draw: { icons: { sprite: basketball-court } }
- football:
- filter: { sport: football }
- draw: { icons: { sprite: football-stadium } }
- hockey:
- filter: { sport: hockey-field }
- draw: { icons: { sprite: hockey-field } }
- soccer:
- filter: { sport: soccer }
- draw: { icons: { sprite: soccer-field } }
- tennis:
- filter: { sport: tennis }
- draw: { icons: { sprite: tennis } }
landuse-labels-not-any-above:
filter:
all:
visible: true
text_source: short_name
hide-till-later:
- filter: { kind: [pedestrian,common,railway,ship,houseboat,common,grass,wetland], $zoom: { max: 17 } }
+ filter: { kind: [pedestrian,common,railway,ship,houseboat,common,grass,wetland,pitch], $zoom: { max: 17 } }
draw:
icons:
visible: false
text: { visible: false }
only-text-later:
- filter: { kind: [pedestrian,common,railway,ship,houseboat,common,grass,wetland], $zoom: { min: 17 } }
+ filter: { kind: [pedestrian,common,railway,ship,houseboat,common,grass,wetland,pitch], $zoom: { min: 17 } }
draw:
icons:
visible: false
icons:
visible: false
text: { visible: false }
+ garden-area-early:
+ filter:
+ all:
+ - kind: [garden, allotments]
+ any:
+ # limit show smaller landuse areas to higher zooms
+ - { $zoom: [12], area: { max: 500000 } }
+ - { $zoom: [13], area: { max: 100000 } }
+ - { $zoom: [14], area: { max: 10000 } }
+ - { $zoom: [15], area: { max: 5000 } }
+ draw:
+ icons:
+ visible: false
university-poi:
filter: { kind: [university, college], area: false, $zoom: { max: 16 } }
draw:
icons:
visible: false
text: { visible: false }
+ garden-no-area-early2:
+ filter: { kind: [garden, allotments], $zoom: { max: 16 }, area: false }
+ draw:
+ icons:
+ visible: false
+ garden-no-area-early:
+ filter: { kind: [garden, allotments], $zoom: [16], area: false }
+ draw:
+ icons:
+ priority: 45
+ size: 14px
+ text: { font: { size: 10px, style: italic } }
+ garden-no-area-later:
+ filter: { kind: [garden, allotments], $zoom: { min: 17 }, area: false }
+ draw:
+ icons:
+ priority: 45
+ size: 16px
+ text: { font: { size: 11px, style: italic } }
post-office-early:
filter: { kind: [post_office], $zoom: { max: 14 } }
draw:
icons:
visible: false
text: { visible: false }
- yes-early:
- filter: { kind: [yes], $zoom: { max: 18 } }
+ true-early:
+ filter: { kind: [true], $zoom: { max: 18 } }
draw:
icons:
visible: false
filter: { kind: [peak, volcano] }
draw:
icons:
- visible: true
+ visible: *icon_visible_landuse_green
priority: 43
- text: { visible: true }
+ text: { visible: *text_visible_landuse_green }
low-priority-early-z11:
filter: { kind_tile_rank: { min: 3 }, $zoom: [11,12] }
draw:
filter: { kind: [waterfall], $zoom: { max: 14 } }
draw:
icons:
- visible: true
- text: { visible: true }
+ visible: *icon_visible_landuse_green
+ text: { visible: *text_visible_landuse_green }
low-priority-early-z11:
filter: { kind_tile_rank: { min: 3 }, $zoom: [11,12] }
draw:
text:
visible: false
tower:
- filter: { kind: [tower], label_placement: yes }
+ filter: { kind: [tower], label_placement: true }
draw:
icons:
visible: false
visible: false
minor-z17-early:
filter:
- kind: [accountant, administrative, advertising_agency, architect, association, atm, bakery, bed_and_breakfast, bicycle, bicycle_parking, bicycle_rental_station, books, bus_stop, butcher, car, car_repair, chalet, clothes, company, computer, consulting, convenience, doityourself, drinking_water, dry_cleaning, educational_institution, emergency_phone, employment_agency, estate_agent, fashion, financial, florist, foundation, gate, gift, government, greengrocer, guest_house, hairdresser, hostel, hotel, insurance, it, jewelry, lawyer, mast, memorial, mobile_phone, motel, newspaper, ngo, notary, optician, parking, pet, physician, playground, political_party, post_box, religion, research, subway_entrance, tax_advisor, telecommunication, telephone, theatre, therapist, toilets, traffic_signals, travel_agent, water_tower, yes]
+ kind: [accountant, administrative, advertising_agency, architect, association, atm, bakery, bed_and_breakfast, bicycle, bicycle_parking, bicycle_rental_station, books, bus_stop, butcher, car, car_repair, chalet, clothes, company, computer, consulting, convenience, doityourself, drinking_water, dry_cleaning, educational_institution, emergency_phone, employment_agency, estate_agent, fashion, financial, florist, foundation, gate, gift, government, greengrocer, guest_house, hairdresser, hostel, hotel, insurance, it, jewelry, lawyer, mast, memorial, mobile_phone, motel, newspaper, ngo, notary, optician, parking, pet, physician, playground, political_party, post_box, religion, research, subway_entrance, tax_advisor, telecommunication, telephone, theatre, therapist, toilets, traffic_signals, travel_agent, water_tower, true]
area: false
$zoom: { max: 17 }
draw:
data: { source: mapzen }
draw:
terrain:
- order: function() { return feature.sort_key; }
+ order: function() { return feature.sort_rank; }
visible: false
tier1:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 3 }, area: { min: 300000000 } }
- - { $zoom: { min: 4 }, area: { min: 300000000 } }
- - { $zoom: { min: 5 }, area: { min: 150000000 } }
- - { $zoom: { min: 6 }, area: { min: 150000000 } }
- - { $zoom: { min: 7 }, area: { min: 100000000 } }
- - { $zoom: { min: 8 }, area: { min: 10000000 } }
- - { $zoom: { min: 9 }, area: { min: 5000000 } }
- - { $zoom: { min: 10 }, area: { min: 1000000 } }
- - { $zoom: { min: 11 }, area: { min: 500000 } }
- - { $zoom: { min: 12 }, area: { min: 500000 } }
- - { $zoom: { min: 13 }, area: { min: 100000 } }
- - { $zoom: { min: 14 }, area: { min: 50000 } }
- - { $zoom: { min: 15 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 3 }, area: { min: 300000000 } }
+ # - { $zoom: { min: 4 }, area: { min: 300000000 } }
+ # - { $zoom: { min: 5 }, area: { min: 150000000 } }
+ # - { $zoom: { min: 6 }, area: { min: 150000000 } }
+ # - { $zoom: { min: 7 }, area: { min: 100000000 } }
+ # - { $zoom: { min: 8 }, area: { min: 10000000 } }
+ # - { $zoom: { min: 9 }, area: { min: 5000000 } }
+ # - { $zoom: { min: 10 }, area: { min: 1000000 } }
+ # - { $zoom: { min: 11 }, area: { min: 500000 } }
+ # - { $zoom: { min: 12 }, area: { min: 500000 } }
+ # - { $zoom: { min: 13 }, area: { min: 100000 } }
+ # - { $zoom: { min: 14 }, area: { min: 50000 } }
+ # - { $zoom: { min: 15 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
+
national_park:
- filter: { kind: [national_park, "park or protected land", battlefield], not: { operator: [ "United States Forest Service", "US Forest Service", "U.S. Forest Service", "USDA Forest Service" ] } }
+ filter:
+ all:
+ - kind: [national_park, battlefield, protected_area]
+ any:
+ - not: { operator: [ "United States Forest Service" ] }
+ - protect_class: ['2','3','5']
draw:
terrain:
interactive: false
color: [0.890,1.00,1.00]
# todo: what is this?
- order: 18
+ #order: 18
visible: true
us_national_park:
# yosemite national park, death valley national park, grand canyon national park
- filter: { operator: [ "United States National Park Service", "US National Park Service" ] }
+ filter:
+ any:
+ - operator: [ "United States National Park Service" ]
+ - protect_class: ['2','3','5']
draw:
terrain:
visible: true
+ color: [0.890,1.00,1.00]
tier2:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 4 }, area: { min: 1000000000 } }
- - { $zoom: { min: 5 }, area: { min: 1000000000 } }
- - { $zoom: { min: 6 }, area: { min: 150000000 } }
- - { $zoom: { min: 7 }, area: { min: 100000000 } }
- - { $zoom: { min: 8 }, area: { min: 10000000 } }
- - { $zoom: { min: 9 }, area: { min: 5000000 } }
- - { $zoom: { min: 10 }, area: { min: 1000000 } }
- - { $zoom: { min: 11 }, area: { min: 500000 } }
- - { $zoom: { min: 12 }, area: { min: 250000 } }
- - { $zoom: { min: 13 }, area: { min: 100000 } }
- - { $zoom: { min: 14 }, area: { min: 50000 } }
- - { $zoom: { min: 15 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 4 }, area: { min: 1000000000 } }
+ # - { $zoom: { min: 5 }, area: { min: 1000000000 } }
+ # - { $zoom: { min: 6 }, area: { min: 150000000 } }
+ # - { $zoom: { min: 7 }, area: { min: 100000000 } }
+ # - { $zoom: { min: 8 }, area: { min: 10000000 } }
+ # - { $zoom: { min: 9 }, area: { min: 5000000 } }
+ # - { $zoom: { min: 10 }, area: { min: 1000000 } }
+ # - { $zoom: { min: 11 }, area: { min: 500000 } }
+ # - { $zoom: { min: 12 }, area: { min: 250000 } }
+ # - { $zoom: { min: 13 }, area: { min: 100000 } }
+ # - { $zoom: { min: 14 }, area: { min: 50000 } }
+ # - { $zoom: { min: 15 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
+
+ # effectively wilderness
conservation:
filter:
- kind: [conservation, protected_area, nature_reserve]
- $zoom: { min: 4 }
+ all:
+ - $zoom: { min: 4 }
+ - kind: [protected_area, nature_reserve, national_park]
+ - not: { protect_class: [2,3,5]}
draw:
terrain:
# color: [1.00,0.974,0.950]
- color: [0.945,0.995,0.945]
+ color: [0.88,0.99,0.88]
+ visible: true
+ # outline:
+ # style: lines
+ # color: *green6
+ # width: [[9,0px],[10,2px],[12,4px]]
+
+ national_forest_level_6:
+ filter:
+ all:
+ - kind: forest
+ any:
+ - protect_class: ['6']
+ - operator: ['United States Forest Service']
+ draw:
+ terrain:
+ color: [0.945,0.995,0.945] #*green7
visible: true
- wilderness-areas:
- filter: function() { return feature.name && feature.name.indexOf("Wilderness") > -1 }
- draw:
- terrain:
- order: 25
- visible: true
- national_forest_level_6:
- filter: { protect_class: ["6",6] }
+ parks-and-national-forests-not-national-park:
+ filter:
+ all:
+ - $zoom: { min: 4 }
+ - kind: [park, national_park]
+ any:
+ - not: { operator: [ "United States National Park Service", "United States Forest Service" ] }
+ - not: { protect_class: ['2','3','5','6'] }
+ # default for national forests and more?
+ draw:
+ terrain:
+ color: [0.880,1.000,0.950]
+ visible: true
+ national_park:
+ #filter: function() { return feature.name && (feature.name.indexOf('National Park') > -1); }
+ filter:
+ all:
+ - kind: national_park
+ - not: [ protect_class: ['2','3','5','6'], operator: [ "United States National Park Service"] ]
draw:
terrain:
- color: [0.945,0.995,0.945] #*green7
+ color: [0.890,1.00,1.00]
visible: true
+
# gotta be a protected area to draw green, not just a landcover type
farm:
filter:
color: [1.00,1.00,1.00]
visible: *green4_v
forest:
- filter: { kind: [forest,wood], $zoom: { min: 6 } }
- national-forest:
- filter:
- operator: [ "United States Forest Service", "US Forest Service", "U.S. Forest Service", "USDA Forest Service" ]
- draw:
- terrain:
- color: [0.936,0.981,0.946]
- visible: true
-
- landuse-forest:
- filter:
- not: { operator: [ "United States Forest Service", "US Forest Service", "U.S. Forest Service", "USDA Forest Service" ] }
- $zoom: { min: 6 }
- draw:
- terrain:
- color: [0.936,0.981,0.946]
- visible: true
-
- nature_reserve:
- filter: { kind: nature_reserve, $zoom: { min: 7 } }
- draw:
- terrain-grid:
- order: function() { return feature.sort_key; }
- wilderness-areas:
- filter: function() { return feature.name && feature.name.indexOf("Wilderness") > -1 }
- draw:
- terrain:
- color: [0.890,0.973,0.886]
- # outline:
- # style: lines
- # color: red
- # width: [[9,1px],[10,2px],[12,4px]]
-
- parks-and-national-forests-not-national-park:
- filter: { $zoom: { min: 4 }, kind: [park, national_park, "park or protected land", battlefield], not: { operator: [ "United States National Park Service", "US National Park Service" ] } }
- # default for national forests and more?
+ filter: { kind: [forest, wood, natural_wood, natural_forest, natural_park], $zoom: { min: 10 }, not: { operator: [ "United States Forest Service"] } }
draw:
terrain:
- color: [0.880,1.000,0.950]
- # color: [0.850,1.000,0.938]
- # color: [0.860,0.993,1.000]
- # color: [0.915,0.995,0.995]
+ color: [0.956,0.99,0.966]
visible: true
+
+ # nature_reserve:
+ # filter: { kind: nature_reserve, $zoom: { min: 7 } }
+ # draw:
+ # terrain-grid:
+ # order: function() { return feature.sort_rank; }
+ # wilderness-areas:
+ # filter: function() { return feature.name && feature.name.indexOf("Wilderness") > -1 }
+ # draw:
+ # terrain:
+ # color: [0.890,0.973,0.886]
+ # # outline:
+ # # style: lines
+ # # color: red
+ # # width: [[9,1px],[10,2px],[12,4px]]
+
+ # parks-and-national-forests-not-national-park:
+ # filter: { $zoom: { min: 4 }, kind: [park, national_park, "park or protected land", battlefield], not: { operator: [ "United States National Park Service", "US National Park Service" ] } }
+ # # default for national forests and more?
+ # draw:
+ # terrain:
+ # color: [0.880,1.000,0.950]
+ # # color: [0.850,1.000,0.938]
+ # # color: [0.860,0.993,1.000]
+ # # color: [0.915,0.995,0.995]
+ # visible: true
+
+
# urban:
# filter: { kind: [urban, rural, residential] }
# visible: *earth2_v
# color: [1.00,1.00,1.00]
# visible: *earth2_v
tier3:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 8 }, area: { min: 10000000 } }
- - { $zoom: { min: 9 }, area: { min: 5000000 } }
- - { $zoom: { min: 10 }, area: { min: 1000000 } }
- - { $zoom: { min: 11 }, area: { min: 500000 } }
- - { $zoom: { min: 12 }, area: { min: 500000 } }
- - { $zoom: { min: 13 }, area: { min: 100000 } }
- - { $zoom: { min: 14 }, area: { min: 50000 } }
- - { $zoom: { min: 15 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 8 }, area: { min: 10000000 } }
+ # - { $zoom: { min: 9 }, area: { min: 5000000 } }
+ # - { $zoom: { min: 10 }, area: { min: 1000000 } }
+ # - { $zoom: { min: 11 }, area: { min: 500000 } }
+ # - { $zoom: { min: 12 }, area: { min: 500000 } }
+ # - { $zoom: { min: 13 }, area: { min: 100000 } }
+ # - { $zoom: { min: 14 }, area: { min: 50000 } }
+ # - { $zoom: { min: 15 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
airport:
filter:
kind: aerodrome
color: *gray-all
visible: true
tier4:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 10 }, area: { min: 1000000 } }
- - { $zoom: { min: 11 }, area: { min: 500000 } }
- - { $zoom: { min: 12 }, area: { min: 500000 } }
- - { $zoom: { min: 13 }, area: { min: 100000 } }
- - { $zoom: { min: 14 }, area: { min: 50000 } }
- - { $zoom: { min: 15 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 10 }, area: { min: 1000000 } }
+ # - { $zoom: { min: 11 }, area: { min: 500000 } }
+ # - { $zoom: { min: 12 }, area: { min: 500000 } }
+ # - { $zoom: { min: 13 }, area: { min: 100000 } }
+ # - { $zoom: { min: 14 }, area: { min: 50000 } }
+ # - { $zoom: { min: 15 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
cemetery:
filter:
kind: cemetery
visible: true
tier5:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 10 }, area: { min: 1000000 } }
- - { $zoom: { min: 11 }, area: { min: 400000 } }
- - { $zoom: { min: 12 }, area: { min: 200000 } }
- - { $zoom: { min: 13 }, area: { min: 50000 } }
- - { $zoom: { min: 14 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 10000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
- all:
- - kind:
- - theme_park
- - resort
- - aquarium
- - winery
- - maze
- - beach
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 10 }, area: { min: 1000000 } }
+ # - { $zoom: { min: 11 }, area: { min: 400000 } }
+ # - { $zoom: { min: 12 }, area: { min: 200000 } }
+ # - { $zoom: { min: 13 }, area: { min: 50000 } }
+ # - { $zoom: { min: 14 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 10000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
+ # all:
+ # - kind:
+ # - theme_park
+ # - resort
+ # - aquarium
+ # - winery
+ # - maze
+ # - beach
tourism-related:
filter:
kind:
# color: [0.975,0.975,0.828]
visible: true
tier6:
- filter:
- any:
- # limit show smaller landuse areas to higher zooms
- - { $zoom: { min: 12 }, area: { min: 500000 } }
- - { $zoom: { min: 13 }, area: { min: 100000 } }
- - { $zoom: { min: 14 }, area: { min: 50000 } }
- - { $zoom: { min: 15 }, area: { min: 20000 } }
- - { $zoom: { min: 15 }, area: { min: 2000 } }
- - { $zoom: { min: 16 } }
+ # filter:
+ # any:
+ # # limit show smaller landuse areas to higher zooms
+ # - { $zoom: { min: 12 }, area: { min: 500000 } }
+ # - { $zoom: { min: 13 }, area: { min: 100000 } }
+ # - { $zoom: { min: 14 }, area: { min: 50000 } }
+ # - { $zoom: { min: 15 }, area: { min: 20000 } }
+ # - { $zoom: { min: 15 }, area: { min: 2000 } }
+ # - { $zoom: { min: 16 } }
garden:
filter:
kind: [garden, allotments]
kind: tree_row
draw:
lines:
- order: 501 # function() { return feature.sort_key; }
+ order: 501 # function() { return feature.sort_rank; }
color: [0.602,0.860,0.722]
width: [[16,1px],[17,2px],[19,1.5m]]
visible: true
kind: hedge
draw:
lines:
- order: 500 # function() { return feature.sort_key; }
+ order: 500 # function() { return feature.sort_rank; }
color: [0.602,0.860,0.722]
width: [[16,0.5px],[17,1px],[19,1m]]
visible: true
all:
- kind: path
not:
- - man_made: [pier]
+ - kind_detail: [pier]
draw:
lines:
color: [[11,[0.408,0.741,0.690]],[15,[0.131,0.667,0.575]]] #[11,[0.252,0.509,0.60]],[12,[0.120,0.600,0.520]]
paths:
filter:
any:
- - highway: path
+ - kind_detail: path
- all:
- - highway: track
+ - kind_detail: track
- motor_vehicle: no
draw:
lines:
# single hiking path
footway:
- filter: { highway: [footway] }
+ filter: { kind_detail: [footway] }
draw:
dots-lines:
order: 1002
filter: { footway: [sidewalk, crossing], not: { walking_network: true } }
draw:
lines:
- order: 350 # function() { return feature.sort_key; }
+ order: 350 # function() { return feature.sort_rank; }
dots-lines:
- order: 351 # function() { return (feature.sort_key + 1); }
+ order: 351 # function() { return (feature.sort_rank + 1); }
dashedline:
visible: false
early-z17:
cycleway_pedestrian:
filter:
all:
- - highway: [cycleway, pedestrian]
- - not: { highway: [pedestrian], walking_network: true }
+ - kind_detail: [cycleway, pedestrian]
+ - not: { kind_detail: [pedestrian], walking_network: true }
draw:
lines:
# color: blue #[0.120,0.600,0.520]
filter:
all:
- kind: path
- - highway: [track]
+ - kind_detail: [track]
- motor_vehicle: false
draw:
lines:
- walking_network: true
- not:
any:
- - { kind: [path,ferry], not: { highway: pedestrian } }
+ - { kind: [path,ferry], not: { kind_detail: pedestrian } }
#- motor_vehicle: [no,false]
- - highway: [track]
+ - kind_detail: [track]
draw:
lines:
color: [0.120,0.600,0.520]