Why are Hamlets used for addresses instead of Cities?

For example, here is an actual street address:

106 Ridgewood Rd, Franklin, Tennessee, 37064, United States of America

…but it shows in OpenStreetMap as:

106 Ridgewood Rd, Green Valley Estates, Williamson, Tennessee, 37064, United States of America

Green Valley is the neighborhood, but it has nothing to do with the street address. This makes it impossible to input addresses and find them on the map. Does anyone know why this is, how I can fix it, or if there is a way to programmatically fix it across…say…the entire state?

Thanks,
Mark

I don’t think have the hamlet in the address is problem in itself. It makes sense for OSM to offer to search on all the places connected to the address, even where those places don’t show up in a postal address. More the issue here is that Franklin isn’t showing up in the address.

Details of how the address is determined can be found by following the links for Nominatim. In this case you end up at this page: http://open.mapquestapi.com/nominatim/v1/details.php?place_id=1740144374

This indicates that Franklin wasn’t considered for the address. I’m not entirely sure why: there is a town node for Franklin which would usually be picked up (unless a closer town node existed - which doesn’t seem to be the case). However, there does seem to be an administrative boundary for Franklin between the address in question and the Franklin node. It might be the case that Nominatim sees this boundary and says the address is outside of it.

Overall OSM doesn’t always seem to handle address very well where an address is outside of the administrative boundary or physically closer to one place rather than the place used in its address. I’ll admit at this point the address of my house isn’t right and despite adding more information for all the places around it it still shows up in the wrong place.

The best I can suggest is adding the “is_in” tag or looking at something like creating a suburb area and seeing if Nominatim picks that up.

Thanks for the reply. I’m very curious about the way the nominations are determined, and off of what original dataset. Perhaps there would be a way to write a program to automatically detect missing Cities and add them. Does anyone know how that happens?