Live Roadside Variable Message Signs


I am curious as to why the Jam Cams and Bus Arrivals use Latitude and Longitude data to identify locations, but the Live Roadside Variable Message Signs data uses Easting / Northing. I have created an app for the Traffic Cameras which displays their exact location on a map. However, this approach has not worked with worked with Live Roadside Variable Message Signs. What method does TFL use to convert the Easting / Northing to Lat / Lon?


I know enough to know that it is not a simple transformation, presumably due to the curvature of the earth. I did look briefly at conversion routines a year or so back but it was too complex for me to bother taking further. Now if Excel had a function that did it…

However, London is not a huge area and it did occur to me that a simple linear transformation might be “fit for purpose” in a way it would not be if you were looking at the whole of the UK, say. Obviously it depends what the purpose is as to whether being a few metres out matters - but would it be just a few metres? Has anyone else looked at this?


Thank you for your comments.
As you correctly surmise my use of the data is only for the London area within the M25. Its area is within the 51 latitude while the longitude extends from -0.53 to -0.28. In addition a discrepancy of a few metres would not impact negatively on the app’s performance. I’ve seen a TFL map layer that displays the locations of Roadside Messages Signs - so they have a method.


There are standard way to do this?

There’s a standard set of code here


Thanks, Briantist for the link.

I already knew that there are many websites like the one you told me about. I see that once the data has been entered, the web page source submits the form for transforming,
However, I really want to be able to include the conversion programmatically in my app. and calculate the latitude / longitude for each Roadside Message Sign without recourse to a third party.

Thanks again.


There are pages like
which appear to contain some sort of code to do conversions, as well as explaining the issues.

Other extremely complicated web pages are available…


@Mike Are you getting the VMS data from the Unified API? I call up VariableMessageSign in /Place and get Lat Longs. The API call is Would love to see your app :slightly_smiling_face:


Following the help given to me on this site, I have managed to complete a programme that displays all the active Roadside Variable Message Signs. It’s not very useful, but like Mount Everest, I did it because it’s there. Perhaps, I could have done better with my choice of site marker, but it does the job.

Here are a couple of screen shots to show what the programme does.


Thanks again for your help.


Great to see the data being used! Thank you for sharing :grinning: