add definitions for the structure of 33 relation presets
Some checks failed
Code Style Checks / Check file endings (push) Has been cancelled
Code Style Checks / Check for code formatting mistakes (push) Has been cancelled
Code Style Checks / Check for spelling errors (push) Has been cancelled

This commit is contained in:
Kyle Hensel 2025-05-05 21:00:16 +10:00
parent 12f0515143
commit 694f7b911b
No known key found for this signature in database
GPG key ID: A6481E3E38D544EC
35 changed files with 1761 additions and 343 deletions

View file

@ -12,5 +12,28 @@
"polygon"
],
"name": "Area",
"matchScore": 0.1
"matchScore": 0.1,
"relation": {
"id": "multipolygon",
"allowDuplicateMembers": false,
"members": [
{
"role": "inner",
"roleLabel": "Inner",
"geometry": [
"line",
"area"
]
},
{
"role": "outer",
"roleLabel": "Outer",
"geometry": [
"line",
"area"
],
"min": 1
}
]
}
}

View file

@ -17,5 +17,67 @@
"key": "public_transport",
"value": "stop_area"
},
"name": "Transit Stop Area"
"name": "Transit Stop Area",
"relation": {
"id": "public_transport",
"allowDuplicateMembers": false,
"members": [
{
"role": "stop",
"roleLabel": "Stop",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position"
}
]
},
{
"role": "platform",
"roleLabel": "Platform",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform"
}
]
},
{
"role": "entrance",
"roleLabel": "Entrance",
"matchTags": [
{
"entrance": "*"
}
],
"geometry": [
"vertex"
]
},
{
"role": "subway_entrance",
"roleLabel": "Subway Entrance",
"matchTags": [
{
"railway": "subway_entrance"
}
],
"geometry": [
"vertex"
]
},
{
"role": "",
"roleLabel": ""
}
]
}
}

View file

@ -10,5 +10,69 @@
"tags": {
"type": "boundary"
},
"name": "Boundary"
"name": "Boundary",
"relation": {
"id": "boundary",
"allowDuplicateMembers": false,
"members": [
{
"role": "inner",
"roleLabel": "Inner",
"geometry": [
"line",
"area"
]
},
{
"role": "outer",
"roleLabel": "Outer",
"geometry": [
"line",
"area"
],
"min": 1
},
{
"role": "label",
"roleLabel": "Label",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"place": "*"
}
],
"max": 1
},
{
"role": "admin_centre",
"roleLabel": "Admin Center",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"place": "*"
}
],
"max": 1
},
{
"role": "subarea",
"roleLabel": "Sub-Area",
"geometry": [
"area",
"relation"
],
"matchTags": [
{
"type": "boundary"
}
]
}
]
}
}

View file

@ -18,5 +18,6 @@
"key": "boundary",
"value": "administrative"
},
"name": "Administrative Boundary"
"name": "Administrative Boundary",
"relationCrossReference": "{type/boundary}"
}

View file

@ -15,5 +15,55 @@
"terms": [
"exit sign"
],
"name": "Destination Sign"
"name": "Destination Sign",
"relation": {
"id": "destination_sign",
"allowDuplicateMembers": true,
"members": [
{
"role": "from",
"roleLabel": "From",
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
]
},
{
"role": "intersection",
"roleLabel": "Intersection",
"geometry": [
"vertex"
],
"max": 1
},
{
"role": "to",
"roleLabel": "To",
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
],
"min": 1,
"max": 1
},
{
"role": "sign",
"roleLabel": "Physical Sign",
"geometry": [
"point",
"vertex"
]
}
]
}
}

View file

@ -9,5 +9,74 @@
"tags": {
"type": "enforcement"
},
"name": "Enforcement"
"name": "Enforcement",
"relation": {
"id": "enforcement",
"allowDuplicateMembers": false,
"members": [
{
"role": "device",
"roleLabel": "Device",
"matchTags": [
{
"highway": "speed_camera"
},
{
"man_made": "surveillance"
},
{
"amenity ": "weighbridge"
}
]
},
{
"role": "force",
"roleLabel": "Force",
"matchTags": [
{
"highway": "speed_camera"
},
{
"man_made": "surveillance"
},
{
"amenity ": "weighbridge"
}
]
},
{
"role": "from",
"roleLabel": "From",
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
]
},
{
"role": "to",
"roleLabel": "To",
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
]
},
{
"role": "section",
"roleLabel": "Section",
"geometry": [
"line"
]
}
]
}
}

