Hacker News new | ask | show | jobs
by ig1 5108 days ago
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.