developer blog

On the fly location referencing

Wed | 22 Apr 2020 |

On the fly location referencing

On the fly location referencing methods are a form of location referencing. Most people use this type of location referencing on a daily basis. Whenever you help a passer-by asking for directions, this is already an example of on the fly location referencing.

Route directions…

Suppose you would want to visit Simacan for a cup of coffee and a good conversation.
You still have a few kilometers to go, but you do not know the route yet. Here at Simacan, we know everything about routes and location referencing, so let’s see what we can do to help you find our office!

For this little puzzle, let’s presume you are standing at the orange dot at the left, titled ‘Start’. We also assume you have no navigation available. Below this map you will find route directions. Does this help you to find your way to Simacan’s office?

route directions

These are the route directons:
1. From the starting point, go the the northeast. Follow the road for approximately 200 meters.
2. Go to the east. Follow the road for approximately 900 meters.
3. Go to the south. Follow the road for approximately 800 meters.
4. Go to the southeast. Follow the road for approximately 150 meters.
5. Go to the southwest. Follow the road for approximately 300 meters.
6. Go to the northeast. Follow the road for approximately 150 meters.
7. You should have reached your destination now.

Good luck!

Route directions may be retrieved on a map

Did you succeed? You should have found the green route on the map below.

route directions

That is location referencing

But what did we just do? We first gave you route directions. With these pieces of information you could puzzle a bit and find the original route we intended you to take.

The route directions gave an exact description of a location on the road. As such, it is location referencing. By retrieving the original route with the help of a map, you decoded the location reference on the roadmap.

In a previous blogpost on location referencing and the map, we compared location referencing to a blueprint for a building. The blueprint describes the building, but is not the building itself. The same is true for location referencing: it describes the location, but it is not the location itself.

Decoding a location reference may be compared to the construction of that very building, following the blueprint. The reverse is called encoding: translating the original route to a location reference.

Location referencing may seem rather intricate, and the details sure are. However, the basis principles are rather simple. Without any explanation, you just solved the puzzle, and that is the very idea of location referencing.


The route directions you just decoded to a route is an example of Universal Location Referencing (ULR). This location referencing method has been developed by Fraunhofer FOKUS, a German institute for open communication systems. Below you will find a map visualising the instructions from the route directions in arrows:

route directions

A location reference in ULR consists of the following elements:
– GPS-coordinates of the starting point
– GPS-coordinates of the endpoint
– A description of one or more legs in between.

Go straight ahead or follow the road until the next instruction

A leg is a part of the route between starting point and endpoint with no turns to side roads. For every leg, a heading from the start is given in degrees, and the length of the leg. The direction and the length indeed were given as instructions in your route directions.

The system of ULR keeps in mind that the source-map for the route, used by the encoder, may differ from the target map used by the decoder. Therefore it allows for temporary diversions from the given heading, as long as it eventually returns to the right route.

The description in legs allows humans as well to understand the route directions given above, to get to Simacan. So, a location reference in ULR is even usable without an onboard computer (that should do the decoding).


OpenLR is another example of a location referencing method. This method was originally developed by TomTom. OpenLR is Open Source, therefore it is publicly available.

Take the shortest route, until the next instruction

An OpenLR location reference consists of various pieces, all starting and ending with a Location Reference Point (LRP). You are supposed to take the shortest route to the next LRP, while taking a few given constraints into account.

If we would describe the route from the earlier puzzle in OpenLR, the LRP’s would look like this (blue arrows):

route directions

Our OpenLR example describes the same route as the ULR description earlier in this blog.

Route directions would look like this:
1. At LRP 1, go to the northeast. Take the shortest route to LRP 2, and try to stay on the main road.
2. From LRP 2, go to the southeast. Take the shortest route to LRP 3. You may drive on 30km roads.
3. You should now have reached LRP 3 (Simacan), coming from the southeast.

As ULR, OpenLR takes into account the possible difference between source map and target map. Therefore, along with the coördinates of the LRP and the direction to take from there, other constraints are given as well, such as the Functional Road Class. This parameter indicates the dimensions of the desired road to take. The FRC for a highway will be different from the FRC for a small street running parallel to that highway.

Just a map required

What do ULR and OpenLR have in common? Let’s compare them to other location referencing methods, such as BPS and TMC. What is the difference? For both TMC and BPS you need a table of referencing points that has been composed beforehand. These on the fly methods do not need such a table!

Therefore, you only need a roadmap to be able to decode ULR and OpenLR. For this reason, these methods are called ‘On the fly location referencing’, or sometimes ‘Dynamic Location Referencing’.

These methods have the advantage of not needing a ‘fixed’ table of points or lines. Decoding is no longer hampered by overdue updates of the tables. However, on the fly location referencing too does have its drawbacks. An onboard computer will need more processing power to decode on the fly location referencing than for linear location referencing. Moreover, this type op location referencing will require more bandwidth.

Location referencing in practice

Here at Simacan, we use location referencing in both directions: we encode and decode locations on various maps. This way, we are able to relate information about congestion, road works, variable message signs, environmental zones, etc. from various sources, and show them on a single map. A lot of this work we do based on OpenLR.

Even if you work with location referencing on a daily basis, you do not have to memorize all the intricate details. You may look up details in this blog, or in the references below. In most situations, the three statements below offer enough clues:
– For on the fly location referencing, you only need a roadmap, nothing else.
– OpenLR is based on shortest routes between LRP’s.
– ULR works with legs, within which you are supposed to only go straight ahead on the same road.


– For more information on OpenLR you can visit and
– For more information on ULR you can visit and
– A general study on location referencing methods may be found here