Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This box suggests the current best answer

Info

Prior revisions of answers

...

[TISA-LR-OpenLR-FAQ3]

Yes, OpenLR offers comprehensive documentation and open-source tools for implementation. Key resources include the official white paper, a Java-based reference implementation, and practical guides such as the HOWTO.md on GitHub. These resources cover encoding, decoding, and integration workflows to support both beginners and experienced developers.


Short Summary Answer

Yes, OpenLR offers comprehensive documentation and open-source tools for implementation. Key resources include the official white paper, a Java-based reference implementation, and practical guides such as the HOWTO.md on GitHub. These resources cover encoding, decoding, and integration workflows to support both beginners and experienced developers.

Stakeholder Relevance / Rationale

  • Public Authorities: Access to well-documented, transparent technology supports procurement and compliance.

  • Content Providers: Facilitates integration into existing data pipelines through clearly defined formats and tools.

  • Service Providers: Accelerates development and integration with support from reference code and best-practice examples.

  • OEMs: Enables rapid prototyping and integration into in-vehicle systems using proven libraries and flow diagrams.

Detailed Explanation

Types / Versions / Formats

...

  • Encoder/Decoder Design: Requires both sides of the system to implement correct encoding and decoding logic.

  • Diagrams and Pseudo-Code: Included in the white paper and repository to support alternative language implementations.

  • No Hosted API: OpenLR is a library/specification—not a cloud service—so self-hosted integration is necessary.

Decision Guide

NeedResource/Tool
Understand the OpenLR conceptOpenLR White Paper
Understand the ISO TPEG2-OLR formats 

ISO 21219-22 – TPEG2-OLR Standard

Understand the ISO TPEG2-OLR encoding 

TISA Github 

Understand OpenLR encoding in DATEXII

DATEXII OpenLR™ (Point, linear and area location)

Implement OpenLR in JavaGitHub Repository
Implement OpenLR in python

OpenLR Python Documentation

Follow hands-on instructionsHOWTO.md Guide
Explore dynamic location usageINRIX Documentation
Re-implement in another language (e.g., C++)Use flow diagrams and algorithm logic from white paper and GitHub

Implementation Notes

  • There is no “plug-and-play” API; integration requires embedding the encoder and decoder into your own systems.

  • Ensure that test data is validated across both encoding and decoding ends to confirm map alignment.

  • Community forums and forks may offer additional language implementations or platform-specific tips.

References & Tools

...

Proposal 1 

...

Proposal text  (MS Copilot generated)

...

Comments

...

Who

...

What

...

Decision

...

Included:

 EN TS 16157, Part 14: TN-ITS

DATEXII OpenLR™ (Point, linear and area location)

...

...

...

Yes, there is comprehensive implementation documentation available for OpenLR. Here are some key resources:

GitHub Repository

The OpenLR GitHub repository contains the reference implementation of OpenLR. It includes modules for encoding and decoding OpenLR locations, as well as tools for map access and data handling [1].

HOWTO.md

The HOWTO.md file in the GitHub repository provides detailed instructions on how to encode and decode OpenLR locations on digital maps [2].

INRIX Documentation

INRIX offers documentation on Dynamic Location Referencing, which includes information on OpenLR. This resource provides insights into the implementation tools available, such as the Java-based encoder/decoder and map access layer [3].

...

1. Official OpenLR Documentation (by TomTom)

📄 OpenLR White Paper (Core Specification)

  • The foundational document that explains:

    • The encoding/decoding process

    • Location reference types

    • Binary and XML formats

    • Algorithms for location matching

📍 Link: https://www.openlr.org/docs/OpenLR-whitepaper.pdf

2. OpenLR Reference Implementation (Java Library)

📦 Official GitHub Repository

  • TomTom’s open-source Java implementation of OpenLR

  • Includes:

    • Encoding/decoding tools

    • Sample map and test data

    • CLI tools

  • Great for understanding the logic and getting started with your own integration

📍 GitHub: https://github.com/TomTom/openlr

3. OpenLR Encoder/Decoder Flow Diagrams

  • The whitepaper and GitHub repo include helpful flow diagrams and pseudo-code for:

    • Finding candidate locations

    • Generating location references

    • Decoding them onto different maps

This helps if you're implementing OpenLR in a language other than Java (e.g., C++, Python, JavaScript).

4. Community/Examples

  • While OpenLR isn't widely discussed in public forums, you can find:

    • Example implementations or forks on GitHub (search "OpenLR").

    • Occasional integration notes in projects using OpenStreetMap or routing engines like GraphHopper or OSRM.

❗Note: No "Plug-and-Play" Web API

  • OpenLR is a specification and library, not a hosted API or web service.

  • You typically:

    • Integrate the encoder on your side (to generate references).

    • Transmit the encoded data (binary or base64).

    • Use the decoder on the recipient side to map-match to their own map data.

Bonus: Alternatives and Extensions

If your use case goes beyond what the core OpenLR offers, you might consider:

  • OpenLR+ (an extended version used internally by some companies)

  • Custom adaptations for area locations, GeoCoordinate encoding, etc.

 

Yes, there is detailed implementation documentation for OpenLR you can follow. Here's a summary of what's available and how you can use it:

📘 Official Documentation Sources

1. OpenLR Whitepaper (v1.5) – Core Specification

  • Explains logical structure, physical formats (binary & XML), encoding/decoding steps, data types.

  • Covers location types: line, point (including POI), and area (circle, rectangle, polygon, etc.).

  • Includes detailed attribute specifications: FRC, FOW, bearings, offsets.

📄 Your uploaded file: openlr-whitepaper_v1.5.pdf is the full spec
📄 openlr-whitepaper-errata_v1.5.pdf fixes known issues (e.g., ClosedLine bugs)

2. Reference Implementation on GitHub (TomTom)

Repo: github.com/tomtom-international/openlr

  • Modules:

    • encoder/: Java-based encoder converting map location to OpenLR

    • decoder/: Converts OpenLR back to map-specific location

    • map/: Interface you must implement to plug in your own map backend (OSM, HERE, etc.)

    • maploader-tt-sqlite/: Example for using TomTom maps

    • xml/, binary/: Serialization support

  • Build: Maven + Java 8

  • Docs: HOWTO.md explains integration and usage

🧪 Testing Tools

  • Includes unit tests for encoding/decoding various location types.

  • openlr-usage-sample module provides a minimal working example.

🧰 What You’ll Need to Implement

To integrate OpenLR:

  1. Implement the OpenLRMapReader interface to support your map (e.g., OSM, HERE).

  2. Use LocationEncoder and LocationDecoder APIs.

  3. Decide on binary vs XML encoding (or both).

  4. Handle map attribute translation (e.g., FRC/FOW normalization if using OSM).

✅ Additional Help

You can also explore:

Description of changes

<description of the changes>

Comments

...

Who

...

What

...

Decision

...