Subscribe to RSS Subscribe to Comments

freesoftwhere.org

Traffic

Are you a satisfied OpenStreetMap user? You should be; OSM has user-generated and user-maintained data, and provides a service equal to that proprietary software companies have been charging exorbitant rates for … based solely on the scarcity of the free, public information at the service’s core.

Which got me to thinking about real-time traffic data.  The situation is exactly like the pre-OSM map situation: the “data” is public and free, and consumers have to pay to see it because there is no free alternative.  Ripe for change.

It’s a complicated subject, but in broad strokes there are two major ways to determine traffic information: listen to public Traffic Message Channel (TMC) information on the radio, and aggregate individual user motion culled from participating GPS devices on-the-road.

TMC is a form of Radio Data System (RDS) broadcast and is a published standard. RDS is a sideband of FM radio, and is also used to broadcast song titles by participating FM stations, emergency alerts, and a few other information types. The trouble is that so few devices pay attention to the RDS channel — only a handful of car radios do, and expensive in-vehicle navigation systems do, and that is about it. So the free RDS-TMC data is flowing right past all of us, doing no good.

Making use of it means getting it into the computer, and that seems to have some prerequisites: first, an FM tuner; second, that FM tuner must provide raw access to the antenna, not something hardware-converted directly into a stereo audio stream; third, something to decode the RDS-TMC data stream itself; and fourth, a database to look up the highly-abbreviated hexadecimal TMC messages and convert them into useful stuff like place names.

As near as I can tell, there is exactly one GPL software package capable of reading RDS: srdsd. Unfortunately, it is built to be hooked up to external tuning equipment, perhaps because the authors are as interested in RDS encoding as decoding. There are a few hardware adapters out there specific to RDS, bluetooth and USB, but they are all from one company, GNS, and naturally there are not free drivers. So the big question is how many FM tuners in Linux boxes can actually receive RDS signals?

Scratch that; a better question is how many FM tuners in cell phones can receive RDS signals? Supposedly many can, and suposedly many GPS devices are also capable of RDS decoding, but so far I have not turned up a definitive list.  Apparently some HTC devices can, because there is a shareware project to support them. The Dash Express and TomTom dashtop devices have RDS-TMC built-in or available as add-ons.

Anyway, to sum up, here is what I think would be required to build a crowd-sourced free traffic data source: daemons running on mobile (or desktop) devices that receive RDS-TMC data from nearby FM transmissions, and report what they hear to the central database. Of course, each device can utilize the local data for its own routing purposes; the aggregation would benefit users who don’t have a device and assist in route planning by showing a broader picture. The good news is that “real time” data here is far slower than with GPS tracking; on the scale of one update every few minutes, let’s say. Stationary devices could participate, too, since relaying the information is helpful to everyone even if you yourself are not on the move.

Unfortunately, I have no idea how many FM or GPS devices are out there that can pick up RDS-TMC, so I can’t even begin to speculate on what the coverage would be like. It would require each device owner to run specialized (albeit unobtrusive) software on their device. The other big option would be to have GPS-capable devices simply phone in their position and speed (anonymously, hopefully), then aggregate that.  Far more devices could participate, no RDS-TMC drivers or decoding needed, but it would still involve widespread participation to provide meaningful traffic updates.

Any thoughts?

Comments are closed.

Based on FluidityTheme Redesigned by Kaushal Sheth