add definitions for the structure of 31 relation presets

This commit is contained in:
Kyle Hensel 2025-05-05 21:00:16 +10:00
parent 26abac80e1
commit b08200d759
No known key found for this signature in database
GPG key ID: A6481E3E38D544EC
31 changed files with 549 additions and 30 deletions

View file

@ -12,5 +12,35 @@
"polygon"
],
"name": "Area",
"matchScore": 0.1
"matchScore": 0.1,
"relation": {
"allowDuplicateMembers": false,
"members": [
{
"roles": {
"inner": "Inner"
},
"geometry": [
"line",
"area"
],
"matchTags": [
{}
]
},
{
"roles": {
"outer": "Outer"
},
"geometry": [
"line",
"area"
],
"matchTags": [
{}
],
"min": 1
}
]
}
}

View file

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

View file

@ -10,5 +10,65 @@
"tags": {
"type": "boundary"
},
"name": "Boundary"
"name": "Boundary",
"relation": {
"allowDuplicateMembers": false,
"members": [
{
"roles": {
"inner": "Inner"
},
"geometry": [
"line",
"area"
],
"matchTags": [
{}
]
},
{
"roles": {
"outer": "Outer"
},
"geometry": [
"line",
"area"
],
"matchTags": [
{}
],
"min": 1
},
{
"roles": {
"admin_centre": "Admin Center",
"label": "Label"
},
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"place": "*"
}
],
"max": 1
},
{
"roles": {
"subarea": "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,64 @@
"terms": [
"exit sign"
],
"name": "Destination Sign"
"name": "Destination Sign",
"relation": {
"allowDuplicateMembers": true,
"members": [
{
"roles": {
"from": "From"
},
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
]
},
{
"roles": {
"intersection": "Intersection"
},
"geometry": [
"vertex"
],
"matchTags": [
{}
],
"max": 1
},
{
"roles": {
"to": "To"
},
"geometry": [
"vertex",
"line"
],
"matchTags": [
{
"highway": "*"
}
],
"min": 1,
"max": 1
},
{
"roles": {
"sign": "Physical Sign"
},
"geometry": [
"point",
"vertex"
],
"matchTags": [
{}
]
}
]
}
}

View file

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

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,21 @@
"key": "public_transport",
"value": "stop_area_group"
},
"name": "Transit Stop Area Group"
"name": "Transit Stop Area Group",
"relation": {
"allowDuplicateMembers": false,
"members": [
{
"matchTags": [
{
"type": "public_transport",
"public_transport": "stop_area"
}
],
"geometry": [
"relation"
]
}
]
}
}

View file

@ -10,5 +10,54 @@
"tags": {
"type": "restriction"
},
"name": "Restriction"
"name": "Restriction",
"relation": {
"allowDuplicateMembers": true,
"members": [
{
"roles": {
"from": "From"
},
"geometry": [
"line"
],
"matchTags": [
{
"highway": "*"
}
],
"min": 1,
"max": 1
},
{
"roles": {
"via": "Via"
},
"geometry": [
"vertex",
"line"
],
"matchTags": [
{}
],
"min": 1,
"max": 1
},
{
"roles": {
"to": "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,68 @@
"tags": {
"type": "route"
},
"name": "Route"
"name": "Route",
"relation": {
"optionalTags": {
"route": "$1"
},
"allowDuplicateMembers": true,
"members": [
{
"roles": {
"stop": "Stop",
"stop_exit_only": "Stop (Exit Only)",
"stop_entry_only": "Stop (Entry Only)",
"stop_on_demand": "Stop (only stops on request)",
"stop_on_demand_exit_only": "Stop (Exit Only) (only stops on request)",
"stop_on_demand_entry_only": "Stop (Entry Only) (only stops on request)"
},
"geometry": [
"point",
"vertex"
],
"matchTags": [
{
"public_transport": "stop_position",
"$1": "yes"
}
]
},
{
"roles": {
"platform": "Platform",
"platform_exit_only": "Platform (Exit Only)",
"platform_entry_only": "Platform (Entry Only)",
"platform_on_demand": "Platform (only stops on request)",
"platform_on_demand_exit_only": "Platform (Exit Only) (only stops on request)",
"platform_on_demand_entry_only": "Platform (Entry Only) (only stops on request)"
},
"geometry": [
"point",
"vertex",
"line",
"area"
],
"matchTags": [
{
"public_transport": "platform",
"$1": "yes"
}
]
},
{
"roles": {
"": "",
"forward": "Forwards",
"backward": "Backwards"
},
"geometry": [
"line"
],
"matchTags": [
{}
]
}
]
}
}

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": {
"optionalTags": {
"route_master": "$1",
"ref": "$2"
},
"allowDuplicateMembers": false,
"members": [
{
"roles": {
"": ""
},
"geometry": [
"relation"
],
"matchTags": [
{
"type": "route",
"route": "$1",
"ref": "$2"
}
]
}
]
}
}

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": {
"allowDuplicateMembers": false,
"members": [
{
"roles": {
"": ""
},
"matchTags": [
{
"highway": "traffic_signals"
},
{
"highway": "crossing"
},
{
"man_made": "street_cabinet"
},
{
"man_made": "surveillance",
"surveillance:type": "camera"
}
],
"geometry": [
"point",
"vertex"
]
}
]
}
}

View file

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