overture-schema-theme-transportation 0.1.1.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- overture_schema_theme_transportation-0.1.1.dev0/PKG-INFO +19 -0
- overture_schema_theme_transportation-0.1.1.dev0/README.md +4 -0
- overture_schema_theme_transportation-0.1.1.dev0/pyproject.toml +189 -0
- overture_schema_theme_transportation-0.1.1.dev0/pyproject.toml.orig +195 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/__init__.py +75 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/connector.py +32 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/py.typed +0 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/segment/__init__.py +97 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/segment/_common.py +373 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/segment/rail.py +96 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/segment/road.py +397 -0
- overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/segment/water.py +17 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: overture-schema-theme-transportation
|
|
3
|
+
Version: 0.1.1.dev0
|
|
4
|
+
Summary: Overture Maps transportation theme with shared structures and connector and segment types
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Requires-Dist: overture-schema-common>=0.1.1
|
|
7
|
+
Requires-Dist: overture-schema-system>=0.1.1
|
|
8
|
+
Requires-Dist: pydantic>=2.13.0
|
|
9
|
+
Maintainer: Overture Maps Schema Working Group
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Project-URL: Homepage, https://overturemaps.org
|
|
12
|
+
Project-URL: Source, https://github.com/OvertureMaps/schema
|
|
13
|
+
Project-URL: Issues, https://github.com/OvertureMaps/schema/issues
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# Overture Schema Transportation Theme
|
|
17
|
+
|
|
18
|
+
Shared structures and validation logic for Overture Maps transportation theme.
|
|
19
|
+
Contains common enums, classes, and utilities used by transportation segment and connector types.
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
dependencies = [
|
|
3
|
+
"overture-schema-common>=0.1.1",
|
|
4
|
+
"overture-schema-system>=0.1.1",
|
|
5
|
+
"pydantic>=2.13.0",
|
|
6
|
+
]
|
|
7
|
+
description = "Overture Maps transportation theme with shared structures and connector and segment types"
|
|
8
|
+
version = "0.1.1.dev0"
|
|
9
|
+
license = "MIT"
|
|
10
|
+
name = "overture-schema-theme-transportation"
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
requires-python = ">=3.10"
|
|
13
|
+
|
|
14
|
+
[[project.maintainers]]
|
|
15
|
+
name = "Overture Maps Schema Working Group"
|
|
16
|
+
|
|
17
|
+
[project.urls]
|
|
18
|
+
Homepage = "https://overturemaps.org"
|
|
19
|
+
Source = "https://github.com/OvertureMaps/schema"
|
|
20
|
+
Issues = "https://github.com/OvertureMaps/schema/issues"
|
|
21
|
+
|
|
22
|
+
[project.entry-points."overture.models"]
|
|
23
|
+
connector = "overture.schema.transportation:Connector"
|
|
24
|
+
segment = "overture.schema.transportation:Segment"
|
|
25
|
+
|
|
26
|
+
[project.entry-points.pytest11]
|
|
27
|
+
overture_baselines = "overture.schema.system.testing.plugin"
|
|
28
|
+
|
|
29
|
+
[tool.uv.sources.overture-schema-common]
|
|
30
|
+
workspace = true
|
|
31
|
+
|
|
32
|
+
[tool.uv.sources.overture-schema-system]
|
|
33
|
+
workspace = true
|
|
34
|
+
|
|
35
|
+
[tool.uv.build-backend]
|
|
36
|
+
module-name = "overture.schema.transportation"
|
|
37
|
+
|
|
38
|
+
[build-system]
|
|
39
|
+
requires = ["uv_build>=0.11.32,<0.13"]
|
|
40
|
+
build-backend = "uv_build"
|
|
41
|
+
|
|
42
|
+
[[examples.Connector]]
|
|
43
|
+
geometry = "POINT (30.048398 -25.708697)"
|
|
44
|
+
id = "73a46c48-dc5a-4162-b9c8-1643298784c3"
|
|
45
|
+
theme = "transportation"
|
|
46
|
+
type = "connector"
|
|
47
|
+
version = 1
|
|
48
|
+
|
|
49
|
+
[examples.Connector.bbox]
|
|
50
|
+
xmax = 30.04840087890625
|
|
51
|
+
xmin = 30.048397064208984
|
|
52
|
+
ymax = -25.708696365356445
|
|
53
|
+
ymin = -25.70870018005371
|
|
54
|
+
|
|
55
|
+
[[examples.Connector.sources]]
|
|
56
|
+
dataset = "OpenStreetMap"
|
|
57
|
+
license = "ODbL-1.0"
|
|
58
|
+
property = ""
|
|
59
|
+
record_id = "n252436807@6"
|
|
60
|
+
update_time = "2025-01-06T20:44:06Z"
|
|
61
|
+
|
|
62
|
+
[[examples.Segment]]
|
|
63
|
+
class = "primary"
|
|
64
|
+
geometry = "LINESTRING (30.048398 -25.708697, 30.0485458 -25.708892, 30.0487074 -25.7090728, 30.0488875 -25.709252, 30.049138 -25.7094697, 30.0493666 -25.7096603, 30.0497209 -25.7099369, 30.0509508 -25.710904, 30.0511567 -25.7110786, 30.0515268 -25.7113855, 30.0518399 -25.711661, 30.052143 -25.7119631, 30.0523513 -25.7121619, 30.0526875 -25.7124827, 30.0531992 -25.7129799, 30.0535874 -25.7133575)"
|
|
65
|
+
id = "621e0a00-9466-4c3f-bb4a-64a83cd7a934"
|
|
66
|
+
subtype = "road"
|
|
67
|
+
theme = "transportation"
|
|
68
|
+
type = "segment"
|
|
69
|
+
version = 4
|
|
70
|
+
|
|
71
|
+
[examples.Segment.bbox]
|
|
72
|
+
xmax = 30.05359
|
|
73
|
+
xmin = 30.048397
|
|
74
|
+
ymax = -25.708696
|
|
75
|
+
ymin = -25.713358
|
|
76
|
+
|
|
77
|
+
[[examples.Segment.sources]]
|
|
78
|
+
dataset = "OpenStreetMap"
|
|
79
|
+
license = "ODbL-1.0"
|
|
80
|
+
property = "/routes"
|
|
81
|
+
record_id = "r1808544@180"
|
|
82
|
+
|
|
83
|
+
[[examples.Segment.sources]]
|
|
84
|
+
dataset = "OpenStreetMap"
|
|
85
|
+
license = "ODbL-1.0"
|
|
86
|
+
property = "/routes"
|
|
87
|
+
record_id = "r1808545@177"
|
|
88
|
+
|
|
89
|
+
[[examples.Segment.sources]]
|
|
90
|
+
dataset = "OpenStreetMap"
|
|
91
|
+
license = "ODbL-1.0"
|
|
92
|
+
property = ""
|
|
93
|
+
record_id = "w338134264@15"
|
|
94
|
+
update_time = "2025-04-21T09:53:35Z"
|
|
95
|
+
|
|
96
|
+
[examples.Segment.names]
|
|
97
|
+
primary = "Vermooten Street"
|
|
98
|
+
|
|
99
|
+
[[examples.Segment.names.rules]]
|
|
100
|
+
value = "Vermooten Street"
|
|
101
|
+
variant = "common"
|
|
102
|
+
|
|
103
|
+
[[examples.Segment.connectors]]
|
|
104
|
+
at = 0.0
|
|
105
|
+
connector_id = "73a46c48-dc5a-4162-b9c8-1643298784c3"
|
|
106
|
+
|
|
107
|
+
[[examples.Segment.connectors]]
|
|
108
|
+
at = 0.154695182
|
|
109
|
+
connector_id = "e81188ed-9b2f-48b4-99f2-d894044d88f5"
|
|
110
|
+
|
|
111
|
+
[[examples.Segment.connectors]]
|
|
112
|
+
at = 0.483463065
|
|
113
|
+
connector_id = "11124794-8830-4aff-bd09-f578d3a196b1"
|
|
114
|
+
|
|
115
|
+
[[examples.Segment.connectors]]
|
|
116
|
+
at = 0.753014135
|
|
117
|
+
connector_id = "cfda5f80-ffe6-4b5c-b219-4f208e0a3832"
|
|
118
|
+
|
|
119
|
+
[[examples.Segment.connectors]]
|
|
120
|
+
at = 1.0
|
|
121
|
+
connector_id = "a5871213-947e-4342-b486-f560f0ac22f3"
|
|
122
|
+
|
|
123
|
+
[[examples.Segment.access_restrictions]]
|
|
124
|
+
access_type = "denied"
|
|
125
|
+
|
|
126
|
+
[[examples.Segment.access_restrictions.when.vehicle]]
|
|
127
|
+
comparison = "greater_than"
|
|
128
|
+
dimension = "height"
|
|
129
|
+
unit = "m"
|
|
130
|
+
value = 5.2
|
|
131
|
+
|
|
132
|
+
[[examples.Segment.speed_limits]]
|
|
133
|
+
|
|
134
|
+
[examples.Segment.speed_limits.max_speed]
|
|
135
|
+
unit = "km/h"
|
|
136
|
+
value = 60
|
|
137
|
+
|
|
138
|
+
[examples.Segment.speed_limits.when]
|
|
139
|
+
heading = "forward"
|
|
140
|
+
|
|
141
|
+
[[examples.Segment.road_surface]]
|
|
142
|
+
value = "paved"
|
|
143
|
+
|
|
144
|
+
[[examples.Segment.routes]]
|
|
145
|
+
name = "R33 (northbound)"
|
|
146
|
+
network = "za:regional"
|
|
147
|
+
ref = "R33"
|
|
148
|
+
|
|
149
|
+
[[examples.Segment.routes]]
|
|
150
|
+
name = "R33 (southbound)"
|
|
151
|
+
network = "za:regional"
|
|
152
|
+
ref = "R33"
|
|
153
|
+
|
|
154
|
+
[[examples.Segment]]
|
|
155
|
+
class = "unknown"
|
|
156
|
+
geometry = "LINESTRING (30.9844394 -12.7185733, 30.9818611 -12.7207838, 30.9815908 -12.7210751)"
|
|
157
|
+
id = "2a9415ed-fa07-4734-9d8e-1d8ff69451c2"
|
|
158
|
+
subtype = "rail"
|
|
159
|
+
theme = "transportation"
|
|
160
|
+
type = "segment"
|
|
161
|
+
version = 1
|
|
162
|
+
|
|
163
|
+
[examples.Segment.bbox]
|
|
164
|
+
xmax = 30.98444
|
|
165
|
+
xmin = 30.98159
|
|
166
|
+
ymax = -12.718572
|
|
167
|
+
ymin = -12.721077
|
|
168
|
+
|
|
169
|
+
[[examples.Segment.sources]]
|
|
170
|
+
dataset = "OpenStreetMap"
|
|
171
|
+
license = "ODbL-1.0"
|
|
172
|
+
property = ""
|
|
173
|
+
record_id = "w414442537@2"
|
|
174
|
+
update_time = "2026-02-05T14:25:06Z"
|
|
175
|
+
|
|
176
|
+
[[examples.Segment.connectors]]
|
|
177
|
+
at = 0.0
|
|
178
|
+
connector_id = "2da12352-29c5-479e-932f-68fbe90c8229"
|
|
179
|
+
|
|
180
|
+
[[examples.Segment.connectors]]
|
|
181
|
+
at = 0.895049489
|
|
182
|
+
connector_id = "feed87bb-7abf-4254-9e14-efd6bdb3e428"
|
|
183
|
+
|
|
184
|
+
[[examples.Segment.connectors]]
|
|
185
|
+
at = 1.0
|
|
186
|
+
connector_id = "e37ca4ff-ab09-4c84-8d3c-450c703d7308"
|
|
187
|
+
|
|
188
|
+
[[examples.Segment.rail_flags]]
|
|
189
|
+
values = ["is_disused"]
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
maintainers = [
|
|
3
|
+
{ name = "Overture Maps Schema Working Group" },
|
|
4
|
+
]
|
|
5
|
+
dependencies = [
|
|
6
|
+
"overture-schema-common>=0.1.1",
|
|
7
|
+
"overture-schema-system>=0.1.1",
|
|
8
|
+
"pydantic>=2.13.0",
|
|
9
|
+
]
|
|
10
|
+
description = "Overture Maps transportation theme with shared structures and connector and segment types"
|
|
11
|
+
version = "0.1.1.dev0"
|
|
12
|
+
license = "MIT"
|
|
13
|
+
name = "overture-schema-theme-transportation"
|
|
14
|
+
readme = "README.md"
|
|
15
|
+
requires-python = ">=3.10"
|
|
16
|
+
|
|
17
|
+
[project.urls]
|
|
18
|
+
Homepage = "https://overturemaps.org"
|
|
19
|
+
Source = "https://github.com/OvertureMaps/schema"
|
|
20
|
+
Issues = "https://github.com/OvertureMaps/schema/issues"
|
|
21
|
+
|
|
22
|
+
[tool.uv.sources]
|
|
23
|
+
overture-schema-common = { workspace = true }
|
|
24
|
+
overture-schema-system = { workspace = true }
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
[build-system]
|
|
28
|
+
requires = ["uv_build>=0.11.32,<0.13"]
|
|
29
|
+
build-backend = "uv_build"
|
|
30
|
+
|
|
31
|
+
[tool.uv.build-backend]
|
|
32
|
+
module-name = "overture.schema.transportation"
|
|
33
|
+
|
|
34
|
+
[project.entry-points."overture.models"]
|
|
35
|
+
connector = "overture.schema.transportation:Connector"
|
|
36
|
+
segment = "overture.schema.transportation:Segment"
|
|
37
|
+
|
|
38
|
+
[project.entry-points.pytest11]
|
|
39
|
+
overture_baselines = "overture.schema.system.testing.plugin"
|
|
40
|
+
|
|
41
|
+
# Connector: Vermooten Street junction, Pretoria, South Africa (2026-02-18.0)
|
|
42
|
+
[[examples.Connector]]
|
|
43
|
+
geometry = "POINT (30.048398 -25.708697)"
|
|
44
|
+
id = "73a46c48-dc5a-4162-b9c8-1643298784c3"
|
|
45
|
+
theme = "transportation"
|
|
46
|
+
type = "connector"
|
|
47
|
+
version = 1
|
|
48
|
+
|
|
49
|
+
[examples.Connector.bbox]
|
|
50
|
+
xmax = 30.04840087890625
|
|
51
|
+
xmin = 30.048397064208984
|
|
52
|
+
ymax = -25.708696365356445
|
|
53
|
+
ymin = -25.70870018005371
|
|
54
|
+
|
|
55
|
+
[[examples.Connector.sources]]
|
|
56
|
+
dataset = "OpenStreetMap"
|
|
57
|
+
license = "ODbL-1.0"
|
|
58
|
+
property = ""
|
|
59
|
+
record_id = "n252436807@6"
|
|
60
|
+
update_time = "2025-01-06T20:44:06Z"
|
|
61
|
+
|
|
62
|
+
# Road segment: Vermooten Street / R33, Pretoria, South Africa (2026-02-18.0)
|
|
63
|
+
# Populates access_restrictions with when.vehicle, speed_limits with
|
|
64
|
+
# when.heading, routes with ref, road_surface, and names.
|
|
65
|
+
[[examples.Segment]]
|
|
66
|
+
class = "primary"
|
|
67
|
+
geometry = "LINESTRING (30.048398 -25.708697, 30.0485458 -25.708892, 30.0487074 -25.7090728, 30.0488875 -25.709252, 30.049138 -25.7094697, 30.0493666 -25.7096603, 30.0497209 -25.7099369, 30.0509508 -25.710904, 30.0511567 -25.7110786, 30.0515268 -25.7113855, 30.0518399 -25.711661, 30.052143 -25.7119631, 30.0523513 -25.7121619, 30.0526875 -25.7124827, 30.0531992 -25.7129799, 30.0535874 -25.7133575)"
|
|
68
|
+
id = "621e0a00-9466-4c3f-bb4a-64a83cd7a934"
|
|
69
|
+
subtype = "road"
|
|
70
|
+
theme = "transportation"
|
|
71
|
+
type = "segment"
|
|
72
|
+
version = 4
|
|
73
|
+
|
|
74
|
+
[examples.Segment.bbox]
|
|
75
|
+
xmax = 30.05359
|
|
76
|
+
xmin = 30.048397
|
|
77
|
+
ymax = -25.708696
|
|
78
|
+
ymin = -25.713358
|
|
79
|
+
|
|
80
|
+
[[examples.Segment.sources]]
|
|
81
|
+
dataset = "OpenStreetMap"
|
|
82
|
+
license = "ODbL-1.0"
|
|
83
|
+
property = "/routes"
|
|
84
|
+
record_id = "r1808544@180"
|
|
85
|
+
|
|
86
|
+
[[examples.Segment.sources]]
|
|
87
|
+
dataset = "OpenStreetMap"
|
|
88
|
+
license = "ODbL-1.0"
|
|
89
|
+
property = "/routes"
|
|
90
|
+
record_id = "r1808545@177"
|
|
91
|
+
|
|
92
|
+
[[examples.Segment.sources]]
|
|
93
|
+
dataset = "OpenStreetMap"
|
|
94
|
+
license = "ODbL-1.0"
|
|
95
|
+
property = ""
|
|
96
|
+
record_id = "w338134264@15"
|
|
97
|
+
update_time = "2025-04-21T09:53:35Z"
|
|
98
|
+
|
|
99
|
+
[examples.Segment.names]
|
|
100
|
+
primary = "Vermooten Street"
|
|
101
|
+
|
|
102
|
+
[[examples.Segment.names.rules]]
|
|
103
|
+
value = "Vermooten Street"
|
|
104
|
+
variant = "common"
|
|
105
|
+
|
|
106
|
+
[[examples.Segment.connectors]]
|
|
107
|
+
at = 0.0
|
|
108
|
+
connector_id = "73a46c48-dc5a-4162-b9c8-1643298784c3"
|
|
109
|
+
|
|
110
|
+
[[examples.Segment.connectors]]
|
|
111
|
+
at = 0.154695182
|
|
112
|
+
connector_id = "e81188ed-9b2f-48b4-99f2-d894044d88f5"
|
|
113
|
+
|
|
114
|
+
[[examples.Segment.connectors]]
|
|
115
|
+
at = 0.483463065
|
|
116
|
+
connector_id = "11124794-8830-4aff-bd09-f578d3a196b1"
|
|
117
|
+
|
|
118
|
+
[[examples.Segment.connectors]]
|
|
119
|
+
at = 0.753014135
|
|
120
|
+
connector_id = "cfda5f80-ffe6-4b5c-b219-4f208e0a3832"
|
|
121
|
+
|
|
122
|
+
[[examples.Segment.connectors]]
|
|
123
|
+
at = 1.0
|
|
124
|
+
connector_id = "a5871213-947e-4342-b486-f560f0ac22f3"
|
|
125
|
+
|
|
126
|
+
[[examples.Segment.access_restrictions]]
|
|
127
|
+
access_type = "denied"
|
|
128
|
+
|
|
129
|
+
[examples.Segment.access_restrictions.when]
|
|
130
|
+
|
|
131
|
+
[[examples.Segment.access_restrictions.when.vehicle]]
|
|
132
|
+
comparison = "greater_than"
|
|
133
|
+
dimension = "height"
|
|
134
|
+
unit = "m"
|
|
135
|
+
value = 5.2
|
|
136
|
+
|
|
137
|
+
[[examples.Segment.speed_limits]]
|
|
138
|
+
|
|
139
|
+
[examples.Segment.speed_limits.max_speed]
|
|
140
|
+
unit = "km/h"
|
|
141
|
+
value = 60
|
|
142
|
+
|
|
143
|
+
[examples.Segment.speed_limits.when]
|
|
144
|
+
heading = "forward"
|
|
145
|
+
|
|
146
|
+
[[examples.Segment.road_surface]]
|
|
147
|
+
value = "paved"
|
|
148
|
+
|
|
149
|
+
[[examples.Segment.routes]]
|
|
150
|
+
name = "R33 (northbound)"
|
|
151
|
+
network = "za:regional"
|
|
152
|
+
ref = "R33"
|
|
153
|
+
|
|
154
|
+
[[examples.Segment.routes]]
|
|
155
|
+
name = "R33 (southbound)"
|
|
156
|
+
network = "za:regional"
|
|
157
|
+
ref = "R33"
|
|
158
|
+
|
|
159
|
+
# Rail segment: disused railway, Mpulungu, Zambia (2026-02-18.0)
|
|
160
|
+
[[examples.Segment]]
|
|
161
|
+
class = "unknown"
|
|
162
|
+
geometry = "LINESTRING (30.9844394 -12.7185733, 30.9818611 -12.7207838, 30.9815908 -12.7210751)"
|
|
163
|
+
id = "2a9415ed-fa07-4734-9d8e-1d8ff69451c2"
|
|
164
|
+
subtype = "rail"
|
|
165
|
+
theme = "transportation"
|
|
166
|
+
type = "segment"
|
|
167
|
+
version = 1
|
|
168
|
+
|
|
169
|
+
[examples.Segment.bbox]
|
|
170
|
+
xmax = 30.98444
|
|
171
|
+
xmin = 30.98159
|
|
172
|
+
ymax = -12.718572
|
|
173
|
+
ymin = -12.721077
|
|
174
|
+
|
|
175
|
+
[[examples.Segment.sources]]
|
|
176
|
+
dataset = "OpenStreetMap"
|
|
177
|
+
license = "ODbL-1.0"
|
|
178
|
+
property = ""
|
|
179
|
+
record_id = "w414442537@2"
|
|
180
|
+
update_time = "2026-02-05T14:25:06Z"
|
|
181
|
+
|
|
182
|
+
[[examples.Segment.connectors]]
|
|
183
|
+
at = 0.0
|
|
184
|
+
connector_id = "2da12352-29c5-479e-932f-68fbe90c8229"
|
|
185
|
+
|
|
186
|
+
[[examples.Segment.connectors]]
|
|
187
|
+
at = 0.895049489
|
|
188
|
+
connector_id = "feed87bb-7abf-4254-9e14-efd6bdb3e428"
|
|
189
|
+
|
|
190
|
+
[[examples.Segment.connectors]]
|
|
191
|
+
at = 1.0
|
|
192
|
+
connector_id = "e37ca4ff-ab09-4c84-8d3c-450c703d7308"
|
|
193
|
+
|
|
194
|
+
[[examples.Segment.rail_flags]]
|
|
195
|
+
values = ["is_disused"]
|
overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/__init__.py
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""Transportation theme.
|
|
2
|
+
|
|
3
|
+
Transportation infrastructure including network segments (road, rail, water) and the
|
|
4
|
+
connection points that join them.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
|
|
8
|
+
|
|
9
|
+
from .connector import Connector
|
|
10
|
+
from .segment import (
|
|
11
|
+
AccessRule,
|
|
12
|
+
AccessType,
|
|
13
|
+
ConnectorReference,
|
|
14
|
+
DestinationLabels,
|
|
15
|
+
DestinationLabelType,
|
|
16
|
+
DestinationRule,
|
|
17
|
+
DestinationSignSymbol,
|
|
18
|
+
LevelRule,
|
|
19
|
+
ProhibitedTransitionRule,
|
|
20
|
+
ProhibitedTransitionSequenceEntry,
|
|
21
|
+
RailClass,
|
|
22
|
+
RailFlag,
|
|
23
|
+
RailFlagRule,
|
|
24
|
+
RailSegment,
|
|
25
|
+
RoadClass,
|
|
26
|
+
RoadFlag,
|
|
27
|
+
RoadFlagRule,
|
|
28
|
+
RoadSegment,
|
|
29
|
+
RoadSubclass,
|
|
30
|
+
RoadSubclassRule,
|
|
31
|
+
RoadSurface,
|
|
32
|
+
RoadSurfaceRule,
|
|
33
|
+
RouteReference,
|
|
34
|
+
Segment,
|
|
35
|
+
SegmentSubtype,
|
|
36
|
+
Speed,
|
|
37
|
+
SpeedLimitRule,
|
|
38
|
+
TransportationSegment,
|
|
39
|
+
WaterSegment,
|
|
40
|
+
WidthRule,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
__all__ = [
|
|
44
|
+
"AccessRule",
|
|
45
|
+
"AccessType",
|
|
46
|
+
"Connector",
|
|
47
|
+
"ConnectorReference",
|
|
48
|
+
"DestinationLabelType",
|
|
49
|
+
"DestinationLabels",
|
|
50
|
+
"DestinationRule",
|
|
51
|
+
"DestinationSignSymbol",
|
|
52
|
+
"LevelRule",
|
|
53
|
+
"ProhibitedTransitionRule",
|
|
54
|
+
"ProhibitedTransitionSequenceEntry",
|
|
55
|
+
"RailClass",
|
|
56
|
+
"RailFlag",
|
|
57
|
+
"RailFlagRule",
|
|
58
|
+
"RailSegment",
|
|
59
|
+
"RoadClass",
|
|
60
|
+
"RoadFlag",
|
|
61
|
+
"RoadFlagRule",
|
|
62
|
+
"RoadSegment",
|
|
63
|
+
"RoadSubclass",
|
|
64
|
+
"RoadSubclassRule",
|
|
65
|
+
"RoadSurface",
|
|
66
|
+
"RoadSurfaceRule",
|
|
67
|
+
"RouteReference",
|
|
68
|
+
"Segment",
|
|
69
|
+
"SegmentSubtype",
|
|
70
|
+
"Speed",
|
|
71
|
+
"SpeedLimitRule",
|
|
72
|
+
"TransportationSegment",
|
|
73
|
+
"WaterSegment",
|
|
74
|
+
"WidthRule",
|
|
75
|
+
]
|
overture_schema_theme_transportation-0.1.1.dev0/src/overture/schema/transportation/connector.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Connector feature models for Overture Maps transportation theme."""
|
|
2
|
+
|
|
3
|
+
from typing import Annotated, Literal
|
|
4
|
+
|
|
5
|
+
from pydantic import ConfigDict, Field
|
|
6
|
+
|
|
7
|
+
from overture.schema.common import (
|
|
8
|
+
OvertureFeature,
|
|
9
|
+
)
|
|
10
|
+
from overture.schema.system.geometric import (
|
|
11
|
+
Geometry,
|
|
12
|
+
GeometryType,
|
|
13
|
+
GeometryTypeConstraint,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Connector(OvertureFeature[Literal["transportation"], Literal["connector"]]):
|
|
18
|
+
"""Connectors create physical connections between segments.
|
|
19
|
+
|
|
20
|
+
Connectors are compatible with GeoJSON Point features.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
model_config = ConfigDict(title="connector")
|
|
24
|
+
|
|
25
|
+
# Core
|
|
26
|
+
geometry: Annotated[
|
|
27
|
+
Geometry,
|
|
28
|
+
GeometryTypeConstraint(GeometryType.POINT),
|
|
29
|
+
Field(
|
|
30
|
+
description="Position of the connector",
|
|
31
|
+
),
|
|
32
|
+
]
|
|
File without changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"""Transportation segment feature."""
|
|
2
|
+
|
|
3
|
+
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
|
|
4
|
+
|
|
5
|
+
from typing import Annotated
|
|
6
|
+
|
|
7
|
+
from pydantic import Field, Tag
|
|
8
|
+
|
|
9
|
+
from overture.schema.system.feature import Feature
|
|
10
|
+
|
|
11
|
+
from ._common import (
|
|
12
|
+
AccessRule,
|
|
13
|
+
AccessType,
|
|
14
|
+
ConnectorReference,
|
|
15
|
+
LevelRule,
|
|
16
|
+
ProhibitedTransitionRule,
|
|
17
|
+
ProhibitedTransitionSequenceEntry,
|
|
18
|
+
SegmentSubtype,
|
|
19
|
+
Speed,
|
|
20
|
+
SpeedLimitRule,
|
|
21
|
+
TransportationSegment,
|
|
22
|
+
WidthRule,
|
|
23
|
+
)
|
|
24
|
+
from .rail import RailClass, RailFlag, RailFlagRule, RailSegment
|
|
25
|
+
from .road import (
|
|
26
|
+
DestinationLabels,
|
|
27
|
+
DestinationLabelType,
|
|
28
|
+
DestinationRule,
|
|
29
|
+
DestinationSignSymbol,
|
|
30
|
+
RoadClass,
|
|
31
|
+
RoadFlag,
|
|
32
|
+
RoadFlagRule,
|
|
33
|
+
RoadSegment,
|
|
34
|
+
RoadSubclass,
|
|
35
|
+
RoadSubclassRule,
|
|
36
|
+
RoadSurface,
|
|
37
|
+
RoadSurfaceRule,
|
|
38
|
+
RouteReference,
|
|
39
|
+
)
|
|
40
|
+
from .water import WaterSegment
|
|
41
|
+
|
|
42
|
+
# The public `Segment` type: a discriminated union over the three subtype models, keyed on the
|
|
43
|
+
# `subtype` field. Assembled here because it depends on the subtype classes imported above.
|
|
44
|
+
Segment = Annotated[
|
|
45
|
+
Annotated[RoadSegment, Tag(SegmentSubtype.ROAD)]
|
|
46
|
+
| Annotated[RailSegment, Tag(SegmentSubtype.RAIL)]
|
|
47
|
+
| Annotated[WaterSegment, Tag(SegmentSubtype.WATER)],
|
|
48
|
+
Field(
|
|
49
|
+
discriminator=Feature.field_discriminator(
|
|
50
|
+
"subtype", RoadSegment, RailSegment, WaterSegment
|
|
51
|
+
)
|
|
52
|
+
),
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
# Explicitly assign docstring to the Segment type alias
|
|
56
|
+
Segment.__doc__ = """Transportation segment model representing linear travel infrastructure.
|
|
57
|
+
|
|
58
|
+
Encompasses road, rail, and water transportation segments. Models linear features that enable
|
|
59
|
+
movement of people, goods, and vehicles through structured networks. Each segment type provides
|
|
60
|
+
specialized attributes for its respective transportation mode.
|
|
61
|
+
|
|
62
|
+
Supports routing, mapping, navigation, and transportation network analysis through rich geometric
|
|
63
|
+
and attribute data.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
__all__ = [
|
|
67
|
+
"AccessRule",
|
|
68
|
+
"AccessType",
|
|
69
|
+
"ConnectorReference",
|
|
70
|
+
"DestinationLabelType",
|
|
71
|
+
"DestinationLabels",
|
|
72
|
+
"DestinationRule",
|
|
73
|
+
"DestinationSignSymbol",
|
|
74
|
+
"LevelRule",
|
|
75
|
+
"ProhibitedTransitionRule",
|
|
76
|
+
"ProhibitedTransitionSequenceEntry",
|
|
77
|
+
"RailClass",
|
|
78
|
+
"RailFlag",
|
|
79
|
+
"RailFlagRule",
|
|
80
|
+
"RailSegment",
|
|
81
|
+
"RoadClass",
|
|
82
|
+
"RoadFlag",
|
|
83
|
+
"RoadFlagRule",
|
|
84
|
+
"RoadSegment",
|
|
85
|
+
"RoadSubclass",
|
|
86
|
+
"RoadSubclassRule",
|
|
87
|
+
"RoadSurface",
|
|
88
|
+
"RoadSurfaceRule",
|
|
89
|
+
"RouteReference",
|
|
90
|
+
"Segment",
|
|
91
|
+
"SegmentSubtype",
|
|
92
|
+
"Speed",
|
|
93
|
+
"SpeedLimitRule",
|
|
94
|
+
"TransportationSegment",
|
|
95
|
+
"WaterSegment",
|
|
96
|
+
"WidthRule",
|
|
97
|
+
]
|