Page History
| 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 |
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.
...
OpenLR White Paper (PDF) and OpenLR_Decoding_bits_and_bytes v1.0,1 (PDF)
- DATEXII OpenLR™ (Point, linear and area location)
- TN-ITS integration: to become EN TS 16157, Part 14: TN-ITS (work-item in CEN TC278 W7, publication expected Q1 2026)
- TISA Github
- OpenLR Python Documentation
- StackOverflow: OpenLR Binary v3 discussion
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 OpenLRdecoder/: Converts OpenLR back to map-specific locationmap/: Interface you must implement to plug in your own map backend (OSM, HERE, etc.)maploader-tt-sqlite/: Example for using TomTom mapsxml/,binary/: Serialization support
Build: Maven + Java 8
Docs:
HOWTO.mdexplains integration and usage
🧪 Testing Tools
Includes unit tests for encoding/decoding various location types.
openlr-usage-samplemodule provides a minimal working example.
🧰 What You’ll Need to Implement
To integrate OpenLR:
Implement the
OpenLRMapReaderinterface to support your map (e.g., OSM, HERE).Use
LocationEncoderandLocationDecoderAPIs.Decide on binary vs XML encoding (or both).
Handle map attribute translation (e.g., FRC/FOW normalization if using OSM).
✅ Additional Help
You can also explore:
Stack Overflow (tag
OpenLR)OpenLR community: info@openlr-association.com
Description of changes
<description of the changes>
Comments
...
Who
...
What
...
Decision
...