# Below the comment from the original mkgmap style file
# (svn revision 2009)
# Some changes were applied to the default.

# -------------------------------------------------------------------
# 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.

# 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}' }
mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country}' }

# 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_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } 
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } 
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' } 
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } 
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } 

# other european countries
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=BEL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
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=FRA & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=FRA & 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=POL & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:country=POL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
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}' }
 
# Canda
mkgmap:country=CAN & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=CAN & 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}' }

mkgmap:is_in!=* & is_in=* { set mkgmap:is_in='${is_in}' }
aeroway=airport [0x07 resolution 20]
aeroway=aerodrome [0x07 resolution 20]
aeroway=helipad [0x0e resolution 22]

amenity=kindergarten [0x0a resolution 22]
amenity=cafe | amenity=fast_food | amenity=restaurant | 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 [0x0b resolution 22]
healthcare=* | amenity=dentist | amenity=doctors | amenity=nursing_home
[0x0b resolution 23]

leisure=common [0x17 resolution 21]
leisure=garden [0x17 resolution 21]
leisure=golf_course [0x18 resolution 21]
leisure=ice_rink [0x19 resolution 22]
leisure=marina [0x09 resolution 20]
leisure=nature_reserve [0x16 resolution 19]
leisure=park [0x17 resolution 20]
leisure=pitch { name '${name} (${sport})' | '${name}' } [0x19 resolution 21]
leisure=playground [0x17 resolution 22]
leisure=recreation_ground [0x19 resolution 21]
leisure=sports_center | leisure=sports_centre { name '${name} (${sport})' | '${name}' } [0x19 resolution 20]
leisure=stadium { name '${name} (${sport})' | '${name}' } [0x19 resolution 20]
leisure=track & area=yes { name '${name} (${sport})' | '${name}' } [0x19 resolution 21]
leisure=water_park [0x09 resolution 21]

place=village [0x03 resolution 19]
place=island & name=* [0x53 resolution 19]
place=islet & name=* [0x53 resolution 20]

shop=* [0x08 resolution 22]

# squares and plazas
highway=pedestrian & area=yes [0x17 resolution 22]
# other highways that have area=yes set must be parking lots
highway=* & area=yes [0x05 resolution 22]

historic=museum | historic=memorial [0x1e resolution 21]
historic=archaeological_site | historic=ruins [0x1e resolution 21]

# building tag should be last
(building=* | amenity=*) & area!=no [0x13 resolution 24]
tourism=* & area!=no & waterway!=* [0x13 resolution 24]
# man_made can be used on areas or lines
man_made=* & area!=no
& (man_made!=door & man_made!=embankment & man_made!=breakwater
   & man_made!=cable_line & man_made!=cutline & man_made!=cutting
   & man_made!=levee & man_made!=trench)
[0x13 resolution 24]
man_made=* & area=yes
[0x13 resolution 24]

# not used in standard styles (but recreation_ground exists instead)
landuse=sports [0x19 resolution 19]

######################################################################
# from landuse/polygons

landuse=allotments [0x4e resolution 21]
# SRT: additions (should come before standard cemetary) vvv
(landuse=cemetery|landuse=cemetary|amenity=grave_yard) & religion=jewish [0x1b resolution 21]
(landuse=cemetery|landuse=cemetary|amenity=grave_yard) & religion=muslim [0x1c resolution 21]
# XXX the island hack...
landuse=island [0x10200 resolution 18]
bbbike:landuse=industrial [0x0c resolution 19]
# SRT: additions ^^^
landuse=cemetery|landuse=cemetary|amenity=grave_yard [0x1a resolution 21]
landuse=commercial [0x0c resolution 19]
landuse=construction [0x0c resolution 21]
landuse=farm [0x4e resolution 20]
landuse=farmyard [0x4e resolution 22]
landuse=forest|landuse=wood [0x50 resolution 20]
landuse=greenfield [0x17 resolution 20]
landuse=meadow [0x17 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 23-19]
landuse=residential [0x10 resolution 23-19]
landuse=retail [0x08 resolution 23-20]
landuse=village_green [0x17 resolution 20]
landuse=vineyard [0x4e resolution 20]

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

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

######################################################################
# from waters/polygons

landuse=basin|landuse=reservoir [0x3f resolution 20]

natural=bay [0x3d resolution 18]
natural=glacier [0x4d resolution 18]
natural=marsh [0x51 resolution 20]
natural=mud [0x51 resolution 20]
natural=wetland [0x51 resolution 20]
natural=water [0x3c resolution 18]
natural=waterfall | waterway=waterfall [0x47 resolution 21]
natural=sea [0x32 resolution 10]

waterway=riverbank [0x46 resolution 20]

