logo separator

[mkgmap-dev] Garmin Topo Europe map

From 7770 7770 at foskan.eu on Wed Dec 30 11:08:25 GMT 2020

Hi.
I am ok with sharing the style, but i was not able to do it until today 
(planned today or tomorrow).
5 files attached, 4 related to style, 1 to TYP (foskan.txt).
Only those 4 style files have changes, compared to the standard.

The complete set of files is ./mkgmap-rNNNN/examples/styles/default/


There is nothing fancy nor complex, nor have i played around with the levels 
yet.

For reference i also added my TYP-file, which may help in case you find some 
type codes which are non standard (there might be a few). The type file is 
shared and does contain a few things that are not used by the minimal style 
(don't get confused).


Summery of the style, which is based on the default mkgmap example.
All changes comments are marked with ## to be able to tell them apart from 
regular comments given after #.

polygons and points do have a lot of disabled information.
Buildings, shops, and most of the parking types are disables.

lines doesn't have as many changes and probably a few more small waterways 
(streams, rapids, waterfalls) can be disabled to remove yet a bit of data.

note for polygons.
Waters and forests are still visible, since it adds information to the map, 
but if natural objects are not important for you, there is more space to save.

i have made one change in lines file to display the road name on tertiary roads 
instead of the reference. this does make sense in nordic countries, where 
tertiary roads are usually only referred to with the name.

Ski lifts (arealways in general) are set in similar way as railroads.

One last thing to mention is that i have updated the inc/address file.
Close to the end there is a section in which the mkgmap:phone is updated to 
show information about which fuels are sold at fuel stations. This is not 
fully complete for all fuel types but the ones i somehow considered important. 
Depending on where one is, a few more fuel types can easily be added.

A note.
The mkgmap:phone seems to be 50 characters maximum, longer data will be 
truncated and not shown on the device it seems.


Regards and happy new year!
Karl

On onsdag 30 december 2020 kl. 10:16:51 CET Vuki wrote:
> Hi Karl,
> 
> don't you want to share your minimal style? :)
> 
> 
> Köszi:
> Vuki
> On 2020.12.27. 20:59, 7770 wrote:
> 
> Hi.
> A few observations about the TopoActive europe map. (i have it on a GPSMAP
> 66st).
> 
> The map is rendered slower than most custom made maps.
> Updates occur 2 times per year, but even at those times many changes to OSM
> are not present. Perhaps they only update some parts yearly.
> Points lack all kind of additional information which other mappers add
> (opening hours, region, phone numbers, etc.).
> One nice thing is colour marked national parks and reserves.
> Being an outdoor map, it lacks some information about shelters in the
> wilderness.
> Routing is possible only for outdoor activities (cycle, walk, hike, direct),
> automotive routing (car, motorcycle) is disabled.
> 
> I have tried creating a minimal style. This lowers the data to about 75 % or
> my normal set up. But i did not change the level, which i will try :-)
> Currently I am no way near the compression which TopoActive achieves. Using
> input data which is about 6,7 GB in pbf format, creates a gmapsupp just
> below 4 GB for normal and around 3 GB for minimal style. These numbers
> feels similar to getting France into 1.9 GB from 3.7 GB pbf (geofabrik).
> 
> 
> The minimal set up is not very fancy at all, it disables things not wanted.
> Buildings, shops, most of parkings, and a bit more.
> 
> Today i cannot send off any style, but in case that would be of interest let
> me know and i can share it in a few days (guessing Wednesday or Thursday).
> 
> 
> Regards
> Karl
> 
> On söndag 27 december 2020 kl. 20:08:10 CET Gerd Petermann wrote:
> 
> Hi Pierre,
> 
> my first guess would be that the level 0 is at resolution 23 instead of 24.
> 
> Gerd
> 
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von
> Pierre Brico <pierre.brico at gmail.com> Gesendet: Sonntag, 27. Dezember 2020
> 19:37
> An: Development list for mkgmap
> Betreff: [mkgmap-dev] Garmin Topo Europe map
> 
> 
> Hello guys,
> 
> I've just discovered the Garmin TopoActive Europe map based on OpenStreetMap
> data. This map is sold at a price of 50€ or is pre-installed on some new
> devices. I've just seen it on the device of one of my friends and it looks
> very good. I'm surprised to see that for West Europe, it takes only 2.8GB
> and is quite complete (index for search, routable, ...).
> 
> For now, I generate my own maps based on your excellent tool but the result
> is much bigger (1.9GB only for France with probably more details). So, my
> question is: does anybody have a similar configuration (style files and
> command line) to obtain a result like the Garmin TopoActive Europe ?
> 
> Thanks,
> Pierre
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> 
> 
> 
> 
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

-------------- next part --------------
# -------------------------------------------------------------------
## FOSKAN 2020-10-14.
## This is a style made for minimalistic road network and car routing.
## Based on the default mkgmap style, but with much disabled.
## FOSKAN comments are made by ##
# -------------------------------------------------------------------
# This is the default mkgmap style file for converting OSM ways
# into Garmin lines.
# Any line prefaced with # is a comment and will not be applied.
# Each line is a rule, of the generalised format:
#  OSM_tag(s)_to_match  [Garmin_type_code resolution]
# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules
# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles
# for more information.

addr:housenumber=* {set mkgmap:execute_finalize_rules=true}

abandoned=yes {deletealltags}  # old, depreciated, ambiguous, method of handling abandoned

# do these as lines regardless of being closed unless explicity marked as area. continue in case also a highway
aeroway=runway & area!=yes {name '${ref}'} [0x27 resolution 20 continue]
(aeroway=taxiway | aeroway=taxilane) & area!=yes {name '${ref}'} [0x27 resolution 24 continue]

# Assign the street name for house number search
highway=* & name=* {set mkgmap:street='${name}'}

# Mark highways with the toll flag
highway=* & (toll=yes | toll=true) {set mkgmap:toll=yes}

# Hide proposed ways
highway=proposed | highway=proposal | highway=planned | highway~'.*proposed.*' {delete highway; delete junction}
# Hide removed ways
highway=razed | highway=dismantled | highway=disused | highway=demolished {delete highway; delete junction}
# Hide abandoned ways. Abandoned highways have some evidence of their former existence but are no longer used. These
# abandoned highways could be useful in topographical maps.
# https://wiki.openstreetmap.org/wiki/Key:abandoned:
(abandoned:highway=* & (highway!=* | highway=yes)) | highway=abandoned {delete highway; delete junction}
# Hide other non-existent ways
highway=unbuilt | highway=neverbuilt | highway=rejected | highway~'x-.*' {delete highway; delete junction}
# Remove highway tag from ways which are not suitable for routing
highway=traffic_signals | highway=junction | highway=island | highway=centre_line | highway=traffic_island | highway=stopline |
    highway=bus_stop | highway=bus_guideway | highway=emergency_access_point | highway=ohm:military:Trench
    {delete highway}
highway=via_ferrata {delete highway}  # this shouldn't show as routable on default map: path only for specialists
highway=piste | highway=ski {delete highway}
highway=no | highway=none {delete highway}

# Disable dead-end-checks for unaccessible oneways
highway=* & oneway=yes & (access=private | access=no) {add mkgmap:dead-end-check=false}
# Validation-like checks (uncomment to enable)
#highway=motorway_link & oneway!=yes & oneway!=no {echo "motorway_link lacks oneway"}
highway=motorway | highway=motorway_link {add oneway=yes; add mkgmap:numbers=false}

# start of rules for process-exits and process-destination options
# which may add info to a part of these highway=*_link roads:
# motorway_link, trunk_link, primary_link, secondary_link, tertiary_link
# build destination hint
mkgmap:dest_hint=* {
    set tmp:dest_hint='${destination:ref|subst: =>} ${mkgmap:dest_hint|subst:;=> |subst:/=> }' |
                      '${ref|subst: =>} ${mkgmap:dest_hint|subst:;=> |subst:/=> }' |
                      '${mkgmap:dest_hint|subst:;=> |subst:/=> }';
    }
# build exit hint
mkgmap:exit_hint=true {
    set tmp:exit_hint='Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' |
                      'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' |
                      'Exit ${mkgmap:exit_hint_exit_to}' |
                      'Exit ${mkgmap:exit_hint_name}' |
                      'Exit ${mkgmap:exit_hint_ref}';
    }
# use destination hint and/or exit hint to build name
mkgmap:exit_hint=true | mkgmap:dest_hint=* {name '${tmp:exit_hint} ${tmp:dest_hint}' | '${tmp:dest_hint}' | '${tmp:exit_hint}'}
# end of rules for process-exits and process-destination options

# Flag paved roads
highway=* & (surface=asphalt | surface=paved | surface=sett |
    surface=concrete | surface=concrete:lanes | surface=concrete:plates |
    surface=paving_stones | surface=cobblestone |
    surface=cobblestone:flattened | surface=metal | surface=wood)
    {set mkgmap:unpaved=0}
