The following figure illustrates an example of a road rendered from the data.
Figure 1. Sample Roads in London
The layer content is defined as follows.
Layer name: roads
Geometry types: line, point
This layer contains information about all kinds of transportation including, but not limited to, highways, major roads, minor roads, paths, railways and ferries. Sort them with sort_rank to correctly represent layered overpasses, bridges, and tunnels.
The landuse_kind value is calculated by intercutting roads with the landuse layer to determine if a road segment is over a park, hospital, university or other landuse feature. Use this property to modify the visual appearance of roads over these features. For instance, light gray minor roads look great in general, but aren't legible over most landuse colors unless they are darkened.
To improve performance, some road segments are merged at low and mid zooms. To facilitate this, certain properties are dropped at those zooms. Examples include is_bridge and is_tunnel, name, network, oneway, and ref. The exact zoom varies by feature class.
Road Properties (common)
The following properties are used to define a road.
name - Generally the name the locals call the feature, in the local language script.
kind - Roads can be one of the options listed below.
kind_detail - See the kind_detail values list below.
landuse_kind - For more information, see the description above.
sort_rank - This property contains a suggestion in which order to render features. The value is an integer where smaller numbers suggest that features should be "behind" features with larger numbers. At zoom 14 and higher, the sort rank is adjusted to realistically model bridge and tunnel. For example, sort_rank = 377 for is_bridge at zoom 13 becomes sort_rank = 427 at zoom 14.
min_zoom - This property indicates a suggested minimum zoom at which this road should become visible.
ref - A commonly used reference for this road - for example, "I 90" for Interstate 90. To use with shields, see the network and shield_text properties.
network - This property is useful for shields and road selections - for example, US:I for the United States Interstate network. It contains only road network types. For more information, see a full list of possible road network values.
shield_text - This property contains the text to display on a shield. For example, I 90 would have a network of US:I and a shield_text of 90. The ref value, I 90, is less useful for shield display without further processing. For some roads, this property can include non-numeric characters - for example, the M1 motorway in the UK has a shield_text value of M1 rather than just 1.
all_shield_texts - All the shield texts of which this road is a part. This is given as semicolon-separated shield_text values. See shield_text above.
all_networks - All the networks of which this road is a part. This is given as semicolon-separated network values. See network above.
all_route_types - All the route types of which this road is a part. This is given as semicolon-separated numeric codes used for shield styling depending on the country.
all_refs - All the references used for this road. This is given as semicolon-separated ref values. See ref above.
hgv_restriction - This property indicates limitations to heavy goods vehicle truck access. See the hgv_restriction values list below. Always available only on points.
Road Properties (common-optional)
The following properties are used to define additional information about a road.
is_bridge - true if the road is part of a bridge. This property is not present if the road is not part of a bridge.
is_link - true if the road is part of a highway link or ramp. This property is not present if the road is not part of a highway link or ramp.
is_tunnel - true if the road is part of a tunnel. This property is not present if the road is not part of a tunnel.
is_present_in_landuse - true if the road has a detailed polygonal representation by the landuse kindsexpressway, urban_expressway, national_road, major_road, and other_road, or formed as an area not covered by the landuse kind block for minor roads. This property is present only within the core layer parameter with limited coverage for Japan at zoom 14. It allows filtering of road centerlines while showing detailed road geometries from the landuse data. For more information, see Polygonal Roads.
is_present_in_city - true if the rail is part of the city rail network. This property is present only within the core layer parameter with limited coverage for Japan at zoom 14 and higher. Rails with this property are used only for labeling while showing line geometries from the city rail network. Available only for the rail kind.
hgv - This property indicates general truck heavy goods vehicle truck access. Available only on lines. Values include: no.
hgv_restriction - This optional property indicates limitations to heavy goods vehicle truck access. Available on both points and lines. See the hgv_restriction values list below. See also hgv_restriction_shield_text.
hgv_restriction_shield_text - This optional property is always paired with hgv_restriction and indicates the value of limitation to heavy goods vehicle truck access. Because the units are different per restriction, an abbreviation is provided next to the value, for example, 5.1m or 16'9" (US), 4t or 4.4 T (US). Such values are specified with one decimal precision, but the value of 5.0m is given as 5m. See the hgv_restriction_shield_text values list below.
hgv_time_restrictions - This optional property specifies when heavy goods vehicle truck access is restricted. See the hgv_time_restrictions values list below.
fclass - This property indicates a functional class numeric value for roads with kind_detail = motorway and kind_detail = motorway_link. For more information, see Road Transportation fclass Values.
under_construction - true. This property indicates that the road is under construction and may not be usable by some or all types of traffic. The property is not present if the road is not under construction.
surface - unpaved if the road is unpaved. This property is not present if the road is paved.
oneway - An optional property that indicates if traffic is one-way and travels in the same direction as the linestring. This property can only have the following values: yes.
toll - An optional boolean property that indicates if a fee must be paid by general traffic to travel the feature. This property can only have the following values: true.
Road Transportation kind Values
aerialway - line
ferry - line
hgv_restriction - point, indicates limitations to heavy goods vehicle truck access
highway - line
major_road - line
minor_road - line
path - line
rail - line
piste - line
Road Transportation kind_detail Values
ferry - for ferry kind
motorway - for highway kind
trunk - for highway kind
primary - for major_road kind
secondary - for major_road kind
tertiary - for major_road kind
residential - for minor_road kind
service - for minor_road kind
unclassified - for minor_road kind
pedestrian - for path kind
footway - for path kind
rail - for rail kind
chair_lift - for aerialway kind
downhill - for piste kind
Road Transportation kind_detail Values for Certain Areas in core
The following list of kind_detail values is only applicable for some regions of the world within the core layer parameter. For more information about the layer parameters available in the HERE Vector Tile API, see Layer Parameter.
Below are these kind_detail values within the core layer parameter for Japan:
light_rail - for rail kind
subway - for rail kind
speed_rail - for high-speed railroads with rail kind
private_rail - for privately owned railroads with rail kind
state_rail - for state-owned railroads with rail kind
monorail - for monorails with rail kind
cable_car - for aerialway kind
gondola - for aerialway kind
Road Transportation hgv_restriction Values
For the hgv_restriction property indicates general restrictions to heavy goods vehicle truck access, the values include:
weight - weight restriction
height - height restriction
length - length restriction
width - width restriction
wpa - weight per axle restriction
axles - number of axles restriction with or without maximum weight per axle
kpra - kingpin to rear axle length restriction
hazmat - restriction for vehicles that carry hazardous materials
trailers - trailers restriction
other - other restriction
multiple - if more than one restriction (represented by points along the line, where every point indicates specific restriction that applies to this road)
height, length, or width value, for example, 5.1m or 16'9" (US)
For wpa restriction:
weight value, for example, 1.8t or 2 T (US)
text value, where N is weight value:
Single axle N
Tandem axle N
For axles restriction:
weight value, for example, 1.8t or 2 T (US).
text value, where N is weight value. Not added in case of zero value:
Two or more axles N
Three or more axles N
Four or more axles N
Five or more axles N
Six or more axles N
For hazmat restriction:
Hazardous material type unknown
Unspecified hazardous material type
Explosives
Gas
Flammable
Flammable solid combustible
Organic
Poison
Radioactive
Corrosive
Other
Any hazardous material
Poisonous inhalation hazard
Goods harmful for water
Explosive and flammable
Tunnel category b
Tunnel category b1000c
Tunnel category b d
Tunnel category b e
Tunnel category c
Tunnel category c5000d
Tunnel category c d
Tunnel category c e
Tunnel category d
Tunnel category d e
Tunnel category e
For trailers restriction:
One or more
Two or more
Three or more
Semi or tractor with trailers
For other and multiple restrictions, hgv_restriction_shield_text is omitted.
Road Transportation hgv_time_restrictions Values
The property specifies the date and time period during which the condition applies. The value is a string formatted according to the Time Domain format, which is a part of the GDF (Geographic Data Files) specification. The current standard for GDF is version 5.1, which corresponds to ISO 20524-1:2020.
A basic Time Domain is represented by a Starting Date and a Time Duration, and it is denoted as [(Starting Date) {Time duration}]. For example, the notation [(M5d1){d1}] can be explained as follows:
Starting Date: Any year, in the month of May (month 5), on the 1st day, starting from 12:00 a.m. (midnight).
Duration: The time period lasts for a complete day, which is equivalent to 24 hours or 1440 minutes.
Starting Dates and time intervals are represented using graphical symbols that allow the description of various time units, including years, months, weeks, days, and even seconds. These symbols are arranged in a sequential order, starting from the longest time unit and progressing to the smallest unit. When combined with a starting date, these symbols form a basic Time Domain.
If no starting date is provided, the notation only indicates a duration. If the first time type code in the duration section is preceded by a minus sign, it signifies that the duration is counted in reverse order.
The following list provides a description of the starting date and time interval unit types:
ynn - Denotes a year. This symbol can denote a specific year, denoted as nnnn, within a starting date, or it can indicate a duration of nn years. For example, the notation [(y1991M11d14h5m30s19){y1}] signifies a time period from 14th November 1991, 5:30:19 a.m. to 14th November 1992, 5:30:19 a.m. In cases where there is no corresponding calendar date in the year specified, such as 29th February, the addition of "plus 1 year" results in the date being considered as 28th February of the following year. Note that {y1} is equivalent to {M12} in terms of representing a one-year duration.
Mnn - Denotes a month. It can indicate a specific month within a given year (ranging from 1 to 12) when the year information is provided in the starting date. Alternatively, it can represent any year when no y information is specified. It can also denote a duration of nn months.
For example, the notation [(y1991M11d14h5m30s19) {M3}] signifies a time period from 14th November 1991, 5:31:19 a.m. to 14th February 1992, 5:30:19 a.m. This indicates a duration of three months, starting from November 1991 and ending in February 1992.
wnn - Denotes a week. It can denote a specific week (ranging from 1 to 53) within a given year, if the year information is provided in the starting date. Alternatively, it can represent any year when no y information is specified. It can also indicate a duration of nn weeks, which is equivalent to nn * 7 days.
For example, the notation [(y1991M11d14h5m30s19) {w2}] indicates a time period from 14th November 1991 at 5:30:19 a.m. to 28th November 1991 at 5:30:19 a.m. This represents a duration of two weeks, starting from the specified date and spanning 14 days. {w1} is equivalent to {d7} as both represent a duration of one week, which is equal to seven days.
dnn - Represents a day. It can indicate a specific day (ranging from 1 to 28, 29, 30, or 31) within a given month if the month information is provided using the M format in the starting date. Alternatively, it can represent a duration of nn days, which is equal to nn * 24 hours.
For example, the notation [(y1991M11d14h5m30s19) {d2}] denotes a time period from 14th November 1991 at 5:30:19 a.m. to 16th November 1991 at 5:30:19 a.m. This represents a duration of two days, starting from the specified date and spanning 48 hours. {d1} is equivalent to {h24}, as both represent a duration of one day, which equals 24 hours.
tn - Represents a weekday within the starting date. It is used to specify a particular weekday using numeric values: 1 for Sunday, 2 for Monday, 3 for Tuesday, 4 for Wednesday, 5 for Thursday, 6 for Friday, and 7 for Saturday. This notation is only used within the starting date and defines the weekday within a previously defined week, if applicable.
For example, (M5t2) signifies every Monday in the fifth month (May) of any year, starting at 12:00 a.m. This indicates that the condition applies to all Mondays occurring in the month of May, regardless of the year.
fxn - This symbol is used within the starting date to specify a particular weekday within a previously defined month. Its format follows these rules:
The variable n represents the weekday, ranging from 1 (Sunday) to 7 (Saturday), similar to the "t" format.
The variable x is replaced with one of the following values: 1 for the first occurrence, 2 for the second occurrence, 3 for the third occurrence, 4 for the fourth occurrence, and 5 for the fifth occurrence.
For example, (...f12) indicates the first Monday at 12:00 a.m. This means that the condition applies to the first Monday that occurs within the previously defined month.
lxn - The symbol is used to specify a particular weekday within a previously defined month. The format follows these rules:
The variable n represents the weekday, ranging from 1 (Sunday) to 7 (Saturday), as in the "t" format.
The variable x is chosen from the following set: 1 for the first occurrence, 2 for the second occurrence, 3 for the third occurrence, 4 for the fourth occurrence, and 5 for the fifth occurrence. These values are given in reverse order starting from the end of the month, indicating the position of the occurrence relative to the last day of the month.
For example, (...l12) indicates the last Monday at 12:00 a.m.
hnn - Represents an hour. It can denote a specific hour (ranging from 0 to 23) within a particular day if the day has been previously defined in the starting date. Alternatively, it can indicate a duration of nn hours, which is equivalent to nn * 60 minutes.
For example, [(y1991M11d14h5m30s19) {h10}] signifies a time period from 14th November 1991, 5:30:19 a.m. to 14th November 1991 at 3:30:19 p.m. This represents a duration of 10 hours, starting from the specified time and ending 10 hours later. {h1} is equivalent to {m60} as both represent a duration of one hour, which is equal to 60 minutes.
mnn - Represents a minute. It can indicate a specific minute (ranging from 0 to 59) within a particular hour if the hour has been previously defined in the starting date. Alternatively, it can represent a duration of nn minutes, which is equal to nn * 60 seconds.
For example, [(y1991M11d14h5m30s19) {m11}] denotes a time period from 14th November 1991 at 5:30:19 a.m. to 14th November 1991 at 5:41:19 a.m. This represents a duration of 11 minutes. {m1} is equivalent to {s60} as both represent a duration of one minute, which is equal to 60 seconds.
snn - Represents a second. It can indicate a specific second (ranging from 0 to 59) within a particular minute if the minute has been previously defined in the starting date. Alternatively, it can represent a duration of nn seconds.
For example, [(y1991M11d14h5m30s19) {s21}] denotes a time period from 14th November 1991 at 5:30:19 a.m. to 14th November 1991 at 5:30:40 a.m. This represents a duration of 21 seconds. {m1} is equivalent to {s60} as both represent a duration of one minute, which is equal to 60 seconds.
znn - Represents fuzzy symbols for special time terms. Currently, there are two variants in use:
[(z1){z51}] denotes "dawn til dusk" or nighttime.
[(z2){z52}] denotes "dusk til dawn" or daytime.
The usage and interpretation of these fuzzy symbols may vary depending on the context or future extensions to the specification.
string_value - Externally specified string value. For example [*EASTER(h8){h14}] means from 8:00 am to 10:00 pm during Easter.
Starting Dates which are composed of several time units (e.g., 14 November 1991) are defined by placing the symbols sequentially in a hierarchical order.
Time periods (duration) which are composed of several time interval units are represented by listing the individual symbols sequentially in hierarchical order. The total time duration of a particular combination of symbols is the sum of all single time intervals. For example, {y2M1w2} means a period of 2 years, 1 month, and 2 weeks. Becasue Time Domains can be considered as a set of the smallest time unit described here, the second, Time Domains might also be combined with set operations, such as:
Union of sets notation: +
Intersection of sets notation: *
Subtraction of sets notation: -
All Time Domain strings are stored in the prefix form which uses the polish/prefix operator notation and omits brackets made redundant by this. For example:
[[(d1){w1}]-[(d3){d1}]] has the prefix form -(d1){w1}(d3){d1}
[[(d1){w1}]*[(d3){-w1}]] has the prefix form *(d1){w1}(d3){-w1}
Road Transportation fclass Values
Roads in the HERE Vector Tile API are traditionally categorized into so-called functional classes, which do not match one-to-one Tilezen's roads categorization. The mapping from one to the other are as follows.
Functional Class
Tilezen Road properties
N
kind is highway and kind_detail is motorway and fclass is N
1
kind is highway and kind_detail is trunk
1
kind is highway, kind_detail is motorway_link, is_link is true and any fclass
2
kind is major_road and kind_detail is primary
3
kind is major_road and kind_detail is secondary
4
kind is major_road and kind_detail is tertiary
5
kind is minor_road and kind_detail is (residential or service)
5
kind is path and kind_detail is (footway or pedestrian)
Road Transportation fclass Values for Certain Areas in core
The following list of fclass values is only applicable for some regions of the world within the core layer parameter. For more information about the layer parameters available in the HERE Vector Tile API, see Layer Parameter.
Below are these fclass values within the core layer parameter for Japan:
Functional Class
Tilezen Road properties
1
kind is highway, and kind_detail is motorway
2
kind is highway and kind_detail is motorway
3
kind is highway and kind_detail is motorway
3
kind is major_road and kind_detail is primary
4
kind is major_road and kind_detail is secondary
5
kind is major_road and kind_detail is secondary
6
kind is major_road and kind_detail is tertiary
7
kind is major_road and kind_detail is tertiary
8
kind is minor_road and kind_detail is resedential
8
kind is path and kind_detail is pedestrian
9
kind is minor and kind_detail is (resedential or service)
10
kind is minor_road and kind_detail is (resedential or service)
10
kind is path and kind_detail is (footway or pedestrian)
11
kind is minor_road and kind_detail is (resedential or service)
11
kind is path and kind_detail is (footway or pedestrian)
Road Labels (Optional)
This is an optional layer, and its content is defined as follows.
Layer name: road_labels
Geometry types: line
This layer contains deduplicated labeling properties (name, ref, network, shield_text) and simplified label placement geometry for all kinds of transportation, including but not limited to highways, major roads, minor roads, paths and ferries, which are present in the roads layer.
In the roads layer, each road segment contains labeling properties, which could be the same (and there are a lot of them) for consecutive road segments. To remove such duplicates and avoid post processing on the client side, the road_labels layer stores already merged and simplified consecutive road segments with the same name properties. However, you still can decide which layer (roads or road_labels) best suits your special needs as a source of labeling properties.
Road Label Properties (common)
name - Generally the name the locals call the feature, in the local language script.
ref - A commonly used reference for roads - for example, "I 90" for Interstate 90. To use with shields, see the network and shield_text properties.
network - This property is useful for shields and road selections - for example, US:I for the United States Interstate network. It contains only road network types. For more information, see a full list of possible road network values.
shield_text - This property contains the text to display on a shield. For example, I 90 would have a network of US:I and a shield_text of 90. The ref value, I 90, is less useful for shield display without further processing. For some roads, this property can include non-numeric characters - for example, the M1 motorway in the UK has a shield_text value of M1, rather than just 1.
all_route_types - All the route types of which this road is a part. This is given as semicolon-separated numeric codes used for shield styling depending on the country.