View file

@ -19,5 +19,6 @@
"radar",
"speed camera"
],
"name": "Speed Limit Enforcement"
"name": "Speed Limit Enforcement",
"relationCrossReference": "{type/enforcement}"
}

View file

@ -8,5 +8,6 @@
},
"removeTags": {},
"name": "Multipolygon",
"matchScore": 0.1
"matchScore": 0.1,
"relationCrossReference": "{area}"
}

View file

@ -17,5 +17,24 @@
"key": "public_transport",
"value": "stop_area_group"
},
"name": "Transit Stop Area Group"
"name": "Transit Stop Area Group",
"relation": {
"id": "public_transport",
"allowDuplicateMembers": false,
"members": [
{
"role": "",
"roleLabel": "",
"matchTags": [
{
"type": "public_transport",
"public_transport": "stop_area"
}
],
"geometry": [
"relation"
]
}
]
}
}

View file

@ -10,5 +10,49 @@
"tags": {
"type": "restriction"
},
"name": "Restriction"
"name": "Restriction",
"relation": {
"id": "restriction",
"allowDuplicateMembers": true,
"members": [
{
"role": "from",
"roleLabel": "From",
"geometry": [
"line"
],
"matchTags": [
{
"highway": "*"
}
],
"min": 1,
"max": 1
},
{
"role": "via",
"roleLabel": "Via",
"geometry": [
"vertex",
"line"
],
"min": 1,
"max": 1
},
{
"role": "to",
"roleLabel": "To",
"geometry": [
"line"
],
"matchTags": [
{
"highway": "*"
}
],
"min": 1,
"max": 1
}
]
}
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "no_left_turn"
},
"name": "No Left Turn"
"name": "No Left Turn",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "no_right_turn"
},
"name": "No Right Turn"
"name": "No Right Turn",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "no_straight_on"
},
"name": "No Straight Ahead"
"name": "No Straight Ahead",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "no_u_turn"
},
"name": "No U-Turn"
"name": "No U-Turn",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "only_left_turn"
},
"name": "Left Turn Only"
"name": "Left Turn Only",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "only_right_turn"
},
"name": "Right Turn Only"
"name": "Right Turn Only",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "only_straight_on"
},
"name": "Straight Ahead Only"
"name": "Straight Ahead Only",
"relationCrossReference": "{type/restriction}"
}

View file

@ -11,5 +11,6 @@
"key": "restriction",
"value": "only_u_turn"
},
"name": "U-Turn Only"
"name": "U-Turn Only",
"relationCrossReference": "{type/restriction}"
}

View file

@ -17,5 +17,215 @@
"tags": {
"type": "route"
},
"name": "Route"
"name": "Route",
"relation": {
"id": "route",
"optionalTags": {
"route": "$1"
},
"allowDuplicateMembers": true,
"members": [
{
"role": "stop",
"roleLabel": "Stop",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "stop_exit_only",
"roleLabel": "Stop (Exit Only)",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "stop_entry_only",
"roleLabel": "Stop (Entry Only)",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "stop_on_demand",
"roleLabel": "Stop (only stops on request)",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "stop_on_demand_exit_only",
"roleLabel": "Stop (Exit Only) (only stops on request)",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "stop_on_demand_entry_only",
"roleLabel": "Stop (Entry Only) (only stops on request)",
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"role": "platform",
"roleLabel": "Platform",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "platform_exit_only",
"roleLabel": "Platform (Exit Only)",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "platform_entry_only",
"roleLabel": "Platform (Entry Only)",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "platform_on_demand",
"roleLabel": "Platform (only stops on request)",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "platform_on_demand_exit_only",
"roleLabel": "Platform (Exit Only) (only stops on request)",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "platform_on_demand_entry_only",
"roleLabel": "Platform (Entry Only) (only stops on request)",
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"role": "",
"roleLabel": "",
"geometry": [
"line"
]
},
{
"role": "forward",
"roleLabel": "Forwards",
"geometry": [
"line"
]
},
{
"role": "backward",
"roleLabel": "Backwards",
"geometry": [
"line"
]
}
]
}
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "aerialway"
},
"name": "Aerial Route"
"name": "Aerial Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "bus"
},
"name": "Bus Route"
"name": "Bus Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "ferry"
},
"name": "Ferry Route"
"name": "Ferry Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "light_rail"
},
"name": "Light Rail Route"
"name": "Light Rail Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "monorail"
},
"name": "Monorail Route"
"name": "Monorail Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "subway"
},
"name": "Subway Route"
"name": "Subway Route",
"relationCrossReference": "{type/route}"
}