highway=* & tracktype=grade1 & surface!=* {set mkgmap:unpaved=0}

# Flag unpaved roads.
highway=* & mkgmap:unpaved!=0 & (
    surface=* |
    mtb:scale=* |
    tracktype~'grade[2-6]')
    {add mkgmap:unpaved=1}
highway=* & (
    mtb:scale~'[2-6].' |
    sac_scale~'.*(mountain|alpine)_hiking' |
    sport=via_ferrata)
    {set mkgmap:unpaved=1}
(highway=bridleway | highway=path | highway=track) & mkgmap:unpaved!=0 {add mkgmap:unpaved=1}
(highway=unsurfaced | highway=via_ferrata) {set mkgmap:unpaved=1}

highway=* & mkgmap:unpaved!=1 & smoothness~'.*(bad|horrible|impassable)' {add mkgmap:road-speed=-2}

# Good ways without relation
highway=* & mkgmap:fast_road!=* & (int_ref=* | network=e-road | network=AH | network=TAH | network=US:I | network=US:US)
    {add mkgmap:fast_road=yes}
# Not best for car routing
highway=* & (access=hov | hov=designated | oneway=reversible)
    {set mkgmap:road-class=-2; set mkgmap:road-speed=-2; delete mkgmap:fast_road}

# convert some specific to generic with restrictions (platform is in a bus station)
highway=steps | highway=corridor | highway=stepping_stones | highway=elevator | highway=escalator | highway=platform
    {set highway=footway; add bicycle=no}
# virtual seems to be a way across a pedestrian area
highway=crossing | highway=virtual
    {set highway=path}  # following logic may change

# Convert generic path to most specific
highway=path & (designation=permissive_bridleway | designation=public_bridleway)
    {set highway=bridleway; add foot=yes}
highway=path & (designation=permissive_footpath | designation=public_footpath)
    {set highway=footway; add foot=designated}
highway=path & snowplowing!=no & (bicycle=designated | bicycle=permissive | bicycle=official | cycleway=lane)
    {set highway=cycleway; add foot=yes}
highway=path & foot=designated
    {set highway=footway}

## leisure=track & area!=yes {name '${name} (${sport})' | '${sport}'} [0x30 resolution 22]
man_made=pier | man_made=piste:halfpipe {add highway=footway; name '${ref} ${name}' | '${ref}' | '${name}'}

man_made=breakwater & is_closed()=false & mkgmap:mp_created!=true [0x17 resolution 22 default_name 'Breakwater']

# Roundabouts
junction=roundabout & (highway=trunk | highway=trunk_link) [0x0c road_class=4 road_speed=2 resolution 24 continue]
junction=roundabout & (highway=trunk | highway=trunk_link) [0x10801 resolution 18]

junction=roundabout & (highway=primary | highway=primary_link) & mkgmap:fast_road=yes [0x0c road_class=4 road_speed=2 resolution 24 continue]
junction=roundabout & (highway=primary | highway=primary_link) & mkgmap:fast_road=yes [0x10802 resolution 19]

junction=roundabout & (highway=primary | highway=primary_link) [0x0c road_class=3 road_speed=2 resolution 24 continue]
junction=roundabout & (highway=primary | highway=primary_link) [0x10802 resolution 19]

junction=roundabout & (highway=secondary | highway=secondary_link) & mkgmap:fast_road=yes [0x0c road_class=3 road_speed=2 resolution 24 continue]
junction=roundabout & (highway=secondary | highway=secondary_link) & mkgmap:fast_road=yes [0x10803 resolution 20]

junction=roundabout & (highway=secondary | highway=secondary_link) [0x0c road_class=2 road_speed=2 resolution 24 continue]
junction=roundabout & (highway=secondary | highway=secondary_link) [0x10803 resolution 20]

junction=roundabout & (highway=tertiary | highway=tertiary_link) [0x0c road_class=1 road_speed=1 resolution 24 continue]
junction=roundabout & (highway=tertiary | highway=tertiary_link) [0x10804 resolution 21]

junction=roundabout & (highway=unclassified | highway=minor) [0x0c road_class=1 road_speed=1 resolution 21]
junction=roundabout & highway=* [0x0c road_class=0 road_speed=1 resolution 22]

# Ways that may or may not be useable

# Treat ways under construction almost as highway=path, see also extra rule in inc/access
highway=construction {add mkgmap:dead-end-check=false} [0x16 road_class=0 road_speed=0 resolution 23]

# Lower the road speed of ways under some construction.
highway=* & construction=* & maxspeed!=* {add mkgmap:road-speed='-1'}
# Lower the road speed of disused ways.
highway=* & disused=yes & maxspeed!=* {add mkgmap:road-speed='-2'}

# Ways sorted roughly by descending order of class
highway=motorway & mkgmap:fast_road=yes [0x01 road_class=4 road_speed=7 resolution 14]
highway=motorway [0x01 road_class=4 road_speed=7 resolution 15]
highway=motorway_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=4 road_speed=2 resolution 20]
highway=motorway_link [0x09 road_class=4 road_speed=2 resolution 20]

highway=trunk & mkgmap:fast_road=yes [0x02 road_class=4 road_speed=5 resolution 15]
highway=trunk [0x02 road_class=4 road_speed=5 resolution 18]
highway=trunk_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=4 road_speed=2 resolution 20]
highway=trunk_link [0x09 road_class=4 road_speed=2 resolution 20]
highway=* & motorroad=yes [0x02 road_class=4 road_speed=4 resolution 18]
highway=primary & mkgmap:fast_road=yes [0x03 road_class=4 road_speed=4 resolution 17]
highway=primary [0x03 road_class=3 road_speed=4 resolution 17]
highway=primary_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) & mkgmap:fast_road=yes [0x0b road_class=4 road_speed=1 resolution 21]
highway=primary_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=3 road_speed=1 resolution 21]
highway=primary_link & mkgmap:fast_road=yes [0x08 road_class=4 road_speed=1 resolution 21]
highway=primary_link [0x08 road_class=3 road_speed=1 resolution 21]
highway=secondary & mkgmap:fast_road=yes [0x04 road_class=3 road_speed=3 resolution 18]
highway=secondary [0x04 road_class=2 road_speed=3 resolution 20]
highway=secondary_link & mkgmap:fast_road=yes [0x08 road_class=3 road_speed=1 resolution 22]
highway=secondary_link [0x08 road_class=2 road_speed=1 resolution 22]
highway=tertiary [0x05 road_class=1 road_speed=3 resolution 20]
highway=tertiary_link [0x08 road_class=1 road_speed=1 resolution 22]
highway=minor [0x06 road_class=1 road_speed=3 resolution 21]
highway=unclassified [0x06 road_class=0 road_speed=3 resolution 21]

highway=yes {set highway=footway}  # fix common bad tagging - little bits of path to join other routable ways

# Some countries allow, others disallow bicycling on pedestrian streets. See inc/access_country

# highway=pedestrian could be closed polygon to represent a 'square', add route regardless and continue for polygon processing
highway=pedestrian {set tmp:stopMopUp=yes} [0x16 road_class=0 road_speed=0 resolution 22 continue with_actions]

highway=living_street [0x06 road_class=0 road_speed=1 resolution 22]
highway=residential [0x06 road_class=0 road_speed=2 resolution 22]
highway=bridleway [0x07 road_class=0 road_speed=0 resolution 23]
highway=byway [0x16 road_class=0 road_speed=0 resolution 23]

highway=driveway {set highway=service; add service=driveway}  # fix common bad tagging
highway=access  {set highway=service}  # fix common bad tagging
highway=access_ramp {set highway=footway}  # proposed

highway=service & service=parking_aisle [0x07 road_class=0 road_speed=1 resolution 24]
highway=service & (service=alley | service=driveway) [0x07 road_class=0 road_speed=0 resolution 23]
highway=service [0x07 road_class=0 road_speed=2 resolution 22]

highway=cycleway [0x11 road_class=0 road_speed=1 resolution 23]

# highway=footway is often an area as well, continue for polygon processing
highway=footway {set tmp:stopMopUp=yes} [0x16 road_class=0 road_speed=0 resolution 23 continue with_actions]

highway=trail {set highway=path; add bicycle=no}  # fix common bad tagging

highway=path [0x16 road_class=0 road_speed=0 resolution 22]
highway=track [0x0a road_class=0 road_speed=1 resolution 22]
highway=unsurfaced [0x0a road_class=0 road_speed=1 resolution 22]
highway=road {add mkgmap:dead-end-check=false} [0x06 road_class=0 road_speed=1 resolution 22]

# handle some rarer bits of road. Do just in case joining paths or bits of one-way roads
highway=turning_loop | highway=turning_circle | highway=layby | highway=escape | highway=emergency_bay
    [0x07 road_class=0 road_speed=0 resolution 24]

# These are too specialized to have routing, so shouldn't drop into the mop-up, but, maybe needing TYP, can be shown on the map
## highway=raceway | highway=gallop {add name='${highway}'} [0x30 resolution 23]

