Last active
January 29, 2021 14:41
-
-
Save stevengorrell/b5221b6a74070b323c6345b78445d9d9 to your computer and use it in GitHub Desktop.
mkgmap points style file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ------------------------------------------------------------------- | |
# 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:en}' | '${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 19] | |
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 23] | |
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] | |
(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}'} | |
(highway=secondary | highway=tertiary) & ref=* {name '${ref|highway-symbol:oval}'; addlabel '${name}'} | |
name=* {name '${name:en}' | '${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}'} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ------------------------------------------------------------------- | |
# 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=* & 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 24] | |
amenity=grave_yard [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 {name '${name:en}' | '${name}'} [0x3002 resolution 22] | |
healthcare=* | amenity=dentist | amenity=doctors {name '${name:en}' | '${name}' }[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] | |
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 {name '${name:en}' | '${name} 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 {name '${name:en}' | '${name} Tower' } [0x6411 resolution 24] | |
#man_made=mast | landmark=chimney [0x6411 resolution 24] | |
# 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=* {name '${name:en}' | '${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=* {name '${name:en}' | '${name}' }[0x6618 resolution 24] | |
<finalize> | |
# The finalizer section is executed for each element when a rule with an element type matches | |
name=* {name '${name:en}' | '${name}'} | |
include 'inc/address'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment