I can reproduce the issue using Nominatim API integration on osm.org. This debug page gives some additional behind-the-scenes details.
As in most counties in the U.S., a place=county
node is located at the geographic centroid of the county. It’s a label
member of the boundary relation, so Nominatim knows the node and boundary relation are related. This node was originally part of a massive import of county nodes long ago, when our tagging standards were not as developed. In my opinion, these nodes are superfluous for “space-filling” administrative subdivisions like New York’s counties and towns, since data consumers can and do generate centroids automatically.
These place nodes’ name=*
tags omit “County”. I don’t think people normally refer to the county as just “Cortland” except very informally. The idea was probably that the “County” was superfluous because data consumers could automatically append that word to the name of any place=county
. But generally speaking, place names and classifications aren’t predictable enough in every language for that to be a rule hard-coded in software. The incorrect names are one more reason to delete the nodes, in my opinion.
Despite the place node’s name, most other U.S. counties don’t have the suboptimal search results that you encountered. I suspect a compounding factor is that, across New York State, the name=*
tag on each city, town, and village boundary has been modified to say “City of”, “Town of”, or “Village of” explicitly. In any other state, “City of Cortland” would be just “Cortland”. So the City of Cortland ends up looking like a worse match for “Cortland” than Cortland County, which at least has a name=Cortland
somewhere.
The boundaries were renamed as part of a very thorough statewide cleanup effort back in 2022. The names are fully qualified because many cities, towns, and villages of the same name border each other. For example, the City of Plattsburgh is an enclave of the Town of Plattsburgh. It occasionally comes up as a point of concern, like this past January when the boundary QA checker began flagging every single fully qualified name as a mismatch against Wikidata and Census Bureau data.
At the very least, the City of Cortland boundary should have an alt_name=Cortland
or short_name=Cortland
, so that Nominatim knows that people refer to the city as simply “Cortland”. If that doesn’t work, it might be a good opportunity to revisit either the place=county
nodes or the fully qualified naming in New York State. Perhaps someone on this forum who’s more familiar with the state than me could double-check this diagnosis before editing the map.