# Don't have routable for either of these:
# most 'rest_area' don't connect to the main road
# 'services' is normally a big area that covers the whole complex
highway=rest_area | highway=services {set tmp:stopMopUp=yes}

# Mop up any unrecognised highway types
#highway=* & tmp:stopMopUp!=yes {echotags 'mop-up highway'}  # mostly actual road names
# It is considered best not to process unrecognised highway types
#highway=* & area!=yes & tmp:stopMopUp!=yes [0x07 road_class=0 road_speed=0 resolution 23]

natural=coastline [0x15 resolution 12]
## power=line [0x29 resolution 21]

railway=platform [0x16 road_class=0 road_speed=0 resolution 23]
# Railway lines, note that many devices display type 0x14 only at resolution 24
(railway=rail | railway=tram | railway=disused | railway=subway | railway=narrow_gauge | railway=light_rail | railway=preserved) & !(tunnel=yes)
    [0x14 resolution 22]

## Add ski lifts and alike
aerialway=* {add name='Aerialway ${name} (${aerialway})' | 'Aerialway (${aerialway})' } [0x10a10 resolution 22]


(man_made=cable | (man_made=* & man_made~'.*pipe.*')) & area!=yes & tunnel!=yes & location!=underground
    {name '${name} (${operator})' | '${name}' | '${operator}'} [0x28 resolution 23]

# The following boundary styles are after the highway rules because ways
# are frequently tagged with both and we want the highway to take priority.
boundary=administrative {name '${mkgmap:boundary_name}'}
boundary=administrative & admin_level<3 [0x1e resolution 12]
boundary=administrative & admin_level<5 [0x1d resolution 19]
boundary=administrative & admin_level<7 [0x1c resolution 21]
boundary=administrative & admin_level<9 [0x1c resolution 22]
boundary=administrative [0x1c resolution 22]
boundary=national [0x1e resolution 17]
boundary=political [0x1c resolution 19]

## barrier=wall | barrier=fence | barrier=hedge | barrier=ditch {add name='${barrier|subst:"_=> "}'} [0x17 resolution 24]

route=ferry & (toll=no | toll=false) {set mkgmap:toll=no}
route=ferry {set mkgmap:numbers=false; set mkgmap:ferry=1; add mkgmap:toll=yes}
route=ferry & (motorcar=no | motor_vehicle=no) [0x1b road_class=0 road_speed=0 resolution 23]
route=ferry [0x1a road_class=3 road_speed=0 resolution 19]

(waterway=river | waterway=canal) & intermittent=yes [0x26 resolution 20]
(waterway=stream | waterway=drain) & intermittent=yes [0x26 resolution 22]

waterway=canal [0x1f resolution 21]
waterway=river [0x1f resolution 18]
waterway=rapids|waterway=waterfall [0x1f resolution 22]
waterway=stream | waterway=drain [0x18 resolution 22]

# mop up any remaining water lines
waterway=* & waterway!=no & (area=no | (is_closed()=false & mkgmap:mp_created!=true))
    {add name='${waterway|subst:"_=> "}'} [0x26 resolution 24]

include 'inc/contour_lines';

<finalize>
# The finalizer section is executed for each element when a rule with an element type matches

include 'inc/address';
# calculate the road speed based on maxspeed tag
include 'inc/roadspeed';
# calculate the access rules
include 'inc/access';
                                   
#limit artificial cycleways to resolution 24
mkgmap:synthesised=yes & mkgmap:bicycle=yes {set mkgmap:highest-resolution-only=true}

# don't add house numbers to unnamed or artifical bicycle ways
mkgmap:bicycle=yes & (mkgmap:foot=no & mkgmap:car=no & mkgmap:street!=* | mkgmap:synthesised=yes) {set mkgmap:numbers=false}

# Display highway shield for mayor roads if they have a ref and make them searchable by their name
(highway=motorway | highway=trunk)     & ref=* {name '${ref|highway-symbol:hbox}'; addlabel '${name}'}
highway=primary                        & ref=* {name '${ref|highway-symbol:box}' ; addlabel '${name}'}
## foskan
(highway=secondary) & ref=* {name '${ref|highway-symbol:oval}'; addlabel '${name}'}
## original
## (highway=secondary | highway=tertiary) & ref=* {name '${ref|highway-symbol:oval}'; addlabel '${name}'}

name=* {name '${name}'}
highway=* & ref=* & highway!=motorway & highway!=trunk & highway!=primary & highway!=secondary & highway!=tertiary
    {addlabel '${ref}'}

highway=* & int_ref=* {addlabel '${int_ref}'}
highway=* & nat_ref=* {addlabel '${nat_ref}'}
highway=* & reg_ref=* {addlabel '${reg_ref}'}
-------------- next part --------------
# -------------------------------------------------------------------
## FOSKAN 2020-10-14.
## This is a style made for minimalistic road network and car routing.
## Based on the default mkgmap style, but with much disabled.
## FOSKAN comments are made by ##
# -------------------------------------------------------------------
# This is the default mkgmap style file for converting OSM nodes
# into Garmin POIs.
# Any line prefaced with # is a comment and will not be applied.
# Each line is a rule, of the generalised format:
#  OSM_tag(s)_to_match  [Garmin_type_code resolution]
# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules
# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles
# for more information.

addr:housenumber=* {set mkgmap:execute_finalize_rules=true}

# impose routing/speed restrictions due to access/barrier. See option --link-pois-to-ways

vehicle=* {
    add bicycle='${vehicle}';
    add motor_vehicle='${vehicle}';
    }
motor_vehicle=* {
    add motorcar='${motor_vehicle}';
    add goods='${motor_vehicle}';
    add hgv='${motor_vehicle}';
    add psv='${motor_vehicle}';
    add emergency='${motor_vehicle}';
    }
psv=* {
    add taxi='${psv}';
    add bus='${psv}';
    }

barrier=* & bicycle=*   {set mkgmap:bicycle  =  '${bicycle|subst:private=>no}'}
barrier=* & foot=*      {set mkgmap:foot     =     '${foot|subst:private=>no}'}
barrier=* & hgv=*       {set mkgmap:truck    =      '${hgv|subst:private=>no}'}
barrier=* & motorcar=*  {set mkgmap:car      = '${motorcar|subst:private=>no}'}
barrier=* & bus=*       {set mkgmap:bus      =      '${bus|subst:private=>no}'}
barrier=* & taxi=*      {set mkgmap:taxi     =     '${taxi|subst:private=>no}'}
barrier=* & emergency=* {set mkgmap:emergency='${emergency|subst:private=>no}'}
barrier=* & goods=*     {set mkgmap:delivery =    '${goods|subst:private=>no}'}

barrier=bollard | barrier=block {
    add mkgmap:car=no;
    add mkgmap:delivery=no;
    add mkgmap:truck=no;
    add mkgmap:bus=no;
    add mkgmap:taxi=no;
    add mkgmap:emergency=no;
    }
barrier=cycle_barrier | barrier=kissing_gate | barrier=stile {
    add mkgmap:bicycle=no;
    add mkgmap:car=no;
    add mkgmap:delivery=no;
    add mkgmap:truck=no;
    add mkgmap:bus=no;
    add mkgmap:taxi=no;
    add mkgmap:emergency=no;
    set mkgmap:road-speed=0;
    }
barrier=bus_trap {
    add mkgmap:car=no;
    add mkgmap:delivery=no;
    add mkgmap:truck=no;
    add mkgmap:taxi=no;
    }
barrier=gate | barrier=lift_gate | barrier=swing_gate {
    set mkgmap:road-speed=0;
    }
barrier=* {add mkgmap:road-speed=1}
barrier=* & access=* {addaccess '${access|subst:private=>no}'}

## internet_access=yes {name 'Internet ${name}' | 'Internet'} [0x2f12 resolution 24 continue]
internet_access=yes {deletealltags}
## internet_access=* & internet_access!=no & internet_access!=yes
##    {name 'Internet(${internet_access}) ${name}' | 'Internet(${internet_access})'} [0x2f12 resolution 24 continue]

(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station)
    & (ref=* | route_ref=*)
    {set ref='${ref|def:}(${route_ref})'}
(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station)
    & lit=yes & (shelter=yes | covered=yes)
    {set ref='${ref|def:}*'}
(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station)
    & lit!=yes & (shelter=yes | covered=yes)
    {set ref='${ref|def:}+'}
(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station)
    & (shelter=no | covered=no)
    {set ref='${ref|def:}-'}

include 'inc/name';

place=city & population > 999999 & name=* [0x0100 resolution 12]
place=city & population > 799999 & name=* [0x0200 resolution 14]
place=city & population > 399999 & name=* [0x0300 resolution 15]
place=city & population > 299999 & name=* [0x0400 resolution 16]
place=city & population > 199999 & name=* [0x0500 resolution 16]
place=city & population >  99999 & name=* [0x0600 resolution 17]
place=city & population >  49999 & name=* [0x0700 resolution 17]
place=city & population >   9999 & name=* [0x0800 resolution 18]

