Rev 2912 | Blame | Compare with Previous | Last modification | View Log | RSS feed
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 }