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.
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.