ideditor / schema-builder

🏗🏷 Create tagging schemas for iD
ISC License
13 stars 16 forks source link

Presets should enumerate expected roles #134

Open 1ec5 opened 7 months ago

1ec5 commented 7 months ago

A preset that applies to relations should be able to list the expected member roles, along with a translatable label and expected element types for each role.

Currently, id-tagging-schema has no data on roles, so iD’s relation member editor simply lists the most common roles in taginfo for a given relation type: openstreetmap/iD#3300. id-tagging-schema’s multipolygon preset could specify Inner Ring (inner) and Outer Ring (outer) roles, disallowing other roles which would be invalid: openstreetmap/iD#8268.

Some roles are counterintuitive; a translatable string would give us the opportunity to make them less misleading. For example, the English label for admin_centre could be “Capital”, so that mappers don’t incorrectly assign it to a capitol building.

If the preset could say how many members of a relation can have a given role, and what element types are eligible, then the editor can implement a validation role to that effect. For example, iD could warn if a boundary relation has two Focal Point (label) members or a restriction relation has a node as its From (from) member.