place=city & population >      0 & name=* [0x0800 resolution 18]
place=city                       & name=* [0x0700 resolution 18]

place=town & population >  69999 & name=* [0x0600 resolution 17]
place=town & population >  19999 & name=* [0x0700 resolution 18]
place=town & population >   9999 & name=* [0x0800 resolution 19]
place=town & population >   4999 & name=* [0x0900 resolution 19]
place=town & population >    999 & name=* [0x0a00 resolution 19]
place=town & population >      0 & name=* [0x0b00 resolution 20]
place=town                       & name=* [0x0800 resolution 19]

place=village                    & name=* [0x0900 resolution 22]
place=suburb                     & name=* [0x0a00 resolution 22]
place=hamlet                     & name=* [0x0b00 resolution 24]

place=island & name=* [0x650c resolution 20]
## place=islet  & name=* [0x650c resolution 22]

#aeroway=airport [0x5900 resolution 22]
aeroway=airport [0x2f04 resolution 22]
aeroway=aerodrome [0x2f04 resolution 22]
aeroway=helipad [0x5904 resolution 23]
aeroway=terminal [0x2f04 resolution 24]

## amenity=atm [0x2f06 resolution 24 continue]
## amenity=arts_centre [0x2c04 resolution 24]
## amenity=bank [0x2f06 resolution 24]
## amenity=bar [0x2d02 resolution 24 continue]
## amenity=bench [0x6605 resolution 24 continue]
## amenity=biergarten [0x2d02 resolution 24]
amenity=border_control | barrier=border_control [0x3006 resolution 20]
amenity=bus_station [0x2f08 resolution 23]
## amenity=cafe {delete cuisine} [0x2a0e resolution 24 continue with_actions]
## amenity=car_club [0x2f0d resolution 24]
## amenity=car_rental [0x2f02 resolution 24]
## amenity=car_sharing [0x2f02 resolution 24]
## amenity=car_wash [0x2f0e resolution 24]
## amenity=casino [0x2d04 resolution 24]
amenity=charging_station [0x2f01 resolution 24 default_name 'Car charging']
## amenity=cinema [0x2d03 resolution 24]
## amenity=college [0x2c05 resolution 24]
## amenity=concert_hall [0x2c09 resolution 24]
## amenity=conference_centre [0x2c09 resolution 24]
## amenity=convention_center [0x2c09 resolution 24]
## amenity=community_centre [0x3005 resolution 24]
## amenity=community_center [0x3005 resolution 24]
## amenity=courthouse [0x3004 resolution 24]
## amenity=drinking_water [0x5000 resolution 24 default_name 'Water']
## amenity=embassy & country=* {set name='${country} ${name|def:Embassy}'} [0x3003 resolution 24]
## amenity=embassy & country!=* [0x3003 resolution 24 default_name 'Embassy']
## amenity=emergency_phone [0x2f12 resolution 24 default_name 'Emergency Phone']
amenity=ferry_terminal [0x2f08 resolution 22]
# handle amenity=fast_food rules later in file
## amenity=fire_station [0x3008 resolution 24]
## amenity=food_court [0x2a13 resolution 24]
## amenity=fuel & fuel:HGV_diesel=yes [0x2f16 resolution 23]
## amenity=fuel & shop=convenience [0x2e06 resolution 24]
amenity=fuel [0x2f01 resolution 22]
## amenity=grave_yard | amenity=crematorium [0x6403 resolution 24]
## amenity=kindergarten [0x2c05 resolution 24]
## amenity=library [0x2c03 resolution 24]
## amenity=nightclub [0x2d02 resolution 24]
## amenity=nursing_home [0x2f14 resolution 24]
## (amenity=parking | amenity=parking_entrance) & access!=private & access!=no {add name='${access} parking'| 'Parking'} [0x2f0b resolution 24]
## amenity=pharmacy [0x2e05 resolution 24]
## amenity=place_of_worship [0x2c0b resolution 24]
amenity=police [0x3001 resolution 24]
## amenity=post_box [0x2f15 resolution 24 default_name 'Post box']
## amenity=post_office [0x2f05 resolution 24]
## amenity=prison [0x3007 resolution 24 default_name 'Prison']
## amenity=pub [0x2d02 resolution 24]
## amenity=public_building [0x3007 resolution 24]
## amenity=recycling [0x2f15 resolution 24 default_name 'Recycling']
# handle amenity=restaurant rules later in file
## amenity=school [0x2c05 resolution 24]
# amenity=shelter is ambiguous; when possible, consider using other tags:
#  tourism=lean_to or tourism=picnic_site
#  shelter=yes on highway=bus_stop or highway=tram_stop or railway=halt
## amenity=shelter & shelter_type=basic_hut [0x2b06 resolution 24 default_name 'Shelter']
# amenity=supermarket is superceded by shop=supermarket
## amenity=supermarket [0x2e02 resolution 24]
## amenity=taxi [0x2f17 resolution 24]
## amenity=telephone [0x2f12 resolution 24 default_name 'Telephone']
## amenity=theatre [0x2d01 resolution 24]
amenity=toilets [0x2f0c resolution 24 default_name 'Toilets']
## amenity=townhall [0x3003 resolution 24]
## amenity=university [0x2c05 resolution 24]
# amenity=zoo is superceded by tourism=zoo
## amenity=zoo [0x2c07 resolution 24]

## landuse=military [0x640b resolution 24]
## landuse=village_green & name=* [0x2c06 resolution 24]

healthcare=hospital | amenity=hospital | amenity=clinic [0x3002 resolution 22]
## healthcare=* | amenity=dentist | amenity=doctors [0x3002 resolution 24]

highway=motorway_junction & exit:road_ref=* {add exit:to='${exit_to}' | '${destination}'} [0x2000 resolution 24]

highway=services {add exit:facility="0x02,I,0x47,Features"} [0x230f resolution 20 default_name 'Services']

## historic=museum [0x2c02 resolution 24]
## historic=archaeological_site | historic=ruins [0x2c02 resolution 24]
## historic=memorial [0x2c02 resolution 24]
historic=* {deletealltags}

## leisure=common & name=* [0x2c06 resolution 24]
## leisure=garden & name=* [0x2c06 resolution 24]
## leisure=golf_course [0x2d05 resolution 24]
## leisure=ice_rink [0x2d08 resolution 24]
## leisure=marina [0x2f09 resolution 24]
## leisure=nature_reserve [0x6612 resolution 24]
## leisure=park [0x2c06 resolution 24]
## leisure=pitch & (name=* | sport=*) {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24]
## leisure=playground [0x2c06 resolution 24 default_name 'Playground']
## leisure=recreation_ground [0x2c08 resolution 24 default_name 'Rec.']
## leisure=sports_center | leisure=sports_centre {name '${name} (${sport})' | '${sport}'} [0x2d0a resolution 24]
## leisure=stadium {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24]
## (leisure=swimming_pool | amenity=swimming_pool) & access!=private & access!=no [0x2d09 resolution 24]
## leisure=track {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24]
## leisure=water_park [0x2d09 resolution 24]

man_made=tower | man_made=mast | landmark=chimney [0x6411 resolution 22]

# Edge 705 displays 0x650a,0x6511,0x6512,0x6513,0x6603,0x6614 as hollow white circles, no menu
## natural=cave_entrance [0x6601 resolution 24]
## natural=cape [0x6606 resolution 24]
## natural=cliff & name=* [0x6607 resolution 24]
## natural=peak {name '${name|def:}${ele|height:m=>ft|def:}'} [0x6616 resolution 24]
## natural=rock [0x6614 resolution 24]
## natural=volcano [0x2c0c resolution 24]
## natural=bay & name=* [0x6503 resolution 20]

railway=station [0x2f08 resolution 22]
railway=halt [0x2f08 resolution 23]
# if option --add-pois-to-lines in effect, add just 1 POI
(railway=platform | (public_transport=platform & railway=*)) & (mkgmap:line2poi!=true | mkgmap:line2poitype=mid) [0x2f08 resolution 23]
public_transport=platform & (mkgmap:line2poi!=true | mkgmap:line2poitype=mid) [0x2f17 resolution 24]
highway=bus_stop | railway=tram_stop [0x2f17 resolution 24]

## shop=* & name!=* & shop!=yes & shop!=no & shop!=none & shop!=vacant {set name='${shop|subst:"_=> "}'}
# Uncomment the following lines to enable these extra POI that some devices support
#shop=convenience [0x2e0e resolution 24]
#shop=florist [0x2e0f resolution 24]
#shop=gift | shop=art | shop=antiques [0x2e10 resolution 24]
#shop=music [0x2e11 resolution 24]
#shop=sports [0x2e12 resolution 24]
#shop=wine | shop=alcohol [0x2e13 resolution 24]
#shop=books [0x2e14 resolution 24]
# to here

