Proposed double-entry of Consolidated City-Counties

This is only true from a geocoding standpoint. We keep hyperfocusing on the needs of geocoders at the possible expense of renderers. For renderers, skipping a level actually matters.

Yes, border_type=* is harder to consume because its values vary in meaning from region to region. In that regard, the key is very similar to designation=* or the public transit usage of network=*. For road networks, network=* is prefixed with the country and state, which makes the values less ambiguous on their face.

That said, ambiguity isn’t the main reason border_type=* is so unloved. This key was originally popularized by the TIGER boundary import and only gained global legitimacy due to the approved proposal for international maritime borders. The key’s documentation still casts aspersions at the U.S. usage as an illegitimate artifact of the TIGER import, due to its origin, even as the U.S. community has quietly embraced the key over the years.

admin_level=* is not a way to establish equivalences across jurisdictions. To the extent that you can, it is only a coincidence and an approximation. Instead, the more traditional global practice has been to use place=* on the boundary relation as an internationally harmonized signifier of the type of jurisdiction. Nominatim supports this mechanism and its developer has long encouraged mappers to use it. The TIGER import also included this key on boundaries, but with sometimes wildly inaccurate values.

In the U.S., the consensus is not to put place=* on an administrative boundary, or at least not to care about it, because it conflates the concept of a populated place with a legal jurisdiction, and more practically because values such as town and suburb conflict with both legal designations and colloquial terms. We can barely manage the confusion this causes on place=* nodes, where at least a globally harmonized scheme makes logical sense, because these nodes are supposed to be somewhat agnostic to jurisdictional concerns.

Some countries have tried alternative approaches that avoid both the ambiguity of border_type=* and the terminological confusion of place=*. For example, barangays in the Philippines are tagged place:PH=barangay (though some are tagged designation=barangay instead). Unfortunately, the U.S. system of place classifications is such a zoo that we would at least have to namespace values instead of keys:

In other words, admin_level=* is generally optimized for a different use case than what you’re focused on. You want border_type=* or place=* or something along these lines. Nothing about the number 8 inherently means city, any more than the number 24 means an electoral district. Some mappers have latched onto 8 as sort of a “default” local boundary because so many states (correctly) have so many cities and villages at that level, but this thread highlights the folly of that assumption.

2 Likes