I'm performing a zip radius search for a client of mine using Long/Lat. The problem is that this returns distances as the crow flies and not actually driving distance. My client is complaining that the numbers are way off. I would disagree about the "way off" part but I do see their point. Bodies of Water, In direct highway routes, etc. etc., make the actual driving distance more than the crow flies distance.
1) can I leverage what I have and still account for driving distance (I have a DB of zip codes and long/lat)
2) if not, what "tool" can I use to do these calculations. This is going to work against a DB of 1,000,000 records so it has to be fast.