## shop=bakers [0x2e02 resolution 24]
## shop=bakery [0x2e02 resolution 24]
## shop=beauty [0x2f10 resolution 24]
## shop=bicycle [0x2f13 resolution 24]
## shop=boat [0x2f09 resolution 24]
## shop=butcher [0x2e0c resolution 24]
## shop=car [0x2f07 resolution 24]
## shop=car_dealer [0x2f07 resolution 24]
## shop=car_parts [0x2f07 resolution 24]
## shop=car_rental [0x2f02 resolution 24]
shop=car_repair [0x2f03 resolution 24]
## shop=car_wrecker [0x2f0a resolution 24]
## shop=chemist [0x2e05 resolution 24]
## shop=clothes [0x2e07 resolution 24]
## shop=computer [0x2e0b resolution 24]
## shop=convenience [0x2e02 resolution 24]
## shop=department_store [0x2e01 resolution 24]
## shop=doityourself [0x2e09 resolution 24]
## shop=fashion [0x2e07 resolution 24]
## shop=furniture [0x2e09 resolution 24]
## shop=garden_centre [0x2e08 resolution 24]
## shop=garden_center [0x2e08 resolution 24]
## shop=general [0x2e03 resolution 24]
## shop=hardware [0x2e09 resolution 24]
## shop=hairdresser [0x2f10 resolution 24]
## shop=mall [0x2e04 resolution 24]
## shop=organic [0x2e0a resolution 24]
## shop=outdoor [0x2e08 resolution 24]
## shop=shoes [0x2e07 resolution 24]
## shop=supermarket [0x2e02 resolution 24]
shop=tires [0x2f07 resolution 24]
shop=tyres [0x2f07 resolution 24]
## shop=* & name=* [0x2e0c resolution 24]

## sport=9pin [0x2d07 resolution 24]
## sport=10pin | leisure=bowling_alley [0x2d07 resolution 24]
## sport=airport [0x2d0b resolution 24]
## sport=multi [0x2d0a resolution 24]
## sport=skating [0x2d08 resolution 24]
## sport=skiing [0x2d06 resolution 24]
## sport=swimming [0x2d09 resolution 24]

## tourism=alpine_hut [0x2b02 resolution 24]
## tourism=attraction & historic=* [0x2c02 resolution 24]
## tourism=attraction [0x2c04 resolution 24]
## tourism=artwork [0x2c04 resolution 24]
## tourism=aquarium [0x2c07 resolution 24]
## tourism=bed_and_breakfast [0x2b02 resolution 24]
# NB: different devices use different codes for camp/caravan_site, have both!
## tourism=camp_site [0x2b03 resolution 24] [0x2b05 resolution 24]
## tourism=caravan_site [0x2b03 resolution 24] [0x2b05 resolution 24]
## tourism=chalet [0x2b02 resolution 24]
## tourism=guest_house [0x2b02 resolution 24]
## tourism=hostel [0x2b02 resolution 24]
# Have both hotel &| restaurant POIs
## tourism=hotel | tourism=motel {set tmp:stopMopUp=yes} [0x2b01 resolution 24 continue with_actions]
## tourism=information [0x4c00 resolution 24]
# tourism=lean_to replaces some uses of amenity=shelter
## tourism=lean_to [0x2b05 resolution 24 default_name 'lean-to']
## tourism=wilderness_hut [0x2b07 resolution 24 default_name 'wilderness hut']
## tourism=museum [0x2c02 resolution 24]
## tourism=picnic_site [0x4a00 resolution 24]
## tourism=resort [0x2b04 resolution 24]
## tourism=theme_park [0x2c01 resolution 24]
## tourism=viewpoint {name '${name} - ${description}' | '${name}'} [0x2c04 resolution 24]
## tourism=wine_cellar [0x2c0a resolution 24]
## tourism=zoo [0x2c07 resolution 24]
## tourism=* & name!=* & tourism!=yes & tourism!=no {set name='${tourism|subst:"_=> "}'}
## tourism=* & tourism!=no & tmp:stopMopUp!=yes [0x2c0d resolution 24]

# amenity=restaurant/fast_food/cafe/pub and shop=* can use cuisine, so have cuisine section later than where the others
# should take precedence
# Have the following 2 lines here rather than after cuisine=... so that, for amenity=fast_food, cuisine is ignored
## amenity=fast_food & cuisine=* {add name='${cuisine|subst:"_=> "}'} [0x2a07 resolution 24]
## amenity=fast_food [0x2a07 resolution 24]

# "Food & Drink" Search has categories as follows, corresponding to 0x2a00 - 0x2a13:
#   All, American, Asian, Barbeque, Chinese, Deli/Bakery, International, Fast Food, Italian, Mexican, Pizza,
#     Seafood, Steak/Grill, Bagel/Donut, Cafe/Diner, French, German, British Isles, Speciality Food Products, Other
## amenity=restaurant & cuisine!=*
##     [0x2a00 resolution 24]
## cuisine=american | cuisine=burger
##     [0x2a01 resolution 24]
## cuisine=asian | cuisine=japanese | cuisine=indian | cuisine=curry | cuisine=thai | cuisine=sushi | cuisine=korean
##     [0x2a02 resolution 24]
## cuisine=barbecue | cuisine=bbq | cuisine=kebab | cuisine=chicken
##     [0x2a03 resolution 24]
## cuisine=chinese | cuisine=vietnamese
##     [0x2a04 resolution 24]
## cuisine=deli | cuisine=sandwich
##     [0x2a05 resolution 24]
## cuisine=international
##     [0x2a06 resolution 24]
## cuisine=fast_food
##     [0x2a07 resolution 24]
## cuisine=italian | cuisine=pasta
##     [0x2a08 resolution 24]
## cuisine=mexican | cuisine=spanish | cuisine=tapas
##     [0x2a09 resolution 24]
## cuisine~'.*pizza.*'
##     [0x2a0a resolution 24]
## cuisine=seafood | cuisine=sea_food | cuisine=fish
##     [0x2a0b resolution 24]
## cuisine=steak | cuisine=grill | cuisine=steak_house
##     [0x2a0c resolution 24]
## cuisine=bagel | cuisine=donut
##     [0x2a0d resolution 24]
## cuisine=cafe | cuisine=diner | cuisine=coffee_shop
##     [0x2a0e resolution 24]
## cuisine=french
##     [0x2a0f resolution 24]
## cuisine=german | cuisine=bavarian
##     [0x2a10 resolution 24]
## cuisine=british | cuisine=fish_and_chips
##     [0x2a11 resolution 24]
## cuisine=speciality | cuisine=local | cuisine=regional
##     [0x2a12 resolution 24]
## amenity=restaurant {add name='${cuisine|subst:"_=> "}'}
##     [0x2a13 resolution 24]
#common ones not handled:
# ice_cream,greek,turkish,noodle,portugese,pasties,lebanese,brazilian,mediterranean,oriental,caribbean,vegetarian

# Have the following 2 lines here rather than before cuisine=... so that, for amenity=fast_food, cuisine is respected
#amenity=fast_food & cuisine=* {add name='${cuisine|subst:"_=> "}'} [0x2a07 resolution 24]
#amenity=fast_food [0x2a07 resolution 24]

barrier=bollard | barrier=bus_trap | barrier=gate | barrier=block | barrier=cycle_barrier |
    barrier=stile | barrier=kissing_gate | barrier=lift_gate | barrier=swing_gate
    {add name='${barrier|subst:"_=> "}'} [0x3200 resolution 24]

landuse=basin [0x6603 resolution 24]
landuse=reservoir | water=reservoir [0x650f resolution 22]

## natural=beach [0x6604 resolution 24]
## natural=glacier [0x650a resolution 24]
## natural=spring [0x6511 resolution 24]
natural=stream [0x6512 resolution 24]
natural=water & (water=canal | water=lock) & name=* [0x6505 resolution 24]
(water=lake | water=pond) & name=* [0x650d resolution 24]
natural=water & name=* [0x6603 resolution 24]
natural=waterfall | waterway=waterfall [0x6508 resolution 24]
natural=wetland & name=* [0x6513 resolution 24]

## landuse=cemetery | landuse=cemetary | amenity=grave_yard [0x6403 resolution 24]
## (landuse=wood | landuse=forest | natural=wood) & name=* [0x6618 resolution 24]

<finalize>
# The finalizer section is executed for each element when a rule with an element type matches

name=* {name '${name}'}
include 'inc/address';
-------------- next part --------------
# -------------------------------------------------------------------
## FOSKAN 2020-10-14.
## This is a style made for minimalistic road network and car routing.
## Based on the default mkgmap style, but with much disabled.
## FOSKAN comments are made by ##
# -------------------------------------------------------------------
# This is the default mkgmap style file for converting closed OSM ways
# into Garmin polygons.
# Any line prefaced with # is a comment and will not be applied.
# Each line is a rule, of the generalised format:
#  OSM_tag(s)_to_match  [Garmin_type_code resolution]
# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules
# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles
# for more information.

