From 67f93eb1af3e2d4978158f8b37a2a3af6e458d3e Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 24 Jul 2024 09:41:07 -0400 Subject: [PATCH 1/6] Connector reference with LR --- .../segment/bad-connector-duplicate.json | 16 +++++++++++++++- .../road/lanes/lanes-flow-alternating.yaml | 5 +++++ .../road/lanes/lanes-flow-reversible.yaml | 5 +++++ .../segment/road/road-oneway-no-lanes.yaml | 5 +++++ .../segment/road/road-oneway-with-lanes.yaml | 5 +++++ .../segment/road/road-with-lr-name.yaml | 5 +++++ .../segment/road/road-with-lr-width.yaml | 5 +++++ .../segment/road/road-with-route.yaml | 5 +++++ examples/transportation/segment/road/road.yaml | 7 ++++++- .../transportation/segment/road/sidewalk.yaml | 5 +++++ schema/transportation/segment.yaml | 18 ++++++++++++++++++ 11 files changed, 79 insertions(+), 2 deletions(-) diff --git a/counterexamples/transportation/segment/bad-connector-duplicate.json b/counterexamples/transportation/segment/bad-connector-duplicate.json index fe9b7f00..55fdb843 100644 --- a/counterexamples/transportation/segment/bad-connector-duplicate.json +++ b/counterexamples/transportation/segment/bad-connector-duplicate.json @@ -13,6 +13,20 @@ "type": "segment", "version": 4, "subtype": "rail", - "connector_ids": ["fooConnector", "bazConnector", "fooConnector"] + "connector_ids": ["fooConnector", "bazConnector", "fooConnector"], + "connectors": [ + { + "connector_id": "fooConnector", + "at": 0.0 + }, + { + "connector_id": "bazConnector", + "at": 1.0 + }, + { + "connector_id": "fooConnector", + "at": 0.0 + } + ] } } diff --git a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml index 0a6d00c0..b1b340f4 100644 --- a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml +++ b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml @@ -11,6 +11,11 @@ properties: subtype: road class: primary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 road_surface: - value: paved lanes: diff --git a/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml b/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml index e628c6f8..5d4d7d78 100644 --- a/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml +++ b/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml @@ -11,6 +11,11 @@ properties: subtype: road class: primary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 road_surface: - value: paved lanes: diff --git a/examples/transportation/segment/road/road-oneway-no-lanes.yaml b/examples/transportation/segment/road/road-oneway-no-lanes.yaml index 0bd6d1fd..6b9d4644 100644 --- a/examples/transportation/segment/road/road-oneway-no-lanes.yaml +++ b/examples/transportation/segment/road/road-oneway-no-lanes.yaml @@ -11,6 +11,11 @@ properties: subtype: road class: secondary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 # one way road in backward direction (forward access is denied) access_restrictions: - access_type: denied diff --git a/examples/transportation/segment/road/road-oneway-with-lanes.yaml b/examples/transportation/segment/road/road-oneway-with-lanes.yaml index 97bbc3dd..6044e4bb 100644 --- a/examples/transportation/segment/road/road-oneway-with-lanes.yaml +++ b/examples/transportation/segment/road/road-oneway-with-lanes.yaml @@ -11,6 +11,11 @@ properties: subtype: road class: secondary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 # one way road in forward direction (lanes only in forward direction) lanes: - value: diff --git a/examples/transportation/segment/road/road-with-lr-name.yaml b/examples/transportation/segment/road/road-with-lr-name.yaml index 6d7334af..ba18d028 100644 --- a/examples/transportation/segment/road/road-with-lr-name.yaml +++ b/examples/transportation/segment/road/road-with-lr-name.yaml @@ -14,6 +14,11 @@ properties: subtype: road class: secondary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 names: primary: Common Road Name 1 rules: diff --git a/examples/transportation/segment/road/road-with-lr-width.yaml b/examples/transportation/segment/road/road-with-lr-width.yaml index 556c8450..a52138aa 100644 --- a/examples/transportation/segment/road/road-with-lr-width.yaml +++ b/examples/transportation/segment/road/road-with-lr-width.yaml @@ -14,6 +14,11 @@ properties: subtype: road class: secondary connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 width_rules: - between: [0, 0.5] value: 1.5 diff --git a/examples/transportation/segment/road/road-with-route.yaml b/examples/transportation/segment/road/road-with-route.yaml index 566dbf75..e7c8617d 100644 --- a/examples/transportation/segment/road/road-with-route.yaml +++ b/examples/transportation/segment/road/road-with-route.yaml @@ -12,6 +12,11 @@ properties: subtype: road class: motorway connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 routes: - name: I 95 network: US:I diff --git a/examples/transportation/segment/road/road.yaml b/examples/transportation/segment/road/road.yaml index 9d6483bb..0e6e116d 100644 --- a/examples/transportation/segment/road/road.yaml +++ b/examples/transportation/segment/road/road.yaml @@ -16,7 +16,12 @@ properties: subclass: link subclass_rules: - value: link - connector_ids: [fooConnector, barConnector] # Topology: To discuss further. + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 names: primary: Common Road Name # no access nor lanes information -> means by default road is accessible in both directions with at least one lane in each direction diff --git a/examples/transportation/segment/road/sidewalk.yaml b/examples/transportation/segment/road/sidewalk.yaml index 13ed2d74..a0d34448 100644 --- a/examples/transportation/segment/road/sidewalk.yaml +++ b/examples/transportation/segment/road/sidewalk.yaml @@ -14,5 +14,10 @@ properties: subclass_rules: - value: sidewalk connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 road_surface: - value: paved diff --git a/schema/transportation/segment.yaml b/schema/transportation/segment.yaml index 06cf5c99..0d1f2f78 100644 --- a/schema/transportation/segment.yaml +++ b/schema/transportation/segment.yaml @@ -62,6 +62,24 @@ properties: Each entry in this array is the GERS ID of a transportation connector feature. uniqueItems: true default: [] + connectors: + description: >- + List of connectors which this segment is physically connected to and their + relative location. Each connector is a possible routing decision point, meaning + it defines a place along the segment in which there is possibility to + transition to other segments which share the same connector. + type: array + items: + type: object + "$comment": >- + Each entry in this array is the GERS ID and LR of a transportation connector feature. + unevaluatedProperties: false + required: [connector_id, at] + properties: + connector_id: { "$ref": "../defs.yaml#/$defs/propertyDefinitions/id" } + at: { "$ref": "../defs.yaml#/$defs/propertyDefinitions/linearlyReferencedPosition" } + uniqueItems: true + default: [] routes: { "$ref": "#/$defs/propertyDefinitions/routes" } "$defs": propertyDefinitions: From 47ad5710008e58eb87adedc58220502a998e2dc2 Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 24 Jul 2024 09:43:53 -0400 Subject: [PATCH 2/6] Consistent numbers --- .../transportation/segment/bad-connector-duplicate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/counterexamples/transportation/segment/bad-connector-duplicate.json b/counterexamples/transportation/segment/bad-connector-duplicate.json index 55fdb843..4c55edd6 100644 --- a/counterexamples/transportation/segment/bad-connector-duplicate.json +++ b/counterexamples/transportation/segment/bad-connector-duplicate.json @@ -17,15 +17,15 @@ "connectors": [ { "connector_id": "fooConnector", - "at": 0.0 + "at": 0 }, { "connector_id": "bazConnector", - "at": 1.0 + "at": 1 }, { "connector_id": "fooConnector", - "at": 0.0 + "at": 0 } ] } From 15d0106ddc182e4fa1d53b82829788d7e082800d Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 24 Jul 2024 11:19:51 -0400 Subject: [PATCH 3/6] Add multiple connector example --- .../road/road-multiple-connectors.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 examples/transportation/segment/road/road-multiple-connectors.yaml diff --git a/examples/transportation/segment/road/road-multiple-connectors.yaml b/examples/transportation/segment/road/road-multiple-connectors.yaml new file mode 100644 index 00000000..d8c1c54e --- /dev/null +++ b/examples/transportation/segment/road/road-multiple-connectors.yaml @@ -0,0 +1,22 @@ +--- +id: overture:transportation:segment:0841f2c7ffffffff0477f88f6824635d +type: Feature +geometry: + type: LineString + coordinates: [[14.5161902, 56.6452609], [14.5151903, 56.6465165], [14.5128482, 56.6494576]] +properties: + theme: transportation + type: segment + version: 1 + subtype: road + class: secondary + connector_ids: [08f1f2c6a5d612f20473f1d0ae2f3b9b, 08f1f2c78b6cd7480477fda99ff112b1, 08f1f2c78b6740300477f04e2259ca78] + road_surface: + - value: paved + connectors: + - connector_id: 08f1f2c6a5d612f20473f1d0ae2f3b9b + at: 0 + - connector_id: 08f1f2c78b6cd7480477fda99ff112b1 + at: 0.3 + - connector_id: 08f1f2c78b6740300477f04e2259ca78 + at: 1 From 0d121d5925c862a9f45acf66f29fc090e027dfd6 Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 24 Jul 2024 14:48:53 -0400 Subject: [PATCH 4/6] Add deprecation notice, min entries, cleanup --- .../segment/bad-connector-duplicate.json | 2 +- .../transportation/segment/bad-connector.json | 10 +++++++--- .../transportation/segment/bad-route.yaml | 6 ++++++ .../road/bad-road-level-invalid-value.yaml | 6 ++++++ .../bad-road-level-unsupported-properties.yaml | 6 ++++++ .../restrictions/access/bad-access-mode.yaml | 6 ++++++ .../docusaurus/lanes-resolution-segment-01.yaml | 8 +++++++- .../docusaurus/lanes-resolution-segment-02.yaml | 8 +++++++- .../transportation/docusaurus/simple-road.yaml | 10 ++++++++-- .../docusaurus/turn-restriction-01-exit.yaml | 10 ++++++++-- .../docusaurus/turn-restriction-01-source.yaml | 10 ++++++++-- .../docusaurus/turn-restriction-01-target.yaml | 10 ++++++++-- .../docusaurus/turn-restriction-02-source.yaml | 7 +++++++ .../docusaurus/turn-restriction-02-target.yaml | 7 +++++++ .../docusaurus/turn-restriction-02-via.yaml | 6 ++++++ .../road/lanes/lanes-flow-alternating.yaml | 1 + .../road/lanes/lanes-flow-reversible.yaml | 1 + .../segment/road/road-multiple-connectors.yaml | 17 +++++++++-------- .../segment/road/road-oneway-with-lanes.yaml | 1 + .../segment/road/road-with-lr-name.yaml | 1 + .../segment/road/road-with-lr-width.yaml | 1 + .../segment/road/road-with-route.yaml | 1 + examples/transportation/segment/road/road.yaml | 1 + .../transportation/segment/road/sidewalk.yaml | 1 + schema/transportation/segment.yaml | 4 +++- 25 files changed, 118 insertions(+), 23 deletions(-) diff --git a/counterexamples/transportation/segment/bad-connector-duplicate.json b/counterexamples/transportation/segment/bad-connector-duplicate.json index 4c55edd6..02022678 100644 --- a/counterexamples/transportation/segment/bad-connector-duplicate.json +++ b/counterexamples/transportation/segment/bad-connector-duplicate.json @@ -1,5 +1,5 @@ { - "id": "segment with an invalid entry in the connector_ids array", + "id": "segment with an invalid entry in the connectors array", "type": "Feature", "geometry": { "type": "LineString", diff --git a/counterexamples/transportation/segment/bad-connector.json b/counterexamples/transportation/segment/bad-connector.json index e20f44b5..afb33220 100644 --- a/counterexamples/transportation/segment/bad-connector.json +++ b/counterexamples/transportation/segment/bad-connector.json @@ -1,5 +1,5 @@ { - "id": "segment with an invalid entry in the connector_ids array", + "id": "segment with an invalid entry in the connectors array", "type": "Feature", "geometry": { "type": "LineString", @@ -8,12 +8,16 @@ "properties": { "ext_expected_errors": [ "expected string, but got number", - "expected string, but got boolean" + "expected string, but got boolean", + "expected object, but got string", + "expected object, but got number", + "expected object, but got boolean" ], "theme": "transportation", "type": "segment", "version": 3, "subtype": "rail", - "connector_ids": ["bazConnector", "qux", 1, false] + "connector_ids": ["bazConnector", "qux", 1, false], + "connectors": [{"connector_id": "foo", "at": 0.0}, {"connector_id": "bar", "at": 1.0}, "bazConnector", "qux", 1, false] } } diff --git a/counterexamples/transportation/segment/bad-route.yaml b/counterexamples/transportation/segment/bad-route.yaml index 518e81c6..3bbf348e 100644 --- a/counterexamples/transportation/segment/bad-route.yaml +++ b/counterexamples/transportation/segment/bad-route.yaml @@ -13,7 +13,13 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 routes: - name: "" ref: 1234 diff --git a/counterexamples/transportation/segment/road/bad-road-level-invalid-value.yaml b/counterexamples/transportation/segment/road/bad-road-level-invalid-value.yaml index e4ca72a4..e8e57f76 100644 --- a/counterexamples/transportation/segment/road/bad-road-level-invalid-value.yaml +++ b/counterexamples/transportation/segment/road/bad-road-level-invalid-value.yaml @@ -10,7 +10,13 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 level_rules: - value: 1.5 ext_expected_errors: diff --git a/counterexamples/transportation/segment/road/bad-road-level-unsupported-properties.yaml b/counterexamples/transportation/segment/road/bad-road-level-unsupported-properties.yaml index 94fd9d1d..8d34999f 100644 --- a/counterexamples/transportation/segment/road/bad-road-level-unsupported-properties.yaml +++ b/counterexamples/transportation/segment/road/bad-road-level-unsupported-properties.yaml @@ -10,7 +10,13 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 level_rules: - value: 1 foo: bar diff --git a/counterexamples/transportation/segment/road/restrictions/access/bad-access-mode.yaml b/counterexamples/transportation/segment/road/restrictions/access/bad-access-mode.yaml index d95495e7..3043f01c 100644 --- a/counterexamples/transportation/segment/road/restrictions/access/bad-access-mode.yaml +++ b/counterexamples/transportation/segment/road/restrictions/access/bad-access-mode.yaml @@ -18,7 +18,13 @@ properties: subclass: link subclass_rules: - value: link + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 road_surface: gravel road_flags: - [is_link, is_tunnel] # Note: `is_link` is deprecated and will be removed in a future release in favor of the link subclass diff --git a/examples/transportation/docusaurus/lanes-resolution-segment-01.yaml b/examples/transportation/docusaurus/lanes-resolution-segment-01.yaml index 1b4dab03..7c17f54f 100644 --- a/examples/transportation/docusaurus/lanes-resolution-segment-01.yaml +++ b/examples/transportation/docusaurus/lanes-resolution-segment-01.yaml @@ -10,7 +10,13 @@ properties: theme: transportation type: segment version: 1 - connector_ids: [lanes-resolution-example-connector] + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 subtype: road class: motorway lanes: # A list of two geometrically-scoped rules for resolving the lane block. diff --git a/examples/transportation/docusaurus/lanes-resolution-segment-02.yaml b/examples/transportation/docusaurus/lanes-resolution-segment-02.yaml index c62b33cc..8c87fe21 100644 --- a/examples/transportation/docusaurus/lanes-resolution-segment-02.yaml +++ b/examples/transportation/docusaurus/lanes-resolution-segment-02.yaml @@ -10,7 +10,13 @@ properties: theme: transportation type: segment version: 2 - connector_ids: [lanes-resolution-example-connector] + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 subtype: road class: motorway lanes: diff --git a/examples/transportation/docusaurus/simple-road.yaml b/examples/transportation/docusaurus/simple-road.yaml index 1b976d2c..f5b34b78 100644 --- a/examples/transportation/docusaurus/simple-road.yaml +++ b/examples/transportation/docusaurus/simple-road.yaml @@ -13,9 +13,15 @@ properties: version: 5 subtype: road class: residential + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - - overture:transportation:example:simple-road-connector-1 - - overture:transportation:example:simple-road-connector-2 + - overture:transportation:example:via-turn-restriction-connector1 + - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 names: primary: Nicola Street lanes: diff --git a/examples/transportation/docusaurus/turn-restriction-01-exit.yaml b/examples/transportation/docusaurus/turn-restriction-01-exit.yaml index f183f86e..ad8845a2 100644 --- a/examples/transportation/docusaurus/turn-restriction-01-exit.yaml +++ b/examples/transportation/docusaurus/turn-restriction-01-exit.yaml @@ -15,6 +15,12 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - - overture:transportation:example:simple-turn-restriction-connector1 - - overture:transportation:example:simple-turn-restriction-connector3 + - overture:transportation:example:via-turn-restriction-connector1 + - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 diff --git a/examples/transportation/docusaurus/turn-restriction-01-source.yaml b/examples/transportation/docusaurus/turn-restriction-01-source.yaml index 4755febe..3ca91999 100644 --- a/examples/transportation/docusaurus/turn-restriction-01-source.yaml +++ b/examples/transportation/docusaurus/turn-restriction-01-source.yaml @@ -13,9 +13,15 @@ properties: version: 5 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - - overture:transportation:example:simple-turn-restriction-connector1 - - overture:transportation:example:simple-turn-restriction-connector2 + - overture:transportation:example:via-turn-restriction-connector1 + - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 prohibited_transitions: - sequence: - segment_id: overture:transportation:example:simple-turn-restriction-target diff --git a/examples/transportation/docusaurus/turn-restriction-01-target.yaml b/examples/transportation/docusaurus/turn-restriction-01-target.yaml index 93678496..04e397db 100644 --- a/examples/transportation/docusaurus/turn-restriction-01-target.yaml +++ b/examples/transportation/docusaurus/turn-restriction-01-target.yaml @@ -15,6 +15,12 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - - overture:transportation:example:simple-turn-restriction-connector2 - - overture:transportation:example:simple-turn-restriction-connector3 + - overture:transportation:example:via-turn-restriction-connector1 + - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 diff --git a/examples/transportation/docusaurus/turn-restriction-02-source.yaml b/examples/transportation/docusaurus/turn-restriction-02-source.yaml index a1e572c5..83222315 100644 --- a/examples/transportation/docusaurus/turn-restriction-02-source.yaml +++ b/examples/transportation/docusaurus/turn-restriction-02-source.yaml @@ -19,8 +19,15 @@ properties: version: 5 subtype: road class: primary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - overture:transportation:example:via-turn-restriction-connector1 + - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 names: primary: Arborway prohibited_transitions: diff --git a/examples/transportation/docusaurus/turn-restriction-02-target.yaml b/examples/transportation/docusaurus/turn-restriction-02-target.yaml index ffea094c..12ff96ed 100644 --- a/examples/transportation/docusaurus/turn-restriction-02-target.yaml +++ b/examples/transportation/docusaurus/turn-restriction-02-target.yaml @@ -17,8 +17,15 @@ properties: version: 5 subtype: road class: primary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: + - overture:transportation:example:via-turn-restriction-connector1 - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 names: primary: Arborway road_surface: diff --git a/examples/transportation/docusaurus/turn-restriction-02-via.yaml b/examples/transportation/docusaurus/turn-restriction-02-via.yaml index a26018e6..c2f8b2f5 100644 --- a/examples/transportation/docusaurus/turn-restriction-02-via.yaml +++ b/examples/transportation/docusaurus/turn-restriction-02-via.yaml @@ -14,9 +14,15 @@ properties: version: 5 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: - overture:transportation:example:via-turn-restriction-connector1 - overture:transportation:example:via-turn-restriction-connector2 + connectors: + - connector_id: overture:transportation:example:via-turn-restriction-connector1 + at: 0 + - connector_id: overture:transportation:example:via-turn-restriction-connector2 + at: 1 names: primary: Washington Street road_surface: diff --git a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml index b1b340f4..d3a78d4c 100644 --- a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml +++ b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml @@ -10,6 +10,7 @@ properties: version: 4 subtype: road class: primary + connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml b/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml index 5d4d7d78..ea91cf01 100644 --- a/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml +++ b/examples/transportation/segment/road/lanes/lanes-flow-reversible.yaml @@ -10,6 +10,7 @@ properties: version: 5 subtype: road class: primary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road-multiple-connectors.yaml b/examples/transportation/segment/road/road-multiple-connectors.yaml index d8c1c54e..ab538447 100644 --- a/examples/transportation/segment/road/road-multiple-connectors.yaml +++ b/examples/transportation/segment/road/road-multiple-connectors.yaml @@ -1,22 +1,23 @@ --- -id: overture:transportation:segment:0841f2c7ffffffff0477f88f6824635d +id: overture:transportation:segment:123 type: Feature geometry: type: LineString - coordinates: [[14.5161902, 56.6452609], [14.5151903, 56.6465165], [14.5128482, 56.6494576]] + coordinates: [[0, 0], [0.03, 0], [0.10, 0]] properties: theme: transportation type: segment version: 1 subtype: road class: secondary - connector_ids: [08f1f2c6a5d612f20473f1d0ae2f3b9b, 08f1f2c78b6cd7480477fda99ff112b1, 08f1f2c78b6740300477f04e2259ca78] - road_surface: - - value: paved + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector, bazConnector] connectors: - - connector_id: 08f1f2c6a5d612f20473f1d0ae2f3b9b + - connector_id: fooConnector at: 0 - - connector_id: 08f1f2c78b6cd7480477fda99ff112b1 + - connector_id: barConnector at: 0.3 - - connector_id: 08f1f2c78b6740300477f04e2259ca78 + - connector_id: bazConnector at: 1 + road_surface: + - value: paved diff --git a/examples/transportation/segment/road/road-oneway-with-lanes.yaml b/examples/transportation/segment/road/road-oneway-with-lanes.yaml index 6044e4bb..4d766a5e 100644 --- a/examples/transportation/segment/road/road-oneway-with-lanes.yaml +++ b/examples/transportation/segment/road/road-oneway-with-lanes.yaml @@ -10,6 +10,7 @@ properties: version: 6 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road-with-lr-name.yaml b/examples/transportation/segment/road/road-with-lr-name.yaml index ba18d028..8ec1066b 100644 --- a/examples/transportation/segment/road/road-with-lr-name.yaml +++ b/examples/transportation/segment/road/road-with-lr-name.yaml @@ -13,6 +13,7 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road-with-lr-width.yaml b/examples/transportation/segment/road/road-with-lr-width.yaml index a52138aa..28db179e 100644 --- a/examples/transportation/segment/road/road-with-lr-width.yaml +++ b/examples/transportation/segment/road/road-with-lr-width.yaml @@ -13,6 +13,7 @@ properties: version: 1 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road-with-route.yaml b/examples/transportation/segment/road/road-with-route.yaml index e7c8617d..991841ef 100644 --- a/examples/transportation/segment/road/road-with-route.yaml +++ b/examples/transportation/segment/road/road-with-route.yaml @@ -11,6 +11,7 @@ properties: version: 1 subtype: road class: motorway + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road.yaml b/examples/transportation/segment/road/road.yaml index 0e6e116d..ac126c2c 100644 --- a/examples/transportation/segment/road/road.yaml +++ b/examples/transportation/segment/road/road.yaml @@ -16,6 +16,7 @@ properties: subclass: link subclass_rules: - value: link + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/sidewalk.yaml b/examples/transportation/segment/road/sidewalk.yaml index a0d34448..5c234c1e 100644 --- a/examples/transportation/segment/road/sidewalk.yaml +++ b/examples/transportation/segment/road/sidewalk.yaml @@ -13,6 +13,7 @@ properties: subclass: sidewalk subclass_rules: - value: sidewalk + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/schema/transportation/segment.yaml b/schema/transportation/segment.yaml index 0d1f2f78..edabe301 100644 --- a/schema/transportation/segment.yaml +++ b/schema/transportation/segment.yaml @@ -61,6 +61,7 @@ properties: "$comment": >- Each entry in this array is the GERS ID of a transportation connector feature. uniqueItems: true + minItems: 2 default: [] connectors: description: >- @@ -72,13 +73,14 @@ properties: items: type: object "$comment": >- - Each entry in this array is the GERS ID and LR of a transportation connector feature. + Contains the GERS ID and relative position between 0 and 1 of a connector feature along the segment. unevaluatedProperties: false required: [connector_id, at] properties: connector_id: { "$ref": "../defs.yaml#/$defs/propertyDefinitions/id" } at: { "$ref": "../defs.yaml#/$defs/propertyDefinitions/linearlyReferencedPosition" } uniqueItems: true + minItems: 2 default: [] routes: { "$ref": "#/$defs/propertyDefinitions/routes" } "$defs": From c7ee7fe4ccaaba028830ea4fe2bf9fad89daa382 Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 24 Jul 2024 14:51:49 -0400 Subject: [PATCH 5/6] More cleanup --- .../bad-sequence-duplicate-entry.yaml | 9 +++++++-- .../prohibited_transitions/bad-sequence-empty.yaml | 9 +++++++-- .../prohibited_transitions/missing-final-heading.yaml | 9 +++++++-- .../speed_limits/bad-speed-limits-mode.yaml | 6 ++++++ .../transportation/docusaurus/access-restriction.yaml | 10 +++++++--- .../segment/road/lanes/lanes-flow-alternating.yaml | 2 +- .../segment/road/road-oneway-no-lanes.yaml | 1 + 7 files changed, 36 insertions(+), 10 deletions(-) diff --git a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-duplicate-entry.yaml b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-duplicate-entry.yaml index 6a70f305..5f88f82b 100644 --- a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-duplicate-entry.yaml +++ b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-duplicate-entry.yaml @@ -10,8 +10,13 @@ properties: version: 2 subtype: road class: primary - connector_ids: - - overture:transportation:example:connector:1 + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 prohibited_transitions: - sequence: - segment_id: foo diff --git a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-empty.yaml b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-empty.yaml index 88264379..155a471c 100644 --- a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-empty.yaml +++ b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/bad-sequence-empty.yaml @@ -10,8 +10,13 @@ properties: version: 2 subtype: road class: primary - connector_ids: - - overture:transportation:example:connector:1 + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 prohibited_transitions: - sequence: [] final_heading: forward diff --git a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/missing-final-heading.yaml b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/missing-final-heading.yaml index 840479cf..61512a57 100644 --- a/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/missing-final-heading.yaml +++ b/counterexamples/transportation/segment/road/restrictions/prohibited_transitions/missing-final-heading.yaml @@ -10,8 +10,13 @@ properties: version: 2 subtype: road class: primary - connector_ids: - - overture:transportation:example:connector:1 + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 prohibited_transitions: - sequence: - segment_id: foo diff --git a/counterexamples/transportation/segment/road/restrictions/speed_limits/bad-speed-limits-mode.yaml b/counterexamples/transportation/segment/road/restrictions/speed_limits/bad-speed-limits-mode.yaml index fe94714b..67dac730 100644 --- a/counterexamples/transportation/segment/road/restrictions/speed_limits/bad-speed-limits-mode.yaml +++ b/counterexamples/transportation/segment/road/restrictions/speed_limits/bad-speed-limits-mode.yaml @@ -15,7 +15,13 @@ properties: version: 2 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 speed_limits: - max_speed: value: 110 diff --git a/examples/transportation/docusaurus/access-restriction.yaml b/examples/transportation/docusaurus/access-restriction.yaml index 189477f7..573075a6 100644 --- a/examples/transportation/docusaurus/access-restriction.yaml +++ b/examples/transportation/docusaurus/access-restriction.yaml @@ -16,9 +16,13 @@ properties: version: 4 subtype: road class: motorway - connector_ids: - - overture:transportation:example:simple-road-connector-1 - - overture:transportation:example:simple-road-connector-2 + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release + connector_ids: [fooConnector, barConnector] + connectors: + - connector_id: fooConnector + at: 0 + - connector_id: barConnector + at: 1 names: primary: SR 520 access_restrictions: diff --git a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml index d3a78d4c..723b8b64 100644 --- a/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml +++ b/examples/transportation/segment/road/lanes/lanes-flow-alternating.yaml @@ -10,7 +10,7 @@ properties: version: 4 subtype: road class: primary - + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector diff --git a/examples/transportation/segment/road/road-oneway-no-lanes.yaml b/examples/transportation/segment/road/road-oneway-no-lanes.yaml index 6b9d4644..030d4617 100644 --- a/examples/transportation/segment/road/road-oneway-no-lanes.yaml +++ b/examples/transportation/segment/road/road-oneway-no-lanes.yaml @@ -10,6 +10,7 @@ properties: version: 6 subtype: road class: secondary + # `connector_ids` is deprecated in favor of `connectors`, planned to be removed for the October release connector_ids: [fooConnector, barConnector] connectors: - connector_id: fooConnector From 7cdda0f5ed9c63dd0e94622a138c8d451b9539c7 Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Wed, 31 Jul 2024 17:27:06 -0600 Subject: [PATCH 6/6] Deprecation notice on connector_ids --- schema/transportation/segment.yaml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/schema/transportation/segment.yaml b/schema/transportation/segment.yaml index edabe301..ed681ed7 100644 --- a/schema/transportation/segment.yaml +++ b/schema/transportation/segment.yaml @@ -51,6 +51,9 @@ properties: kind has an (implied) set of default transport modes. connector_ids: description: >- + ** Deprecated** `connector_ids` is deprecated in favor of `connectors` and + is planned to be removed for the October release. + List of connector IDs identifying the connectors this segment is physically connected to. Each connector is a possible routing decision point, meaning it defines a place along the segment in which there is possibility to @@ -89,9 +92,9 @@ properties: description: >- The type of object of the destination label. type: string - enum: + enum: - street - - country + - country - route_ref - toward_route_ref - unknown @@ -129,25 +132,25 @@ properties: uniqueItems: true symbols: description: >- - A collection of symbols or icons present on the sign next to current + A collection of symbols or icons present on the sign next to current destination label. type: array items: { "$ref": "#/$defs/propertyDefinitions/destinationSignSymbol" } uniqueItems: true - minLength: 1 - from_connector_id: + minLength: 1 + from_connector_id: description: >- Identifies the point of physical connection on this segment before which the destination sign or marking is visible. type: string to_segment_id: description: >- - Identifies the segment to transition to reach the destination(s) labeled + Identifies the segment to transition to reach the destination(s) labeled on the sign or marking. type: string to_connector_id: description: >- - Identifies the point of physical connection on the segment identified by + Identifies the point of physical connection on the segment identified by 'to_segment_id' to transition to for reaching the destination(s). type: string when: @@ -157,9 +160,9 @@ properties: unevaluatedProperties: false final_heading: description: >- - Direction of travel on the segment identified by 'to_segment_id' that leads + Direction of travel on the segment identified by 'to_segment_id' that leads to the destination. - "$ref": "#/$defs/propertyDefinitions/heading" + "$ref": "#/$defs/propertyDefinitions/heading" roadClass: description: Captures the kind of road and its position in the road network @@ -235,7 +238,7 @@ properties: description: >- Indicates what special symbol/icon is present on a signpost, visible as road marking or similar. type: string - enum: + enum: - motorway - airport - hospital