Open Guidance Service Developer's Guide
The Open Guidance Service provides a simple interface to get detailed routing, connectivity information, and route shapes.
See our Release Notes for details on the latest additions to this service.
Hello, World!
The Open Guidance Service lets you request guidance route information between two or more points. The service can return results in JSON or XML, either of which can easily be parsed by client applications.
The following example demonstrates a simple request to receive guidance route information from Milpitas, CA to San Jose, CA. The JavaScript code which sends the request and displays the result can be viewed here.
(Guidance route information will be displayed below)
Contents
- Overview
- Common URL Parameters
- Basic Guidance Options
- Specifying Locations
- Advanced Guidance Options
- Guidance Response Description
Overview
- Route - The core guidance function. Provides guidance route information on how to get from one location to one (or more) other locations.
The input to this function is a Route Request, which is described via Key/Value pair request parameters, or as JSON or XML text.
The Open Guidance Service is designed to accept and return a variety of formats. All requests are submitted and returned via HTTP. The input format supplied to the service is not required to be the same format returned from it.
Supported input formats:
- Key/Value pairs - All guidance parameters are supplied via request parameters.
- JSON - The guidance parameters are supplied via JSON-formated text, either in the body of an HTTP POST request or as the
"json"parameter of an HTTP GET request. - XML - The guidance parameters are supplied via XML-formatted text, either in the body of an HTTP POST request or as the
"xml"parameter of an HTTP GET request.
Supported output formats:
- JSON (default) - The HTTP response will be a JSON-formatted Guidance Response.
- XML - The HTTP response will be an XML-formatted Guidance Response.
Geocoding/Reverse Geocoding with Nominatim:
- The Open Guidance Service now allows address input as well as lat/lng input for routing!
- Please see the Nominatim Search Service and the Nominatim Reverse Geocoding for more details.
Common URL Parameters
The following table describes the request parameters which are not related to specific Guidance Request options. These parameters, if supplied, must be supplied as request parameters (they can not be supplied in the BODY of the request).
| Request Parameter | Description |
|---|---|
| ambiguities String |
Use this parameter to set the strategy for resolving
ambiguous location names.
If this parameter is set to "ignore", the Open Guidance Service
will simply use the first location found for an address.
If this parameter is not set, or set to a value other than "ignore", the Open Guidance Service will return a full list of
the possible location matches in the collections
attribute of the response.
|
| inFormat |
Specifies the format of the request. If this parameter is not supplied, the input format is assumed to be JSON-formatted text. The JSON-formatted input text must be supplied as either the "json" parameter of an HTTP GET, or as the BODY of an HTTP POST.
If this parameter is "xml", the XML-formatted input text must be supplied as either the "xml" parameter of an HTTP GET, or as the BODY of an HTTP POST.
Must be one of the following, if supplied:
"json" if not supplied
|
| json | This parameter, if present, should contain the JSON-formatted text
of the request.
Use this parameter if you want to submit your request in JSON
format, but do not want to use an HTTP POST to submit body text.
Note: Remember to URL-escape the text in this parameter! |
| xml | This parameter, if present, should contain the XML-formatted text
of the request.
Use this parameter if you want to submit your request in XML
format, but do not want to use an HTTP POST to submit body text.
Note: Remember to URL-escape the text in this parameter! |
| outFormat | Specifies the format of the response.
Must be one of the following, if supplied:
"json" if not supplied
|
Basic Guidance Options
The following table describes the "bare bones" parameters needed to make a Guidance request
| Name | Description |
|---|---|
| key String |
A unique key to authorize use of the Guidance Service. This is a required parameter! |
| from Location |
When the input format is Key/Value pairs, the starting location of a Guidance Request.
Exactly one "from" parameter is allowed.
|
| to Location |
When the input format is Key/Value pairs, the ending location(s) of a Guidance Request.
More than one "to" parameter may be supplied.
|
Specifying Locations
To specify locations in JSON or XML, you must include a "locations" parameter that encloses a list of locations. It is locations:[ and ] in JSON, or <locations> and </locations> in XML. The contents of the locations must be Location objects. Please also see Single-Line Locations for more details.
Parameters are described in the table below.
| Field Name | Description |
|---|---|
| latLng | Returns the latitude/longitude for routing and is the nearest point on a road for the entrance. |
| street (optional) | Street address |
| adminArea5 (optional) | City name |
| adminArea4 (optional) | County name |
| adminArea3 (optional) | State name |
| adminArea1 (optional) | Country name |
| postalCode (optional) | Postal code |
| type | Type of location.
"stop" location used is treated as a "destination" point and will cause a
destination maneuver to be generated. For example, a Guidance Route Request from A to B to C
will generate a route from A to B as well as a route from B to C. The Guidance Response would
include 2 maneuvers associated with A and B as start points as well as 2 maneuvers associated
with B and C as destination points. This may also result in a route which, upon reaching
location B, reverses its direction of travel to reach location C. If location B were a
"via" type, the route would avoid immediatly reversing the direction of travel
at location B. Instead, location B would simply be treated as a point through which the route
must pass. Such a Guidance Response would only contain 1 maneuver associated with A as a
start point and 1 maneuver associated with C as the destination point.
|
| JSON Response Example | XML Response Example |
|---|---|
{
latLng: {
lng: -77.792801,
lat: 40.7756
},
adminArea4: "Centre County",
adminArea5Type: "City",
adminArea4Type: "County",
adminArea5: "Boalsburg",
street: "",
adminArea1: "US",
adminArea3: "PA",
type: "s",
postalCode: "",
adminArea1Type: "Country",
adminArea3Type: "State"
}
|
<location>
<street/>
<adminArea5 type="City">
Boalsburg
</adminArea5>
<adminArea3 type="State">
PA
</adminArea3>
<adminArea4 type="County">
Centre County
</adminArea4>
<postalCode/>
<adminArea1 type="Country">
US
</adminArea1>
<type>s</type>
<latLng>
<lat>40.7756</lat>
<lng>-77.792801</lng>
</latLng>
</location>
|
Advanced Guidance Options
The section below describes different parameters that can be used in a Guidance Request.
Advanced Options
The options in the table below, if used in a request in JSON or XML
format, must be enclosed in a field named options. See
the examples below for functional examples of the options
field.
| Name | Description |
|---|---|
| units String |
Specifies the type of units to use when calculating distance.
Acceptable values are:
'm'
|
| routeType String |
Specifies the type of route wanted.
Acceptable values are:
'fastest'
|
| narrativeType String |
Specifies the type of narrative to generate. Currently only text is supported.
'text'
|
| avoids String collection |
Attribute flags of roads to try to avoid.
The available attribute flags depend on the data set.
This does not guarantee roads with these attributes
will be avoided if alternate route paths are too
lengthy or not possible or roads that contain
these attributes are very short.
Available choices:
|
| mustAvoidLinkIds Integer Collection |
Link Ids of roads to absolutely avoid. May cause some routes to fail. Multiple link ids should be comma-separated. |
| tryAvoidLinkIds Integer Collection |
Link Ids of roads to try to avoid during route calculation. Does not guarantee these roads will be avoided if alternate route paths are too lengthy or not possible. Multiple link ids should be comma-separated. |
| shapeFormat String |
Shape format options.
See the Compressed Lat/Lng description page for more detail, including sample source code and an interactive encoder/decoder. |
| generalizeAfter |
This parameter enables line generalization as described below. Since the
shapePoints object contains exact shape information applicable
for navigation calculations, it can be costly to use this shape for display
purposes. This option can be used to get simplified shape data in addition to
the standard shape data.
Set generalizeAfter to a positive integer value. If
the number of shape points in the shapePoints object is >
the generalizeAfter parameter then additional generalized
shape will be returned in the generalizedShape object.
|
| generalize |
This parameter is to be used only in conjunction with generalizeAfter
and will reduce the number of points returned in the generalizedShape object.
If -1 (the default) is suppled then level of generalization
will be automatically determined.
If the generalize parameter is > 0,
it will be used as the tolerance distance (in meters) in the
Douglas-Peucker Algorithm for line simplification.
Higher values of generalize will result in fewer points
in the final route shape.
If the generalize parameter is 0, then
no shape simplification will be done and all shape points will be returned.
|
| direction |
Provides an initial compass direction of travel to favor when generating the route.
If the direction < 0, then no direction is favored.
If the direction >= 0, then the calculated route will
attempt to follow the given direction at the beginning of the route.
This is useful for real-time GPS guided applications in which the user is already traveling in a certain direction and would like to ensure that the returned route starts heading in a similar direction. |
| avoidManeuverDuration |
Provides a duration in seconds starting from the beginning of the route in which the route is to
continue on the current road (ie. avoid performing any maneuvers that lead the user off of the
current road).
If the avoidManeuverDuration < 0 then no duration is used.
If the 0 <= avoidManeuverDuration <= 300 then the calculated route will attempt to
continue on the current road for the given duration at the beginning of the route.
If the avoidManeuverDuration > 300 then a duration of 300 seconds is used for the
route calculation.
This is useful for real-time GPS guided applications in which the user is already traveling at a certain speed and would like to ensure that the returned route does not require an immediate maneuver. The user's current speed can be used to calculate an appropriate avoidmaneuverDuration. If, for example, the user is traveling at 65mph on a highway, a longer avoidmaneuverDuration can be used to avoid a route with an immediate exit ramp maneuver that the user will not have time to make. Also in poor connectivity situations a longer duration may provide enough time for the Guidance Response to be fully downloaded before the first maneuver in the route occurs. |
| enableFishbone |
Provides extra links for each node along the route. Disabling this option (if unneeded) will result
in a substantially smaller amount of returned data.
|
| drivingStyle Integer or String |
Driving style to be used when calculating fuel usage.
|
| highwayEfficiency Double |
This is the fuel efficiency of your vehicle, given as miles per gallon. |
Date/Time Options
This is an extension of the Advanced Guidance Options that allows the user to specify a date and time when generating a route. The Date/Time Options will effect routes that contain roads that are HOV at specific times, have timed-turned restrictions, or have seasonal or specific day of the week closures.
| Name | Description |
|---|---|
| timeType Integer |
Specifies the time type to use.
Acceptable values are:
0
|
| dateType Integer |
Specifies the date type to use. If timeType is 0 or 1, this option will be ignored.
Acceptable values are:
0
|
| isoLocal |
If timeType is 0 or 1 , or if dateType is 1-7 ,this option will be ignored.
If dateType is 0 , this is an optional parameter.
The user has the choice of entering date/time in the ISO 8601 format YYYY-MM-DDThh:mm or may enter as individual parameters by using the month, day, year, and localTime fields that are listed below.
Default isoLocal value is the current date and time. |
| date | The format for date is MM/DD/YYYY.
If timeType is 0 or 1 , or if dateType is 1-7 ,this option will be ignored.
If dateType is 0 and isoLocal is null, this parameter must be used.
MM specifies the month of year. Acceptable values are:
Acceptable values are 01-31. YYYY specifies the year. Values need to be entered in YYYY format. Default date value is the current date. Please note that the user has the choice of entering date/time in the ISO 8601 format YYYY-MM-DDThh:mm or as a calendar date (MM/DD/YYYY) and local time (hh:mm) by using the date and localTime fields, respectively.
|
| localTime Integer |
If timeType is 0 or 1 ,this option will be ignored.
If dateType is 0 and isoLocal is null, this parameter must be used.
If dateType is 1-7 , this paramater can be used to set a specific time of day to generate a route.
Values need to be entered in hh:mm format. Default localTime value is the current time. Please note that the user has the choice of entering date/time in the ISO 8601 format YYYY-MM-DDThh:mm or as a calendar date (MM/DD/YYYY) and local time (hh:mm) by using the date and localTime fields, respectively.
|
Advanced Guidance Options Sample
| Option | Value(s) | Notes |
|---|---|---|
| From: | ||
| To: | ||
| Avoids: | Limited Access Toll Road Seasonal Closure Unpaved Ferry Country border crossing | |
| Route Type: | ||
| Narrative Type: | ||
| Units: | ||
| Shape Format: | ||
| GeneralizeAfter: | Ignored if "generalizeAfter" is < 0 |
|
| Generalize: | Ignored if "generalizeAfter" (above) is not set |
|
| Direction: | Ignored if direction < 0 |
|
| AvoidManeuverDuration: | Ignored if avoidManeuverDuration < 0. Clamped to 300 if avoidManeuverDuration > 300 |
|
| Input Format: | Uses "json=" or "xml=" if appropriate. |
|
| Enable Fishbone: | ||
(Output will be displayed below)
Guidance Response Description
The following table describes the response from a Guidance Request. The examples are given in JSON & XML format.
| Response Field | Description | JSON Example Return Value(s) | XML Example Return Value(s) |
|---|---|---|---|
| boundingBox | A best-fit lat/lng bounding rectangle of all points in the shapePoint collection.
|
boundingBox: {
ul: {
lng: -76.730422,
lat: 40.078811
},
lr: {
lng: -76.329994,
lat: 39.961879
}
}
|
<boundingBox>
<ul>
<lat>40.078811</lat>
<lng>-76.730422</lng>
</ul>
<lr>
<lat>40.078811</lat>
<lng>-76.730422</lng>
</lr>
</boundingBox>
|
| location | Returns a collection of locations in the form of an address. See the Specifying locations as JSON/XML section for more detail on the format of a Location object. | location: [] |
<location></location> |
| GuidanceNodeCollection | A collection of nodes along the route (in order of traversal) where each node represents an intersection of 2 or more links along the route. An empty node is added at the beginning of the collection. Each node has an array of link indices associated with the intersection that occurs there. These indices can be used to index the GuidanceLinkCollection. The first link index in the array represents the link on the route that starts at that node.
|
GuidanceNodeCollection: [
{
turnCost: 3,
nodeType: 0,
maneuverType: 20,
linkIds: [
9,
152,
]
infoCollection: [
"Merge left onto
STATE ROUTE 470 East",
"Merge onto CO-470 E."
]
},
{
turnCost: 1,
nodeType: 0,
linkIds: [
10,
153,
]
},
...
]
|
<GuidanceNodeCollection>
<node>
<nodeType>0</nodeType>
<maneuverType>20</maneuverType>
<turnCost>3</turnCost>
<linkIds>
<linkId>9</linkId>
<linkId>152</linkId>
</linkIds>
<infoCollection>
<info>Merge left onto
STATE ROUTE 470 East</info>
<info>Merge onto CO-470 E.</info>
</infoCollection>
</node>
<node>
<nodeType>0</nodeType>
<turnCost>1</turnCost>
<linkIds>
<linkId>10</linkId>
<linkId>153</linkId>
</linkIds>
</node>
...
</GuidanceNodeCollection>
|
| GuidanceLinkCollection | A collection of links along the route as well as any link that is connected to any node along the route (ie. cross streets). The first set of links in the collection will be the links in the order they are traversed along the route. The cross streets are added to the end of the collection in the order they are encountered along the route.
|
GuidanceLinkCollection: [
{
linkType: 0,
endTurnDir: 145,
speed: 55,
speedType: 2,
exitIndex: 0,
exitCount: 1,
shapeIndex: 465,
refNode: 57,
driveability: "T",
endNode: 58,
length: 0.012,
shapeCount: 3,
attributes: 8,
beginTurnDir: 142,
name1: 5,
gefID: 42997633,
name0: 4,
networkDirection: 1,
roadInfoIndices: [
2,
3
]
},
{
linkType: 0,
endTurnDir: 154,
speed: 55,
speedType: 2,
shapeIndex: 468,
refNode: 58,
driveability: "T",
endNode: 59,
length: 0.435,
shapeCount: 10,
attributes: 8,
beginTurnDir: 148,
name1: 5,
gefID: 125400131,
name0: 4,
networkDirection: 1,
roadInfoIndices: [
4,
5
]
},
...
]
|
<GuidanceLinkCollection>
<link>
<linkType>0</linkType>
<gefID>42997633</gefID>
<speed>55</speed>
<speedType>2</speedType>
<driveability>T</driveability>
<length>0.012</length>
<shapeIndex>465</shapeIndex>
<shapeCount>3</shapeCount>
<refNode>57</refNode>
<endNode>58</endNode>
<attributes>8</attributes>
<beginTurnDir>142</beginTurnDir>
<endTurnDir>145</endTurnDir>
<exitCount>1</exitCount>
<exitIndex>0</exitIndex>
<name0>4</name0>
<name1>5</name1>
<networkDirection>1</networkDirection>
<roadInfoIndices>
<index>2</index>
<index>3</index>
</roadInfoIndices>
</link>
<link>
<linkType>0</linkType>
<gefID>125400131</gefID>
<speed>55</speed>
<speedType>2</speedType>
<driveability>T</driveability>
<length>0.435</length>
<shapeIndex>468</shapeIndex>
<shapeCount>10</shapeCount>
<refNode>58</refNode>
<endNode>59</endNode>
<attributes>8</attributes>
<beginTurnDir>148</beginTurnDir>
<endTurnDir>154</endTurnDir>
<name0>4</name0>
<name1>5</name1>
<networkDirection>1</networkDirection>
<roadInfoIndices>
<index>4</index>
<index>5</index>
</roadInfoIndices>
</link>
...
</GuidanceLinkCollection>
|
| shapePoints | Shape points for the guidance route. Shape points is an alternated array of lat/lngs. Evens are lat and odds are lng. The index of a specific shape point is i/2. If compression is specified in the request, the output will be the compressed set of alternating lat/lngs.
|
shapePoints: [
40.25616,
-76.509552,
40.256,
-76.509773,
40.255821,
-76.509971,
40.25568,
-76.510108,
40.25547,
-76.510269,
...
]
|
<shapePoints>
<lat>40.25616</lat>
<lng>-76.509552</lng>
<lat>40.256</lat>
<lng>-76.509773</lng>
<lat>40.255821</lat>
<lng>-76.509971</lng>
<lat>40.25568</lat>
<lng>-76.510108</lng>
<lat>40.25547</lat>
<lng>-76.510269</lng>
...
</shapePoints>
|
| generalizedShape | Generalized shape points for the guidance route. Generalized shape is an alternated array of lat/lngs. Evens are lat and odds are lng. The index of a specific shape point is i/2. If compression is specified in the request, the output will be the compressed set of alternating lat/lngs.
|
generalizedShape: [
40.25616,
-76.509552,
40.256,
-76.509773,
40.255821,
-76.509971,
40.25568,
-76.510108,
40.25547,
-76.510269,
...
]
|
<generalizedShape>
<lat>40.25616</lat>
<lng>-76.509552</lng>
<lat>40.256</lat>
<lng>-76.509773</lng>
<lat>40.255821</lat>
<lng>-76.509971</lng>
<lat>40.25568</lat>
<lng>-76.510108</lng>
<lat>40.25547</lat>
<lng>-76.510269</lng>
...
</generalizedShape>
|
| RouteLinkCount | The number of links contained in the guidance route response. Since the response not only contains links on the route but also any link that connects directly to the route, the RouteLinkCount will be strictly greater than or equal to the number of nodes in the response. |
RouteLinkCount: 30 |
<RouteLinkCount>30</RouteLinkCount> |
| GuidanceRoadInfoCollection | A collection of human-readable road names and signage associated with the links returned in the results.
|
GuidanceRoadInfoCollection: [
{
stdName: "US HIGHWAY 422 BR E"
name: "U.S. HIGHWAY 422 BRANCH East"
sign: {
text: "422"
direction: 8
type: 2
extraText: "BR"
}
},
...
]
|
<GuidanceRoadInfoCollection>
<roadInfo>
<name>U.S. HIGHWAY 422
BRANCH East</name>
<stdName>US HIGHWAY 422 BR E</stdName>
<sign>
<type>2</type>
<direction>8</direction>
<text>422</text>
<extraText>BR</extraText>
</sign>
</roadInfo>
...
</GuidanceRoadInfoCollection>
|
| fuelUsed | The estimated amount of fuel used during the route | fuelUsed: 8.21 |
<fuelUsed>8.21</fuelUsed> |
| GuidanceExitCollection | A collection of exit sign information associated with links along the returned route.
|
GuidanceExitCollection: [
{
signText: "YORK",
exitDirection: 82,
exitNumber: "",
fromLinkID: 125399983,
signValue: 84,
},
{
signText: "PA-581 W",
exitDirection: 82,
exitNumber: "41A",
fromLinkID: 43029139,
signValue: 66,
},
...
]
|
<GuidanceExitCollection>
<exit>
<fromLinkID>125399983</fromLinkID>
<exitDirection>R</exitDirection>
<signValue>T</signValue>
</exitNumber>
<signText>YORK</signText>
</exit>
<exit>
<fromLinkID>43029139</fromLinkID>
<exitDirection>R</exitDirection>
<signValue>B</signValue>
<exitNumber>41A</exitNumber>
<signText>PA-581 W</signText>
</exit>
...
</GuidanceExitCollection>
|
Maneuver Types
The following table describes the maneuver types associated with nodes from a Guidance Response. This list is subject to change; please check back frequently for an updated list of maneuver types and IDs.
| Maneuver Type Name | Maneuver ID | Description |
|---|---|---|
| NONE | 0 | No maneuver occurs here. |
| STRAIGHT | 1 | Continue straight. |
| BECOMES | 2 | No maneuver occurs here. Road name changes. |
| SLIGHT_LEFT | 3 | Make a slight left. |
| LEFT | 4 | Turn left. |
| SHARP_LEFT | 5 | Make a sharp left. |
| SLIGHT_RIGHT | 6 | Make a slight right. |
| RIGHT | 7 | Turn right. |
| SHARP_RIGHT | 8 | Make a sharp right. |
| STAY_LEFT | 9 | Stay left. |
| STAY_RIGHT | 10 | Stay right. |
| STAY_STRAIGHT | 11 | Stay straight. |
| UTURN | 12 | Make a U-turn. |
| UTURN_LEFT | 13 | Make a left U-turn. |
| UTURN_RIGHT | 14 | Make a right U-turn. |
| EXIT_LEFT | 15 | Exit left. |
| EXIT_RIGHT | 16 | Exit right. |
| RAMP_LEFT | 17 | Take the ramp on the left. |
| RAMP_RIGHT | 18 | Take the ramp on the right. |
| RAMP_STRAIGHT | 19 | Take the ramp straight ahead. |
| MERGE_LEFT | 20 | Merge left. |
| MERGE_RIGHT | 21 | Merge right. |
| MERGE_STRAIGHT | 22 | Merge. |
| ENTERING | 23 | Enter state/province. |
| DESTINATION | 24 | Arrive at your destination. |
| DESTINATION_LEFT | 25 | Arrive at your destination on the left. |
| DESTINATION_RIGHT | 26 | Arrive at your destination on the right. |
| ROUNDABOUT1 | 27 | Enter the roundabout and take the 1st exit. |
| ROUNDABOUT2 | 28 | Enter the roundabout and take the 2nd exit. |
| ROUNDABOUT3 | 29 | Enter the roundabout and take the 3rd exit. |
| ROUNDABOUT4 | 30 | Enter the roundabout and take the 4th exit. |
| ROUNDABOUT5 | 31 | Enter the roundabout and take the 5th exit. |
| ROUNDABOUT6 | 32 | Enter the roundabout and take the 6th exit. |
| ROUNDABOUT7 | 33 | Enter the roundabout and take the 7th exit. |
| ROUNDABOUT8 | 34 | Enter the roundabout and take the 8th exit. |
| TRANSIT_TAKE | 35 | Take a public transit bus or rail line. |
| TRANSIT_TRANSFER | 36 | Transfer to a public transit bus or rail line. |
| TRANSIT_ENTER | 37 | Enter a public transit bus or rail station |
| TRANSIT_EXIT | 38 | Exit a public transit bus or rail station |
| TRANSIT_REMAIN_ON | 39 | Remain on the current bus/rail car |
Guidance Node Types
The following table describes the node types associated with nodes from a Guidance Response.
| Node Type Name | Node Type ID | Description |
|---|---|---|
| STREET | 0 | Street |
| RAIL_STATION | 1 | Rail Station |
| BUS_STATION | 2 | Bus Station |
| EGRESS | 3 | Egress Point |
Guidance Link Types
The following table describes the link types associated with links in a Guidance Response.
| Link Type Name | Link Type ID | Description |
|---|---|---|
| STREET | 0 | Street |
| RAIL | 1 | Rail |
| TRANSIT_CONNECTION | 2 | Connection between transit links |
Sign Types
The following table describes the road shield types associated with links from a Guidance Response. This list is subject to change; please check back frequently for an updated list of shield types.
| Sign Type | Description |
|---|---|
| United States Road Shield Tokens | |
| 1 | Interstate |
| 2 | US Highway |
| 3 | State Route |
| 4 | County Route / Parish Route |
| 5 | Interstate Business |
| 10 | Farm to Market (FM) |
| 11 | Bureau of Indian Affairs (BIA) |
| Canada Road Shield Tokens | |
| 20 | Trans Canada Highway |
| 21 | Autoroute |
| 22 | Primary Provincial Route |
| 23 | Provincial Secondary Route |
| 24 | District Route / Regional Route |
| 25 | Yellowhead Highway |
| United Kingdom Road Shield Tokens | |
| 30 | Motorway / M Road |
| 31 | National / A Road |
| 32 | * DO NOT USE (ASCII space) * |
| 33 | Regional / B Road |
| 34 | C Road |
OpenStreetMap data is licensed under the Open Data Commons Open Database License (ODbL).
