Location Reference OpenLR
This section of NDW Docs provides information about OpenLR in general as well as the application and interpretation of OpenLR as a location reference system.
Background OpenLR
The OpenLR1 location reference method is an open-source standard developed by TomTom for exchanging geographic information between systems based on relative locations within a network. The standard prescribes how geographic information about a specific location or route should be structured and stored. The strength of the method is that it operates independently of map material. Besides characteristic coordinates, the standard uses a definition of the road type on which the location or route is situated. Extensive content information about OpenLR can be found in this OpenLR whitepaper.
For each road segment included when encoding the location or route, the following additional attributes are recorded (in the element OpenLR whitepaper.
Per wegsegment, dat is opgenomen bij het coderen van de locatie of het traject, worden de volgende aanvullende attributen opgenomen (in het element openlrLineAttributes in v2.3 of openlrLineAttributes in v3):
-
Functional Road Class: Describes the importance of the road to which the segment belongs, such as first-class road, second-class road, etc.
-
Form Of Way: The physical road type of the segment, such as a motorway, road with multiple separated carriageways, road with a single carriageway, etc.
-
Bearing: The direction of the road segment in compass degrees.
Application of OpenLR as a Location Reference System
General
OpenLR uses the general principle of "nodes" and "links" from Graph Theory. Location referencing in OpenLR assumes that the geographic locations of nodes and links reasonably match when comparing different map networks. The additional attributes, as described above, ensure that the correct match is found when decoding nodes and links.
Point Locations
Point locations are encoded in DATEXII according to the OpenLR principle "Point along line." This means "location along a line," where a line refers to a link in the network. A link is bounded by two nodes. Location referencing of a point location is therefore composed of the node preceding the point location, the node after the point location, and the offset distances from both nodes to the exact point location, based on the driving direction.
The following rules apply to OpenLR location referencing:
-
The reference link is a single link in the network.
-
The offset values determining the position of the location on the line may not exceed the length of the link.
OpenLR point locations are described in DATEXII in the element openlrExtendedPoint in v2.3 or openlrPointLocationReference in v3.
Route Locations
Route locations are encoded in DATEXII according to the OpenLR principle "Line location," which refers to a route running over links in a network. Just like point locations, OpenLR assumes that the start and end points of the route are both located on a link in the network. Location referencing of a route location consists of the node preceding the starting point, the node after the endpoint, and the offset distances from both nodes to the exact start and endpoint, based on the driving direction. Intermediate nodes can be included if necessary to further describe the route. Below is an explanation of when intermediate nodes are required.
OpenLR uses the shortest path algorithm when describing routes. If the described route matches the shortest route, only the start and end points are included, along with offsets if applicable. This situation is illustrated in the following figure:
If the intended route deviates from the shortest route, it is indicated with an intermediate point and the deviation angle (bearing) that indicates the direction to be followed. Again, offsets are included relative to the start or end point if applicable. This is shown in the figure below:
Route locations are coded in DATEXII according to the OpenLR principle "Line". In DATEXII v2.3, the element OpenlrExtendedLinear or openlrLinear in v3 is used.
When OpenLR is applied to route locations as a complement to location referencing based on VILD / ALERT-C, it is agreed within the Dutch Profile DATEX II to include the location reference based on OpenLR within the first segment (linear) of the route. This is because location referencing based on OpenLR describes the entire route at once, while location referencing based on VILD segments (linears) must not span over roads. The first segment (linear) is always present.
The rules set for the OpenLR location reference are as follows:
- The start and end points must be connected in the underlying network.
- Two consecutive lines in the route location must also be connected and adjacent in the underlying network.
- If a driving direction is available, the location must be passable from the start to the end in the driving direction.
- A line location is represented by an ordered list of line elements.
- The list of line elements must be ordered from the beginning of a location to the end of a location.
- Offsets are always indicated with positive values, and the total length of the offsets must not exceed the length of the entire location.
Area Locations
Area locations can be coded in DATEXII according to the OpenLR principle "Area". This is made possible in the Dutch Profile DATEX II by using an extension on Area, called AreaExtension in v2.3. The element openlrExtendedArea in v2.3 is included, which contains an element that can be specialized into a number of area descriptions. In DATEXII v3, this information is included in openlrAreaLocationReference in v3
When describing an area, it is possible to use the following area shapes:
- ClosedLine: A location with a closed line refers to the area defined by a closed path (i.e., a circuit) in the road network. The boundary always consists of road sections.
- Circle: A circular location is given by the position of the center and the radius. The central position is a geo-coordinate pair of coordinate values for longitude and latitude that can occur anywhere on the surface. The radius is an integer and is expressed in meters.
- Grid: A grid location is a special instance of a rectangular location. It is given by a rectangular base shape. This base rectangle is the bottom left cell in the grid and can be multiplied northward (by defining the number of rows) and eastward.
- Polygon: A polygon location is a non-crossing shape defined by a series of geo-coordinate pairs. The coordinate pairs can occur anywhere on the surface. They define the corners of the underlying geometric polygon. The boundary of this polygon is formed by straight lines between each pair of consecutive bends in the series, plus the straight line between the last and the first bend.
- Rectangle: A rectangle refers to a rectangular shape. It is given by two geo-coordinate pairs that can be anywhere on the surface. The geo-coordinate pairs define the bottom left corner and the top right corner of the rectangular shape. Due to the limited use of OpenLR area locations in DATEXII, the exact operation is not further explained. See the OpenLR whitepaper for further explanation.
-
See www.openlr.org for extensive information about the standard and the licensing model of the OpenLR standard. ↩