addr:housenumber=* {set mkgmap:execute_finalize_rules=true}

## leisure=* & sport=* & name=* {set name='${name} (${sport})'}
leisure=* & sport=* & name=* {deletealltags}
## leisure=* & sport=* & name!=* {add name='${sport}'}
leisure=* & sport=* & name!=* {deletealltags}

include 'inc/name';

aeroway=airport [0x07 resolution 20]
aeroway=aerodrome [0x07 resolution 20]
aeroway=runway & area=yes {name '${ref}'} [0x0e resolution 20]
(aeroway=taxiway | aeroway=taxilane) & area=yes {name '${ref}'} [0x0e resolution 24]
aeroway=heliport [0x07 resolution 20]
aeroway=helipad [0x0e resolution 22]

## amenity=kindergarten [0x0a resolution 22]
## amenity=cafe | amenity=fast_food | amenity=restaurant [0x08 resolution 24]
## amenity=food_court [0x08 resolution 22]
## amenity=college [0x0a resolution 22]
## parking=underground | parking=multi-storey [0x06 resolution 22]
## amenity=parking | parking=surface [0x05 resolution 22]
## amenity=prison [0x04 resolution 22]
## amenity=school [0x0a resolution 22]
# amenity=supermarket is superceded by shop=supermarket or landuse=retail
## amenity=supermarket [0x08 resolution 22]
## amenity=university [0x0a resolution 21]

healthcare=hospital | amenity=hospital | amenity=clinic [0x0b resolution 22]
## healthcare=* | amenity=dentist | amenity=doctors | amenity=nursing_home [0x0b resolution 23]

## leisure=common [0x1d resolution 21]
## leisure=garden [0x20 resolution 21]
## leisure=golf_course [0x18 resolution 21]
## leisure=ice_rink [0x19 resolution 22]
## leisure=nature_reserve [0x16 resolution 19]
## leisure=park [0x17 resolution 20]
## leisure=pitch [0x19 resolution 21]
## leisure=playground [0x17 resolution 22]
## leisure=recreation_ground [0x19 resolution 21]
## leisure=sports_center | leisure=sports_centre [0x19 resolution 20]
## leisure=stadium [0x19 resolution 20]
## leisure=track & area=yes [0x19 resolution 21]
## leisure=water_park [0x09 resolution 21]

place=village [0x03 resolution 19]
place=suburb [0x02 resolution 19]

## shop=* {add name='${shop|subst:"_=> "}'} [0x08 resolution 22]

# squares and plazas
## place=square [0x25 resolution 22]
highway=pedestrian & (area=yes | mkgmap:mp_created=true) [0x25 resolution 22]
# following rule also renders a closed way without area attribute as a plaza
highway=pedestrian & area!=no [0x25 resolution 22]

# footways areas are similar, but should be explicity marked as such
highway=footway & area=yes [0x25 resolution 24]

highway=services [0x12 resolution 22]  # service station complex; show as retail
highway=rest_area & area!=no [0x05 resolution 22]  # show as parking lot

## historic=* & historic!=no & historic!=yes & boundary!=* {add name='${historic|subst:"_=> "}'} [0x22 resolution 21]

## landuse=basin [0x3f resolution 20]
landuse=reservoir | (natural=water & water=reservoir) [0x3f resolution 20]

## dock=drydock [0x4c resolution 22]  # might also have natural=water

natural=bay [0x3d resolution 18]
natural=glacier [0x4d resolution 18]
natural=marsh [0x51 resolution 20]
natural=tundra [0x52 resolution 18]
natural=mud [0x51 resolution 20]
natural=beach | natural=sand [0x53 resolution 20]
natural=wetland [0x51 resolution 20]
natural=water & water=canal [0x48 resolution 22]
natural=water & water=lock [0x4c resolution 22 default_name 'Lock']
natural=water & area_size() < 100000 [0x41 resolution 22]  # Small Lake
natural=water [0x3c resolution 18]
natural=waterfall | waterway=waterfall [0x47 resolution 21]
natural=sea {add mkgmap:skipSizeFilter=true; set mkgmap:drawLevel=2} [0x32 resolution 10]

waterway=riverbank [0x46 resolution 20]

# mop up any remaining water areas
waterway=* & waterway!=no & area!=no {add name='${waterway|subst:"_=> "}'} [0x3b resolution 22]

## landuse=allotments [0x4e resolution 21]
## landuse=cemetery | landuse=cemetary | amenity=grave_yard [0x1a resolution 21]
## landuse=commercial [0x0f resolution 19]
## landuse=construction [0x0c resolution 21]
## landuse=farm [0x26 resolution 22]
## landuse=farmland [0x1c resolution 20]
## landuse=farmyard [0x26 resolution 22]
landuse=forest | landuse=wood [0x50 resolution 20]
## landuse=greenfield [0x1c resolution 20]
## landuse=meadow | landuse=grass [0x1c resolution 19]
## landuse=military [0x04 resolution 19]
## landuse=quarry [0x0c resolution 19]
## landuse=recreation_ground [0x19 resolution 19]
# dedicate resolution 24 for building=* instead of related landuse=*
## landuse=industrial [0x0c resolution 19-23]
## landuse=residential [0x10 resolution 19-23]
## landuse=retail [0x12 resolution 20-23]
## landuse=village_green [0x15 resolution 20]
## landuse=vineyard [0x4e resolution 20]
## landuse=orchard [0x4e resolution 20]

military=airfield [0x04 resolution 20]
## military=barracks [0x04 resolution 23]
military=danger_area [0x11 resolution 20]
## military=range [0x04 resolution 20]

## natural=scrub [0x4f resolution 20]
natural=wood [0x50 resolution 20]

# building tag should be last
## amenity=* & area!=no & amenity!=grave_yard {add name='${amenity|subst:"_=> "}'} [0x23 resolution 24]
## building=* & building!=no [0x13 resolution 24]
## tourism=* & area!=no & waterway!=* {add name='${tourism|subst:"_=> "}'} [0x21 resolution 24]

# man_made can be used on areas or lines
man_made=* & area!=no {add name='${man_made|subst:"_=> "}'} [0x24 resolution 24]

# render small named islands
place=island & name=* & area_size() < 1000000 [0x53 resolution 19]
## place=islet & name=* [0x53 resolution 20]

<finalize>
# The finalizer section is executed for each element when a rule with an element type matches

# we need address info from buildings for the address search
include 'inc/address';

name=* {name '${name}'}
-------------- next part --------------
# -------------------------------------------------------------------
## FOSKAN 2020-10-14.
## FOSKAN comments and updates are marked by ##
# -------------------------------------------------------------------
#
# This file contains all the rules to set up address information from
# the tags that are added by the boundary processing.


# first set the country code
mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' }
mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country|country-ISO:}' }
mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country|country-ISO:}' }

# country specific rules first

# Netherlands = NLD
mkgmap:country=NLD & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } 
mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } 

# Germany = DEU cities
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level4=Hamburg {set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level4=Berlin {set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:country=DEU & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:Gemeinde |subst:Stadt }' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7|subst:Gemeinde |subst:Stadt }' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6|subst:Gemeinde |subst:Stadt }' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9|subst:Gemeinde |subst:Stadt }' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10|subst:Gemeinde |subst:Stadt }' }


# Austria = AUT
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level4=Wien {set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10|subst:Gemeinde |subst:Stadt }' }
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:Gemeinde |subst:Stadt }' }

# Poland = POL
#After recent changes in OSM-Poland we don't use level 10 - all cities and villages are in level 8
mkgmap:country=POL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=POL & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4|subst:województwo =>}' }

# other european countries
mkgmap:country=BEL & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=ISL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=ITA & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=LUX & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=NOR & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=SVN & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:country=ESP & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=CHE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
 
# Canada
mkgmap:country=CAN & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=Toronto & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=Ottawa & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:City of }' }

# United States
mkgmap:country=USA & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
# New York City has different admin levels than the rest of the US.
# https://wiki.openstreetmap.org/wiki/United_States_admin_level
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='New York County' { set mkgmap:city='New York' }
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Bronx County' { set mkgmap:city='Bronx' }
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Kings County' { set mkgmap:city='Brooklyn' }
# Queens uses neighborhoods for city in postal addresses
# http://en.wikipedia.org/wiki/List_of_Queens_neighborhoods
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Queens County' & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Queens County' { set mkgmap:city='Queens' }
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Richmond County' { set mkgmap:city='Staten Island' }
mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:City of }' }

# Ecuador = ECU
mkgmap:country=ECU & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }

# South Africa = ZAF
mkgmap:country=ZAF & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }

# Slovakia
mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }

# Greece
mkgmap:country=GRE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=GRE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }

