Melbourne Tram's, TramTracker IDs

I was thinking it might be handy to add tram tracker id’s to the stops. though a “trackerid” tag.

The TramTracker service has a bunch of tracker stop id’s that map to routes and provide real-time tram arrival time data.

Such as:

This can then be turned into live tram data:

Main issue is that many stops have both directions so there are that there are multiple tracker ids. I guess it would be possible to have an ‘trackerid_ascending’ and ‘trackerid_decending’ depending on the direction and the stop number, although tracker id’s are shared across multiple routes so I’m not sure if there is a guarantee that they will always be in the correct direction for all routes (although looking at the map from it seems like they are consistent).

I was kind of thinking later it would be cool the have a Android/iPhone app/widget that could grab the nearest stop from GPS and get the times rather than having to screw around with the tracker ids, if it was a widget wouldn’t even need to push a button. Maybe even look at plotting some trams on a map in realtime (or pseudo realtime).

Also there are still many stops (and some entire routes) that aren’t yet on OpenStreetMaps.

I was on a tram yesterday thinking about this very issue! At the moment the tram stops in Melbourne are generally listed as single points on the line, except in cases where the corresponding stops are quite far apart in which case they are generally labelled “inbound”, “outbound”, “northbound”, “southbound”, etc.

I have been investigating public transport schema on OpenStreetMap, and am subscribed to the transit mailing list. I believe some users developed a proposed transport tagging schema at the State of the Map conference (, which contains some good ideas for mapping a transit system. One of the key points is that bus or tram stops are placed as nodes by the side of the road, rather than on the line or road itself. This allows better geographical accuracy and allows information such as the TramTracker ID to be applied to the correct stop, as well as other attributes such as shelters, benches, etc.

There is probably some way of using relations (or directional relations?) to link stops together and indicate route and direction, but I suppose the side of the road they are on is also an indication of direction (except at cross intersections where it may not be clear).

Anyway, I intend to work on this in the future, maybe on a test line and if it works well it can be expanded to the rest of the tram and then the bus network. I’ve done some work on the tram routes, adding stops and setting up relations for each route, but there’s still a lot to do so any help is much appreciated.

Also, there is a TramTracker app on the iPhone which uses the GPS to locate the nearest stops…

Having separate stops would be quite useful.

Google also have a open text based format for exporting route data, it includes things like time tables for each stop, which is a bit better than the purposed schema’s scheduling which only takes into account day/night.
Might be handy if that data could be integrated some how, assuming there is a Melbourne feed at some point. Chances are most of the feeds will be proprietary and only shared with Google.

There is also the general legal issues surrounding it, would be handy if Yarra trams would allow their data to be used under an OSM compatible open license. Since they are pushing web2.0 they might be approachable (open licencing is fairly web2.0, it really depends on how lawyery they are). An example of a great open system would be the BART system:

They might even have a data base of the GPS coordinates of all their stops they would be willing to share.

The legal alternative would of course be to go along each route once and mark of the stops. Takea GPS tagged photo of the stopid with a phone for example. Not sure of the Australia specific laws regarding factual data (although things like TV guides seem to be protected), or how they apply to the international laws surrounding OSM. If i write down the tracker id from the sign at the stop, is that different from taking data from the website.

An interesting related point: the Metlink Melbourne app on the iPhone, up until its previous version, used OpenStreetMap tiles (without attribution, as far as I could tell) as the basemap for its Journey Planner! When I noticed this, I was going to write to Metlink and say if they wanted to use OSM, perhaps they could do a bit of quid pro quo and donate transit data such as bus and tram routes and stop locations under a compatible licence. However, a few weeks later the updated version had changed to Google Maps… still could be worth contacting them though, although it seems they were not willing to participate in the Google Transit program.

I would do tram routes similar/the same as bus routes, where you add a relation for the route and then add nodes for the stops and label the stops with IDs etc, that way shared stops on different routes can be shown differently, it also means people could do a custom rendered map showing tram routes.

Metlink and the Victorian Department of Transport have at last released all bus, tram and train stop data under a CC Attribution 2.5 Australia licence at, so I spent last night poring over the spreadsheet. The good news is each stop has highly-accurate lat/long coordinates, as well as street and landmark information, TramTracker ID and Metlink stop ID. I’m setting up a wiki page on the OSM wiki to coordinate an import of this data.

Please note the TransNET Metlink database (which also includes route and timetable information) is also available on the Data Victoria site, but the licence is far more restrictive and appears to be only permitted for use in the ‘App My State’ competition.