View file

@ -30,5 +30,6 @@
"key": "route",
"value": "train"
},
"name": "Train Route"
"name": "Train Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "tram"
},
"name": "Tram Route"
"name": "Tram Route",
"relationCrossReference": "{type/route}"
}

View file

@ -17,5 +17,6 @@
"key": "route",
"value": "trolleybus"
},
"name": "Trolleybus Route"
"name": "Trolleybus Route",
"relationCrossReference": "{type/route}"
}

View file

@ -19,5 +19,29 @@
"tags": {
"type": "route_master"
},
"name": "Route Master"
"name": "Route Master",
"relation": {
"id": "route_master",
"optionalTags": {
"route_master": "$1",
"ref": "$2"
},
"allowDuplicateMembers": false,
"members": [
{
"role": "",
"roleLabel": "",
"geometry": [
"relation"
],
"matchTags": [
{
"type": "route",
"route": "$1",
"ref": "$2"
}
]
}
]
}
}

View file

@ -26,5 +26,20 @@
"name": "Climbing Area",
"aliases": [
"Climbing Region"
]
],
"relation": {
"id": "site",
"allowDuplicateMembers": false,
"members": [
{
"role": "",
"roleLabel": "",
"matchTags": [
{
"climbing": "crag"
}
]
}
]
}
}

View file

@ -26,5 +26,23 @@
"aliases": [
"Climbing Cliff"
],
"name": "Climbing Crag"
"name": "Climbing Crag",
"relation": {
"id": "site",
"allowDuplicateMembers": false,
"members": [
{
"role": "",
"roleLabel": "",
"matchTags": [
{
"climbing": "route"
},
{
"climbing": "route_bottom"
}
]
}
]
}
}

View file

@ -0,0 +1,44 @@
{
"icon": "iD-relation",
"fields": [
"name",
"ref"
],
"geometry": [
"relation"
],
"tags": {
"type": "site",
"site": "traffic_signals"
},
"name": "Traffic Signals Site",
"relation": {
"id": "site",
"allowDuplicateMembers": false,
"members": [
{
"role": "",
"roleLabel": "",
"matchTags": [
{
"highway": "traffic_signals"
},
{
"highway": "crossing"
},
{
"man_made": "street_cabinet"
},
{
"man_made": "surveillance",
"surveillance:type": "camera"
}
],
"geometry": [
"point",
"vertex"
]
}
]
}
}

View file

@ -15,5 +15,52 @@
"tags": {
"type": "waterway"
},
"name": "Waterway"
"name": "Waterway",
"relation": {
"id": "waterway",
"allowDuplicateMembers": false,
"members": [
{
"role": "spring",
"roleLabel": "Spring",
"matchTags": [
{
"natural": "spring"
},
{
"natural": "hot_spring"
}
],
"geometry": [
"point"
]
},
{
"role": "",
"roleLabel": "",
"matchTags": [
{
"waterway": "*"
}
],
"geometry": [
"line",
"area"
]
},
{
"role": "main_stream",
"roleLabel": "Main Stream",
"matchTags": [
{
"waterway": "*"
}
],
"geometry": [
"line",
"area"
]
}
]
}
}

1329
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -20,7 +20,7 @@
"translations": "node scripts/translations.js"
},
"devDependencies": {
"@ideditor/schema-builder": "~6.5.1",
"@ideditor/schema-builder": "github:k-yle/schema-builder#kyle-deploy",
"netlify-cli": "^23.2.1",
"prettier": "^3.2.5",
"unzipper": "^0.12.3"