Quoting Mark McBride <mmcbr...@twitter.com>:
Parsing the location field is probably your best bet, but I'd say you have a challenging road ahead. It is indeed a mess, but there are geocoding solutions available to try and sort this stuff out.
Be *very* careful with "geocoding solutions", especially taking note of the terms of service and licensing constraints. Google, Yahoo and Microsoft all have restrictions on what you can do with their tools. There are some open source / "free as in freedom" tools too, but they may be more limited.
I've spent a number of hours recently working with various open source projects associated with mapping earthquake and other disaster zones, and this is a constant source of frustration. I'm guessing it would be even more a source of frustration if you're building marketing / sales tools rather than non-profit ones. People trapped in the rubble of a collapsed build usually *want* to be found; people sitting in a restaurant having a glass of wine with some friends might not. ;-)
-- M. Edward (Ed) Borasky borasky-research.net/m-edward-ed-borasky/ "A mathematician is a device for turning coffee into theorems." ~ Paul Erdos