Hacker News new | ask | show | jobs
by vtanase 5097 days ago
Hmm, a good geocoder sounds a bit ambigous to me. As far as I can tell geonames has an API with both XML and JSON for getting longitude and latitude off of city names, so I am not sure what exactly you believe can be improved by crossing data from OpenStreeMaps. Could you maybe clarify exactly what you had in mind?
1 comments

When you query geonames for "Boston, Massachusetts, USA" it can do it correctly but only because it's data is manually hard-coded as Boston being inside Massachusetts. If there was some other administrative region that Boston fell inside than geonames wouldn't be able to handle that.

For example geonames fails for "Southsea, Hampshire, UK" as even though Southsea is in geonames and falls within the regional boundary of Hampshire, geonames doesn't have that knowledge. OSM has the regional boundary data which can be used for that purpose.

Also once you have that you can do looser matching. For example if you search Geonames for "Bosten, MA, USA" it won't find anything. If you used soundex for an approximate search for "Bosten" you'll turn up lots of unrelated locations, but if you did it restricting it to places in "MA, USA" you'd have a much better chance of getting an accurate match.

While this isn't such a big issue in latin-alphabet countries, in the rest of the world latin-spelling of smaller town and city names is often completely unstandardized so using exact search often misses the town/city even though it might be listed in geonames under a slightly different spelling.