include 'inc/roadspeed'; name=* { name '${name}' } mkgmap:default_name=* { name '${mkgmap:default_name}' } mkgmap:display_name=* { addlabel '${mkgmap:display_name|subst:;=>/}' } mkgmap:label:1!=* & ref=* { addlabel '${ref|part:;:1}' } mkgmap:label:1!=* & int_ref=* { addlabel '${int_ref|part:;:1}' } mkgmap:label:1!=* & nat_ref=* { addlabel '${nat_ref|part:;:1}' } mkgmap:label:1!=* & reg_ref=* { addlabel '${reg_ref|part:;:1}' } ref=* { addlabel '${ref|part:;:1}'; addlabel '${ref|part:;:2}'; addlabel '${ref|part:;:3}' } int_ref=* { addlabel '${int_ref|part:;:1}'; addlabel '${int_ref|part:;:2}'; addlabel '${int_ref|part:;:3}' } nat_ref=* { addlabel '${nat_ref|part:;:1}'; addlabel '${nat_ref|part:;:2}'; addlabel '${nat_ref|part:;:3}' } reg_ref=* { addlabel '${reg_ref|part:;:1}'; addlabel '${reg_ref|part:;:2}'; addlabel '${reg_ref|part:;:3}' } highway=* & mkgmap:label:1=* & mkgmap:street!=* { add mkgmap:street='${mkgmap:label:1}' } toll=* { set mkgmap:toll='${toll}' } # new AccessMapping("access", RoadNetwork.NO_MAX), // must be first in list # new AccessMapping("bicycle", RoadNetwork.NO_BIKE), # new AccessMapping("carpool", RoadNetwork.NO_CARPOOL), # new AccessMapping("foot", RoadNetwork.NO_FOOT), # new AccessMapping("hgv", RoadNetwork.NO_TRUCK), # new AccessMapping("motorcar", RoadNetwork.NO_CAR), # new AccessMapping("motorcycle", RoadNetwork.NO_CAR), # new AccessMapping("psv", RoadNetwork.NO_BUS), # new AccessMapping("taxi", RoadNetwork.NO_TAXI), # new AccessMapping("emergency", RoadNetwork.NO_EMERGENCY), # new AccessMapping("delivery", RoadNetwork.NO_DELIVERY), # new AccessMapping("goods", RoadNetwork.NO_DELIVERY), # for (AccessMapping anAccessMap : accessMap) { # int index = anAccessMap.index; # String type = anAccessMap.type; # String accessTagValue = way.getTag(type); # if (accessTagValue == null) # continue; # if (accessExplicitlyDenied(accessTagValue)) { # if (index == RoadNetwork.NO_MAX) { # // everything is denied access # for (int j = 1; j < accessMap.length; ++j) # noAccess[accessMap[j].index] = true; # } else { # // just the specific vehicle class is denied # // access # noAccess[index] = true; # } # log.debug(type + " is not allowed in " + highwayType + " " + debugWayName); # } else if (accessExplicitlyAllowed(accessTagValue)) { # if (index == RoadNetwork.NO_MAX) { # // everything is allowed access # for (int j = 1; j < accessMap.length; ++j) # noAccess[accessMap[j].index] = false; # } else { # // just the specific vehicle class is allowed # // access # noAccess[index] = false; # } # log.debug(type + " is allowed in " + highwayType + " " + debugWayName); # } # else if (accessTagValue.equalsIgnoreCase("destination")) { # if (type.equals("motorcar") || # type.equals("motorcycle")) { # road.setNoThroughRouting(); # } else if (type.equals("access")) { # log.info("access=destination only affects routing for cars in " + highwayType + " " + debugWayName); # road.setNoThroughRouting(); # } else { # log.info(type + "=destination ignored in " + highwayType + " " + debugWayName); # } # } else if (accessTagValue.equalsIgnoreCase("unknown")) { # // implicitly allow access # } else { # log.info("Ignoring unsupported access tag value " + type + "=" + accessTagValue + " in " + highwayType + " " + debugWayName); # } # } # # mkgmap:carpool tag is set but before new access handling was introduced it had a # different meaning. Copy it to keep its value which is handled in the old behaviour last. mkgmap:carpool=* { set mkgmap:carpool_compat='${mkgmap:carpool}'; delete mkgmap:carpool } access=private | access=no { setaccess no; set mkgmap:carpool=yes; } access=yes | access=permissive | access=official | access=designated { setaccess yes; set mkgmap:carpool=no; } access=destination { set mkgmap:throughroute=no } bicycle=private | bicycle=no { set mkgmap:bicycle=no; } bicycle=yes | bicycle=permissive | bicycle=official | bicycle=designated { set mkgmap:bicycle=yes; } carpool=private | carpool=no { set mkgmap:carpool=no; } carpool=yes | carpool=permissive | carpool=official | carpool=designated { set mkgmap:carpool=yes; } foot=private | foot=no { set mkgmap:foot=no; } foot=yes | foot=permissive | foot=official | foot=designated { set mkgmap:foot=yes; } hgv=private | hgv=no { set mkgmap:truck=no; } hgv=yes | hgv=permissive | hgv=official | hgv=designated { set mkgmap:truck=yes; } motorcar=private | motorcar=no { set mkgmap:car=no; } motorcar=yes | motorcar=permissive | motorcar=official | motorcar=designated { set mkgmap:car=yes; } motorcar=destination { set mkgmap:throughroute=no } motorcycle=private | motorcycle=no { set mkgmap:car=no; } motorcycle=yes | motorcycle=permissive | motorcycle=official | motorcycle=designated { set mkgmap:car=yes; } motorcycle=destination { set mkgmap:throughroute=no } psv=private | psv=no { set mkgmap:bus=no; } psv=yes | psv=permissive | psv=official | psv=designated { set mkgmap:bus=yes; } taxi=private | taxi=no { set mkgmap:taxi=no; } taxi=yes | taxi=permissive | taxi=official | taxi=designated { set mkgmap:taxi=yes; } emergency=private | emergency=no { set mkgmap:emergency=no; } emergency=yes | emergency=permissive | emergency=official | emergency=designated { set mkgmap:emergency=yes; } delivery=private | delivery=no { set mkgmap:delivery=no; } delivery=yes | delivery=permissive | delivery=official | delivery=designated { set mkgmap:delivery=yes; } goods=private | goods=no { set mkgmap:delivery=no; } goods=yes | goods=permissive | goods=official | goods=designated { set mkgmap:delivery=yes; } # Reintroduce the old carpool handling which allows access only for bus and emergency plus setting the carpool bit mkgmap:carpool_compat=yes { setaccess no; set mkgmap:bus=yes; set mkgmap:emergency=yes; set mkgmap:carpool=yes }