Due to reasons we probably don’t need to get into, there’s a bit of sensitivity around the terms “state” and “province” these days. Our main website fortunately doesn’t refer to Canada as a state. However, you can get it to refer to Ontario etc. as a “State” due to admin_level=4
. Yesterday, we put a change into the main website that should mitigate this issue to some extent:
Unfortunately, this currently only works when you use the Query Features function. Searches still turn up states, such as the State of Quebec. As far as I know, it’s always been this way. (If it’s an American conspiracy, then Mexican, Australian, and German states are probably in on it too.)
The culprit is the place=state
tag on the relation’s label
member, which Nominatim equates with the boundary. Even with the recent change to the website, it still prefers a localized description of the place=*
tag over a localized description of the border_type=*
tag, because OSM has traditionally described populated places as cities, towns, villages, and hamlets regardless of the official designation.
There was an attempt a few months ago to retag the provinces’ place POIs to place=province
, but it was quickly reverted because that tag enjoys much less software support than place=state
. Among other things, it caused OpenMapTiles-based maps including OpenStreetMap Canadiana to stop labeling the provinces at all.
Unfortunately, the place=*
tagging scheme isn’t well suited to describing political subdivisions that don’t correspond to populated places. It’s supposed to be internationally harmonized in some fashion, but there’s nothing to harmonize about a space-filling partition of a larger political subdivision, other than perhaps its numeric admin_level=*
. After all, some of Canada’s admin_level=4
s aren’t even provinces, but there’s no corresponding place=territory
tag.
How should we solve the issue of mislabeled provinces when searching? Should the website ignore the place=*
tag in favor of border_type=*
? If so, can the territories be tagged border_type=territory
instead? Would it be confusing if searching for Saint-Louis-du-Ha! Ha! turns up a “Parish Boundary” instead of a “Village”?
Or should we nix the place=state
points altogether? The U.S. community has all but concluded that these arbitrarily placed centroid points are pointless, so to speak. OpenMapTiles still depends on them, but most renderers including openstreetmap-carto have been capable of automatically generating centroid points for years now, so maybe it’s finally time to rip off the band-aid.