Versions Compared

Key

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

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.This box suggests the current best answer

Prior revisions of answers

...


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.

...

Comments

...

Who

...

What

...

Decision

...

Add OpenLR decoding Bits and Bytes explainer document OpenLR_Decoding_bits_and_bytes_v1.0.1.pdf

...

TomTom version 2 OpenLR is still used → Aziya to check the status with David (see link)

Note to add that version 3 (current use) shall be used

...

Processed comments meeting July 9th

...

Who

...

What

...

Decision

...

Included:

 EN TS 16157, Part 14: TN-ITS

DATEXII OpenLR™ (Point, linear and area location)

...

Proposal 1 

...

Proposal text  (MS Copilot generated)

...

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

...