-
Notifications
You must be signed in to change notification settings - Fork 11
[WIP] Update divisions subtype naming convention #414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
counterexamples/divisions/division_boundary/missing-country.yaml
Outdated
Show resolved
Hide resolved
|
Apologies in advanced if this is ignorant, but wouldn't it be more consistent to remove "Borough" is quite a rare administrative division and is currently already expressed as a See 413 for details. |
Co-authored-by: Saša Stanojkov <[email protected]>
36cb18a to
01e04f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the underlying motivation for this change, and are you aware of some of the design choices in having named subtypes?
- One of the nice parts of the current design is that the terms
countryandregionare used consistently in various contexts (countryandregionsubtypes have a correspondingcountryandregionproperty or column)... - As well there's just general consistency: are subtypes descriptive names, or are they numbers?
- And the "admin level" abstraction can be derived today from the primary hierarchy or following the
parent_division_idtree to the root (which can be written up in SQL).
Motivation: Is the main motivation to give people a simple "1, 2, 3..." level abstraction?
Like I said this can be derived from the data today, but if we view that as too user-unfriendly, may I suggest the alternative of just adding a rank property that has the 1-based level of the feature in the primary hierarchy tree?
|
One extra thought: the advantage of a e.g. Is a lot easier than: Or |
|
It was noted in the schema meeting this morning that:
For #1, for my education it would be super helpful to understand the players who do (and do not) use this scheme. (We know that WOF and OSM do not.) For #2, this seems odd to a layman like me.
|
Uses of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Industry standard feels very much tailored on the USA 'official' hierarchical structure:
country > state > county > 'local admin' (aka 'go figure')
Also the proposed mapping reflects this perception: county maps to an admin2.
This might be different for counties in other countries.
Many other countries have a different official structures, e.g.
country > province > city > district
or sometimes a non-formal structure (dare I say, non-administrative) of
country > province > city > neighborhood.
This is not something you want to show as default hierarchy, but it is good to know that your neighborhood 'belongs' to a certain city.
The latter is what "hierarchies" wants to achieve.
The choice was at the time made to make the subtype based on the opinionated place type categorization of OSM.
At best these types give an idea of what a division represents, but it did not try to represent any administrative level let alone a hierarchical index level.
If 'the want' is to have administrative levels more clear, it feels like introducing a numeric 'level' property, could be more target leading.
This allows for more variations between countries while still keeping the approach globally consistent.
Right now I'm worried that it will not even fulfill worldwide that need, as there are some countries which have more levels between country and 'local_admin'.
|
Thanks everyone for all the feedback here — super helpful. A few comments after reading through everything:
This is a different approach than what is in this pull request and what was discussed with the theme, though. So @jonahadkins and @sasastanojkov, curious to hear your thoughts.
I think these can still be achieved with 1. a new
|
Mapbox Boundaries, geoBoundaries, Natural Earth, World Bank, GADM, Here Maps, Field Maps (via United Nations) OpenStreetMap uses the nomenclature "admin level", but starts with countries at 2. from their rationale: admin_level=2 through admin_level=10 allow for different administrative subdivision schemes to be handled in a consistent way by data consumers. The use of a numbering scheme rather than words for the values helps avoid confusion due to different terminology used in different countries. although it then says: data consumers should take care when interpreting values of this key. While admin_level=2 is almost always a de-facto independent country, and admin_level=4 is usually equivalent to a "province", higher values vary in meaning between countries.
no clue why the say " 2 is almost always a de-facto independent country", because they seem to be the only ones doing it. Even though we use OSM for borders and placenames at present, we should strive to not use their classification terms, like all the providers mentioned above.
in the cartographic sense, rank infers prominence, which is what we call it https://github.com/OvertureMaps/schema/blob/dev/schema/defs.yaml#L330 admin level provides a way to normalize across all countries without mixing terminology. admin level is a numbered hierarchy, but the use of subtype in our hierarchy mixes terms across countries for ex:
after further discussion with @stepps00 , i too have "flipped" toward making this a stand-alone column. the original intent in a mixed approach was admin 1-3 are standard ways to refer to country-state-county while everything below that is up for debate. for those levels we should take another pass at those as Stephen mentions above (4). ps: region still feels wrong imo - what's a region, who knows! 1, [2] many organizations define this as a grouping of administrative areas , and yes some countries define a region as an administrative area. i too have been raked over the coals for trying to define them. we can discuss more in #360 |
Quick note, IMHO |
I think the incredible complexity of the OSM table for They have country as |
Thanks for this list. Regarding HERE, that may be true of their GIS offering (I didn't know this) but I've worked extensively with their search API over a number of years and they absolutely don't use it there. They use a field called Incidentally, the same thing I said about HERE is true of the Mapbox search API (geocoding V6) and the TomTom search API. Obviously these are more "address use cases", but the point I'm trying to make is that there are different approaches. I value the WOF approach for trying to build a taxonomy than can capture the whole complexity of the world and not bash it into a squeeze frame that eliminates nuance and removes information content. OTOH, I'm cognizant that sometimes a number is just easier to work with. That's why I'm suggesting the "Why can't it be both?" approach of adding a new field/property/column. ... |
|
@jonahadkins Another interesting example is the Azure Maps search API because they actually have a "get the boundary polygon" API, Get Polygon - Search. As far as I can tell, they also use a textual rather than a numeric system. Theirs is called BoundaryResultType and the allowed values are:
It's not super obvious what "country or region" means, but of note that they do use that term at the top level. |
|
@stepps00 RE:
I assume this relates to RFD 57 - Add geographical regions to the Divisions theme. FWIW we did have a number of one-word terms that seemed to fit the bill - |
Very aligned on this. Especially excited about the initiative to clean up the subtype mappings and get things like boroughs in. That would be a big win for usability IMO. I like the simplicity of this:
Can you confirm that it will satisfy the use cases you have discussed in the TF? (Since it implies that an ordinal rank |
|
From my understanding this PR had as one of the goals freeing of term |
Completely agree and I think the theme actually has most of what it needs to create a normalized admin_level value structure for each country.
A few options worth considering:
|

Major change release plan
A. Expected release date for this MAJOR change
Dec 2025
B. Related MINOR change steps
TODO
C. Public documentation and messaging plan
Description
The divisions theme has discussed moving to an adminN (admin0, admin1, admin2, admin3) subtype naming convention for top-level divisions, while keeping more semantic subtypes (locality and below) intact.
Some rationale for this change:
Every top-level division would fit cleanly into a numbered level.
Easier to query and maintain, users understand what admin1 or admin2 mean and these terms are interoperable with other open administrative datasets (geoBoundaries partnership?).
Frees up words like “region” for other feature types.
Works for any country or future level without redefining new types for existing features.
Proposed mapping
Notes:
parent_division_idvalue equal to the GERS ID of the administering country.All references and examples / counterexamples have been updated with these new adminN subtype names.
Reference
TODO
Testing
TODO
Checklist
Abut is not intended to test propertyA's validity, and you made a schema change that invalidates propertyAin that counterexample, fix the counterexample to align it with your schema change.Documentation website
[Docs preview for this PR.](https://dfhx9f55j8eg5.cloudfront.net/pr/<PUT THE PR # HERE>)