# common rules for all the rest of countries
mkgmap:region!=* & mkgmap:admin_level6=* { set mkgmap:region='${mkgmap:admin_level6}' } 
mkgmap:region!=* & mkgmap:admin_level5=* { set mkgmap:region='${mkgmap:admin_level5}' } 
mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } 
mkgmap:region!=* & mkgmap:admin_level3=* { set mkgmap:region='${mkgmap:admin_level3}' } 
mkgmap:region!=* & is_in:county=* { set mkgmap:region='${is_in:county}' } 

mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } 
mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } 
mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } 
mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } 
mkgmap:city!=* & is_in:city=* { set mkgmap:city='${is_in:city}' }
mkgmap:city!=* & addr:city=* { set mkgmap:city='${addr:city}' }

mkgmap:postal_code!=* & mkgmap:postcode=* { set mkgmap:postal_code='${mkgmap:postcode}' } 
mkgmap:postal_code!=* & addr:postcode=* { set mkgmap:postal_code='${addr:postcode}' } 

mkgmap:street!=* & addr:street=* { set mkgmap:street='${addr:street}' }
mkgmap:street!=* & addr:housename=* { set mkgmap:street='${addr:housename}' }

mkgmap:housenumber!=* & addr:housenumber=* { set mkgmap:housenumber='${addr:housenumber}' }

mkgmap:phone!=* & phone=* { set mkgmap:phone='${phone}' }
mkgmap:phone!=* & contact:phone=* { add mkgmap:phone='${contact:phone}' }


## added for FOSKAN maps
(amenity=fuel & (fuel:octane_95=yes|fuel:diesel=yes|fuel:e85=yes|fuel:cng=yes|fuel:biogas=yes|fuel:adblue=yes) )
	      {set mkgmap:phone='${mkgmap:phone} Fuel: ' | 'Fuel: '}
(amenity=fuel & fuel:octane_95=yes) {set mkgmap:phone='${mkgmap:phone} B95(E5)'}
(amenity=fuel & fuel:diesel=yes) {set mkgmap:phone='${mkgmap:phone} DI'}
(amenity=fuel & fuel:e85=yes) {set mkgmap:phone='${mkgmap:phone} E85'}
(amenity=fuel & (fuel:cng=yes | fuel:biogas=yes)) {set mkgmap:phone='${mkgmap:phone} CNG/BNG'}
(amenity=fuel & fuel:adblue=yes) {set mkgmap:phone='${mkgmap:phone} ADBLUE'}

## 


mkgmap:is_in!=* & is_in=* { set mkgmap:is_in='${is_in}' }

-------------- next part --------------
; TYP file to give mapnik rendering
; -*- coding: UTF-8 -*- NB: first 3 bytes/char in file is UTF-8 encoded ByteOrderMark (BOM)

[_comments]
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3 or
version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

Author: Jorisbo at hotmail.com and others

Based on mkgmap default style version: r4293
[End]

[_id]
;ProductCode=1   set from --product-id
FID=7770        set from --family-id
;CodePage=65001  set from --code-page
;CodePage=1252  set from --code-page
[End]


;=========== POLYGONS : RENDERING PRIORITY ======
[_drawOrder]
Type=0x03d,1
Type=0x04b,1
Type=0x002,2
Type=0x003,2
Type=0x007,2
Type=0x009,2
Type=0x00a,2
Type=0x010,2
Type=0x011,2
Type=0x012,2
Type=0x015,2
Type=0x016,2
Type=0x018,2
Type=0x01a,2
Type=0x01c,2
Type=0x01d,2
Type=0x020,2
Type=0x021,2
Type=0x022,2
Type=0x024,2
Type=0x025,2
Type=0x026,2
Type=0x03b,2
Type=0x046,2
Type=0x047,2
Type=0x048,2
Type=0x04c,2
Type=0x04d,2
Type=0x050,2
Type=0x051,2
Type=0x053,2
Type=0x008,3
Type=0x00b,3
Type=0x00c,3
Type=0x00f,3
Type=0x032,3
Type=0x04e,3
Type=0x052,3
Type=0x06b,3
Type=0x017,4
Type=0x04f,4
Type=0x005,5
Type=0x019,5
Type=0x03c,5
Type=0x03f,5
Type=0x041,5
Type=0x006,6
Type=0x00e,6
Type=0x013,7
Type=0x023,7
Type=0x06a,7
Type=0x06c,8
Type=0x004,9
Type=0x10801,5
Type=0x10802,5
Type=0x10803,5
Type=0x10804,5
Type=0x10a02,4
;Type=0x3901,7
;Type=0x3902,7
;Type=0x3903,7
;Type=0x3911,7
;Type=0x3912,7
;Type=0x3913,7
[End]

;===================== POLYGONS ========================
[_polygon]
Type=0x0c
;GRMN_TYPE: Large Manmade Areas/INDUSTRIAL_COMPLEX/Industrial complex area/Non NT
String=Industrial Complex
String1=0x01,Zone industrielle
String2=0x02,Industriegebiet
String3=0x04,Industrial area
String4=0x03,Industriegebied
String6=0x07,Industriområde
String7=0x15,Obszar przemysłowy
String8=0x10,Área industrial
String9=0x05,Area industriale
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
Xpm="0 0 1 0"
"1 c #D7D7D7"
[end]

[_polygon]
Type=0x13
;GRMN_TYPE: Large Manmade Areas/GENERIC_MANMADE/Other or generic manmade area, such as a building/Non NT
String=Building
String1=0x01,Bâtiment
String2=0x02,Gebäude
String3=0x04,Building
String4=0x03,Gebouw
String6=0x07,Byggnad
String7=0x15,Budynek
String8=0x10,Edifício
String9=0x05,Edificio
String10=0x0f,Byggning
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
Xpm="0 0 1 0"
"1 c #E2CEA5"
[end]

[_polygon]
type=0x1c
;GRMN_TYPE: //
String=Meadow
String2=0x02,Wiese
String4=0x03,Weide
String6=0x07,Fält, åker
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
Xpm="0 0 1 0"
"1 c #FFFCC1"
[end]

[_polygon]
Type=0x50
;GRMN_TYPE: Surface Cover Areas/WOODS/Wooded or forested area/Non NT
String=Woods
String1=0x01,Forêt
String2=0x02,Wald
String4=0x03,Bos
String6=0x07,Skog
String7=0x15,Las
String8=0x10,Floresta
String9=0x05,Selva
String10=0x0f,Skog
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
Xpm="0 0 1 0"
"a c #80ee80"
[end]

[_polygon]
Type=0x51
;GRMN_TYPE: Surface Cover Areas/WETLAND/Wetland or swamp area/Non NT
String=Wetland
String1=0x01,Marais
String2=0x02,Sumpf
String3=0x04,Marsh
String4=0x03,Nat gebied
String6=0x07,Våtmark
String7=0x15,Mokradła
String8=0x10,Pântano
String9=0x05,Palude
String10=0x0f,Våtmark
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
Xpm="32 32 2 1"
"! c #4060FF"
"  c none"
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
"   !    !    !    !    !    !   "
"    !    !    !    !    !    !  "
"!    !    !    !    !    !    ! "
" !    !    !    !    !    !    !"
"  !    !    !    !    !    !    "
;12345678901234567890123456789012
[end]

[_polygon]
type=0x0a
;GRMN_TYPE: Large Manmade Areas/COLLEGE/College or university area/Non NT
String=University/College
String1=0x01,École
String2=0x02,Schule
String3=0x04,Education
String4=0x03,School
String6=0x07,Skola
String7=0x15,Edukacja
String8=0x10,Escola
String9=0x05,Scuola
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
Xpm="0 0 1 0"
"1 c #FFFFE5"
[end]

;====================== LINES ===========================
[_line]
Type=0x11
;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_5/Routable customizable line/Non NT, NT
String=Cycleway
String1=0x01,Piste cyclable
String2=0x02,Radweg
String3=0x04,Cycleway
String4=0x03,Fietspad
String6=0x07,Cykelväg
String7=0x15,Ścieżka rowerowa
String8=0x10,Ciclovia
String9=0x05,Pista ciclabile
UseOrientation=Y
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=Day
DaycustomColor:#0020CC
Xpm="32 2 2  1"
"! c #0020CC"
"  c none"
"  !!!!    !!!!    !!!!    !!!!  "
"  !!!!    !!!!    !!!!    !!!!  "
;12345678901234567890123456789012
[end]

[_line]
type=0x14
;GRMN_TYPE: Misc. Line Types/RAILROAD/Railroad/Non NT
UseOrientation=Y
Xpm="32 3 2  1"
"! c #434343"
"# c #FFFFFF"
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"!!!!!!!!########!!!!!!!!########"
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
;12345678901234567890123456789012
String=Railroad
String1=0x01,Voie ferrée
String2=0x02,Gleis
String3=0x04,Railway
String4=0x03,Spoorweg
String6=0x07,Järnväg
String7=0x15,Kolej
String8=0x10,Ferrovia
String9=0x05,Ferrovia
String6=0x07,Jernbane
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
[end]

