I’ve published a new version of the Data Science Toolkit, which includes David Blackman’s awesome TwoFishes city-level geocoder. Largely based on data from the Geonames project, the biggest improvement is that the Google-style geocoder now handles millions of places around the world in hundreds of languages:
http://www.datasciencetoolkit.org/maps/api/geocode/json?sensor=false&address=القاهرة
{ "status": "OK", "results": [ { "types": [ "locality", "political" ], "address_components": [ { "types": [ "locality", "political" ], "short_name": "Cairo", "long_name": "Cairo, EG" }, { "types": [ "country", "political" ], "short_name": "EG", "long_name": "Egypt" } ], "geometry": { "viewport": { "southwest": { "lng": 31.1625480652, "lat": 29.9635601044 }, "northeast": { "lng": 31.3563537598, "lat": 30.1480960846 } }, "location": { "lng": 31.24967, "lat": 30.06263 }, "location_type": "APPROXIMATE" } } ] }
You can also access the TwoFishes API directly, which offers a lot of very powerful features like breaking down search queries into their where and what parts, so you can do something useful with “Pizza New York”.
For the first time I’ve made AMIs available in all the EC2 regions worldwide, and you can download or torrent the Vagrant version. Have fun, and let me know about any issues or improvements you’d like to see!