This picture via the Fishbowl, original discoverer lost in a too-long chain of attribution.
For the last year or so I have been driving a car with GPS navigation installed, and although it hasn't given me such obviously wrong directions as in the picture, it's certainly got some improvement to do.
Once, I was travelling from North Ryde to Kensington (both in Sydney). I set the course, and The Voice In My Car told me where to turn. On the screen, the map looked roughly right, through the Eastern Distributor. It guided me off the freeway at Moore Park (again about right), but it must have got confused because it forgot to turn me towards my destination, and instead I ended up back ON the freeway. Looking at the map, I saw that it was planning to take me all the way to the airport, about 10kms, and then all the way back to Moore Park, presumably to take the right turnoff. "Sod that," I thought, and blundered my own way there through Mascot and guesswork.
I don't know the root cause here, but I suspect it was a tracking error rather than an algorithmic one of the type illustrated above. In my case I think the GPS had thought I was still on the freeway when in fact I was on the slip road. I guess I should be thankful that it quite reasonably routed me to the next U-turn point, instead of, say, commanding me to U-turn immediately.
Chris reports a different type of GPS problem, where the map data is incredibly showing roads that haven't been built yet. Surely you wouldn't put the road on the map until it has been built? (Chris, I'm guessing it was T-Rex that almost swallowed you up?)
Thinking about these different types of problems with GPS systems, it strikes me that the fundamental cause is the lack of a feedback loop for continuous improvement. Currently you get a new map when you buy the disk from the dealer, and you get new firmware when you have the car serviced. So obviously we could improve this by having better communications channels for data flowing into the mobile unit. The obvious example of this is map updates. Daily updates could ensure that the GPS navigator is always aware of new and closed roads, roadworks, and special events, all of which can be incorporated into the navigation algorithms.
More crucially there isn't any performance or quality data flowing back from the mobile unit to the GPS developers. If we had a communications channel between the device in the car and some central server somewhere, we could do some statistical analysis on the journeys taken, and improve the quality and reliability of GPS navigation systems significantly, including the algorithms and the map data also. By recording the route taken for each journey, uploading, and then aggregating the journeys from multiple drivers, we get a better picture on how the GPS navigation system is working.
For starters we can compare the planned journey with the actual one and look for differences. Lets say we find a high number of incidences where the driver missed a right-hand turn, and subsequently performed a U-turn. This could indicate that the map was in error (no right turn permitted), or that the drivers were not warned to get into the correct lane early enough, or other problems. The point is that by comparing actual to planned journeys and aggregating them across all drivers you can look for navigation 'hot-spots'.
If the hardware and software of these systems were in any way open to hacking, we could start up a sourceforge project and start coding. The GPS-equipped PDA almost gets there, but it doesn't distinguish driving from walking, which seems important.