Communication of spatial information involves the communication of location. The communication chain of a machine readable location can be described as encoding the location at the sender side, transfer of the code to the receiving system and decoding the code at the receiver side. The process of encoding a location is also called Location Referencing.
TomTom International B.V. developed OpenLR for use by everyone dealing with locations and transmitting these between systems having dissimilar maps.
The technical goal of OpenLR is to specify a location referencing system with the following objectives:
The OpenLR system consists of an encoder, a decoder, a data abstraction and a map database access interface. These four packages form the core of the OpenLR system. Currently two different location reference formats are available. The binary package provides a binary stream format, the XML package provides a XML based format and the datex2 package supports the Datex II protocol.
The encoder is used to encode a location in an encoder map database into a machine readable location reference. It takes a location being part of the map database as input and generates a map-agnostic location reference. A decoder takes this location reference as input and decodes the data and matches the information to find back the location in the decoder map database.
The following picture outlines the package dependencies. The map interface does not depend on any other OpenLR package but is required by all other packages. The data package depends on the map package only. Encoder and decoder package require the map package and the data package. The physical format packages xml/datex2 and binary depend on the data package (and indirectly also on the map package).