[_line]
Type=0x16
;GRMN_TYPE: Roads/TRAIL/Walkway or trail/Non NT, NT
UseOrientation=N
String=Trail
String1=0x01,Sentier
String2=0x02,Fußweg
String3=0x04,Path / Trail
String4=0x03,Wandelpad
String6=0x07,Stig, led, gångväg
String7=0x15,Ścieżka
String8=0x10,Trilha
String9=0x05,Sentiero
String10=0x0f,Sti, led, gangveg
ExtendedLabels=Y
FontStyle=SmallFont
CustomColor=No
Xpm="32 2 2 1"
"! c #A03000"
"  c none"
"  !!!!!   !!!!!   !!!!!   !!!!! "
"  !!!!!   !!!!!   !!!!!   !!!!! "
;12345678901234567890123456789012
[end]

[_line]
Type=0x10a06
;GRMN_TYPE: //
; not used by default style
UseOrientation=N
LineWidth=4
BorderWidth=1
Xpm="0 0 2 0"
"1 c #BBBBBB"
"2 c #949494"
String=Platform
String1=0x01,Quai
String2=0x02,Plattform
String4=0x03,Perron
String6=0x07,Perrong
String7=0x15,Peron
String8=0x10,Plataforma
String9=0x05,Piattaforma
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
[end]

[_line]
Type=0x10c06
;GRMN_TYPE: //
; not used by default style
UseOrientation=Y
Xpm="32 6 2  1"
"! c #99CCCC"
"# c #FFFFFF"
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"!!#####!!!#####!!!#####!!!#####!"
"!!#####!!!#####!!!#####!!!#####!"
"!!#####!!!#####!!!#####!!!#####!"
"!!#####!!!#####!!!#####!!!#####!"
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
;12345678901234567890123456789012
;String=Road (Construction)
String1=0x01,Route (en travaux)
String2=0x02,Weg (Im bau)
String3=0x04,Road (Construction)
String4=0x03,Weg (In aanleg)
String6=0x07,Väg under byggnad
String7=0x15,Droga (w budowie)
String8=0x10,Rodovia em construção
String9=0x05,Strada in costruzione
String10=0x0f,Veg under anlegg
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
[end]

[_line]
type=0x10a10
;FOSKAN_TYPE: Aerialway, ski-lift, and similar.
UseOrientation=Y
Xpm="32 5 2 1"
"* c #000000"
"  c none"
"    *          *          *     "
"    *          *          *     "
"********************************"
"    *          *          *     "
"    *          *          *     "
;12345678901234567890123456789012
String=Aerialway
String2=0x02,Seilbahnen
String3=0x04,Aerialway
String6=0x07,Linbana, lift
String7=0x15,Transport nadziemny
String10=0x0f,Linbane, lift
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
[end]



;====================== POINTS ==========================

[_point]
Type=0x2c
subtype=0x05
;GRMN_TYPE: Business - Attractions/SCHOOL/School/Non NT
String=Education
String1=0x01,École
String2=0x02,Schule
String4=0x03,Educatie
String6=0x07,Skola
String7=0x15,Edukacja
String8=0x10,Escola
String9=0x05,Scuola
ExtendedLabels=Y
FontStyle=NormalFont
CustomColor=Day
DaycustomColor:#4D4D00
DayXpm="1 1 2 1"   Colormode=16
"!	c #009500"
"  	c none"
" "
;1
[end]

[_point]
Type=0x2b05
;GRMN_TYPE: //
String=Lean to shelter
String6=0x07,Vindskydd
String7=0x15,Schronienie
String10=0x0f,Gapahuk
ExtendedLabels=Y
FontStyle=NoLabel (invisible)
CustomColor=No
xpm="14 14 2 1"
"  c None"
"# c #aa00aa"
"         #####"
"        ######"
"       ####   "
"      ####    "
"     ####     "
"    ####      "
"   ####       "
"  ####  ##    "
" ####  ###    "
"####  #####   "
"####  ###     "
"##############"
"##############"
"##############"
;1234567890123456
[end]

[_point]
Type=0x2f0b
String2=0x04,parking
String6=0x07,parkering
String7=0x15,parking
String1=0x0f,parkering
DayXpm="11 11 8 1"
" 	c none"
"#	c #1600FF"
"+	c #1824F7"
"'	c #464DFF"
",	c #BABAFF"
"o	c #BEC5F5"
"^	c #EEF3F6"
".	c #FEFFFC"
" ......... "
".#########."
".##....,+#."
".##..#'.o#."
".##..##.^#."
".##..#'.o#."
".##....,+#."
".##..#####."
".##..#####."
".#########."
" ......... "
[end]



; Egendefinert punkt for ubetjent DNT-hytte
[_point]
Type=0x3901
String=DNT no service cabin
String6=0x07,DNT obetjänt stuga
String2=0x04,DNT no service cabin
String10=0x0f,DNT ubetjent hytte
xpm="16 16 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"################"
"#      ##      #"
"#    ##  ##    #"
"#   ##    ##   #"
"#  #        #  #"
"# #          # #"
"###          ###"
"# #          # #"
"# #          # #"
"# #          # #"
"# #          # #"
"# #          # #"
"# #          # #"
"# ############ #"
"#              #"
"################"
[end]

; Egendefinert punkt for selvbetjent DNT-hytte
[_point]
Type=0x3902
String=DNT selvbetjent hytte
String6=0x07,DNT självbetjänt stuga
string2=0x04,DNT self service cabin
string10=0x0f,DNT selvbetjent hytte
xpm="16 16 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"################"
"#      ##      #"
"#    ##  ##    #"
"#   ##    ##   #"
"#  #        #  #"
"# #          # #"
"###          ###"
"# #          # #"
"# #         ## #"
"# #       #### #"
"# #     ###### #"
"# #   ######## #"
"# # ########## #"
"# ############ #"
"#              #"
"################"
[end]

; Egendefinert punkt for betjent DNT-hytte
[_point]
Type=0x3903
String=DNT betjent hytte
String6=0x07,DNT betjänad stuga
string2=0x04,DNT staffed lodge
string10=0x0f,DNT betjent hytte
xpm="16 16 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"################"
"#      ##      #"
"#     ####     #"
"#    ######    #"
"#   ########   #"
"#  ##########  #"
"################"
"#  ##########  #"
"#  ##########  #"
"#  ##########  #"
"#  ##########  #"
"#  ##########  #"
"#  ##########  #"
"#  ##########  #"
"#              #"
"################"
[end]

; Egendefinierad punkt för STF fjällstation
[_point]
Type=0x3911
String=STF fjällstation
String2=0x04,STF staffed mountain station
String6=0x07,STF fjällstation
String1=0x0f,STF betjent fjellstasjon
xpm="14 14 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"##############"
"##############"
"##..........##"
"##..........##"
"##..######..##"
"##..######..##"
"##..######..##"
"##..######..##"
"##..######..##"
"##..######..##"
"##..........##"
"##..........##"
"##############"
"##############"
[end]

; Egendefinierad punkt för övernattningsstuga med viss service (länstyrelser, delvis betjänade)
[_point]
Type=0x3912
String=Övernattningsstuga (kan vara betjänade)
String2=0x04,Oevrnight hut (may have service)
String6=0x07,Övernattningsstuga (kan vara betjänade)
String1=0x0f,Overnattninghytte (bettjent/ubetjent)
xpm="12 12 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
"############"
[end]

; Raststuga utan service (länstyrelser, obetjänade)
[_point]
Type=0x3913
String=Day hut
String2=0x04,Day hut (no service)
String6=0x07,Raststuga
String10=0x0f,Rastehytte
xpm="12 12 3 1"
"  c None"
"# c #aa00aa"
". c #ffffff"
"     ##     "
"     ##     "
"    ####    "
"    ####    "
"   ######   "
"   ######   "
"  ########  "
"  ########  "
" ########## "
" ########## "
"############"
"############"
[end]

[_point]
Type=0x4c00
String=infomration
String1=0x04,information
String6=0x07,information
String10=0x0f,informasjon
DayXpm="8 12 3 1"
" 	c None"
".	c #FFFFFF"
"+	c #000000"
"  ....  "
" ..++.. "
" .++++. "
"  .++.. "
" ...... "
" .++++. "
".+++++. "
" .++++. "
" .++++. "
" .++++. "
".++++++."
"........"
[end]

[_point]
Type=0x6411
String=Tower
String1=0x04,Tower
String6=0x07,Torn, mast, skorsten
String7=0x15,Wierza, komin
String10=0x0f,
DayXpm="14 14 2 1"
" 	c None"
".	c #000000"
"..          .."
"...        ..."
" ...      ... "
"  ..  ..  ..  "
"     ....     "
"    ......    "
"   ........   "
"   ........   "
"    ......    "
"     ....     "
"  ..  ..  ..  "
" ...      ... "
"...        ..."
"..          .."
[end]


More information about the mkgmap-dev mailing list