Roadway Speeds In Google Local/Maps

I really don’t get why Google hasn’t added live traffic data for major cities yet. The information is out there and freely available for anyone to use. It only took me a few minutes of digging around to realtime traffic data for all of California, so why can’t Google find/use it? For example, Caltrans breaks down the data by district… San Diego is included in District 11:

Labels (descriptions, freeway, direction, etc.)
Current Highway Speeds (cross referenced by ID to the Labels file)

Would be nice if they gave you the longitude/latitude of each location, but hey… assign some intern to look them all up. 🙂

So let’s see if I could stick the data on Google Maps myself (via API)… I’m fairly lazy, and would rather programatically do something that would otherwise require manual labor (looking up longitude/latitude for a zillion points). Thankfully, I remembered that I looked at Yahoo Maps Beta a few weeks ago, and saw it had live traffic data that was overlayed on the map graphic (which means they probably are making a separate HTTP request for just the traffic data). Sure enough… a packet sniffer reveals this URL for getting traffic data for San Diego:

XML Feed

Okay, that’s not bad, but doesn’t include longitude and latitude. Instead it appears the speed data is relative to the current view of the Yahoo map you are looking at. Hmmm… rather than decode their little proprietary system, let’s see what sfmt is. With some luck, it’s “speed format”. Sure enough… change it to sfmt=0, and you get longitude/latitude of the points! 🙂 So now we have a nice XML feed with longitude and latitude:

XML Feed

Once you have that data, it takes 2 minutes to make a Google Map with the data…

Traffic In San Diego

Of course it doesn’t really answer my original question… why doesn’t Google already have this data on Google Local/Maps? If I worked at Google, this would be my 2nd “20% time project” (this was the other one).

Leave a Reply

Your email address will not be published. Required fields are marked *