Your view on self-driving car is different than mine. I am not sure who came up with the five levels of self-driving car automation, but let me reiterate the last time before I give up trying to convince anyone on this thread.
First, for a computer to be able to navigate safely on the road the computer needs to be able to recongize and understand its surroundings. Checked.
Next, for computers to be able to be good at driving, we need to train the computer both in the real world and in simulations.
Moreover, to ensure we can optimize route, plan ahead we need data about road condition far ahead of us (and sometimes behind us). To be able to make turns on an intersection safely and swiftly, unlike humans who are terrible at making turns and confusing when to turn, computers can coordinate with one another. This requires good network communication. Bluetooth is weak and unstable. In my earlier example, if an ambulance says it is driving heading my direction, my car can coordinate how to empty up a lane for the ambluance to pass. This level of automation is what one sees in a sci-fi movie, which is really what you want besides being able to avoid obstacles like Bat mobile.
My point is, we should explore how to make traffic data accessible. There is so much one can do with such data. It takes a good amount of time to get the government onboard and help them build such infrastructure. To finish off my point, meter data is not available, right now apps use crowd source to determine whether a parking spot is available or not. Instead of driving around which causes
more congestion and sometimes accident, governement should make meter data available, and we can still crowd source by using driver's camera to recongize whether a spot is opened and send back to datastore.
This is essentially the goal of Internet of Things, at rhe city scale. As I mentioned, IBM's SmartCities supposed to do stuff above but I really am not sure if IBM will ever pull off given many of their projects ended up on someoen's desk covering in dust.