overturetoosm.segments
Pydantic models needed for transportation segments.
Partly autogenerated by datamodel-codegen.
1"""Pydantic models needed for transportation segments. 2 3Partly autogenerated by datamodel-codegen. 4""" 5 6from enum import Enum 7from typing import Any, List, Optional, Union 8 9try: 10 from typing import Annotated 11except ImportError: 12 from typing_extensions import Annotated 13 14from pydantic import BaseModel, ConfigDict, Field, RootModel 15 16from .objects import Names, Sources, Wikidata 17 18 19class Subtype(str, Enum): 20 """Model for transportation segment subtype.""" 21 22 road = "road" 23 rail = "rail" 24 water = "water" 25 26 27class AccessType(str, Enum): 28 """Model for transportation segment access type.""" 29 30 allowed = "allowed" 31 denied = "denied" 32 designated = "designated" 33 34 35class Id(RootModel): 36 """Model for transportation segment id. 37 38 A feature ID. This may be an ID associated with the Global Entity Reference System 39 (GERS) if—and-only-if the feature represents an entity that is part of GERS. 40 """ 41 42 root: str 43 44 45class Level(RootModel): 46 """Model for transportation segment level.""" 47 48 root: int = Field(default=0) 49 50 51class LinearlyReferencedPosition(RootModel): 52 """Model for transportation segment linearly referenced position.""" 53 54 root: Annotated[float, Field(strict=True, ge=0.0, le=1.0)] 55 56 57class LinearlyReferencedRange(RootModel): 58 """Model for transportation segment linearly referenced range.""" 59 60 root: Annotated[list, Field(float, min_length=2, max_length=2)] 61 62 63class RoadClass(str, Enum): 64 """Model for transportation segment road class.""" 65 66 motorway = "motorway" 67 primary = "primary" 68 secondary = "secondary" 69 tertiary = "tertiary" 70 residential = "residential" 71 living_street = "living_street" 72 trunk = "trunk" 73 unclassified = "unclassified" 74 service = "service" 75 pedestrian = "pedestrian" 76 footway = "footway" 77 steps = "steps" 78 path = "path" 79 track = "track" 80 cycleway = "cycleway" 81 bridleway = "bridleway" 82 sidewalk = "sidewalk" 83 crosswalk = "crosswalk" 84 parking_aisle = "parking_aisle" 85 driveway = "driveway" 86 alley = "alley" 87 cycle_crossing = "cycle_crossing" 88 unknown = "unknown" 89 90 91class Subclass(str, Enum): 92 """Model for transportation segment subclass.""" 93 94 link = "link" 95 sidewalk = "sidewalk" 96 crosswalk = "crosswalk" 97 parking_aisle = "parking_aisle" 98 driveway = "driveway" 99 alley = "alley" 100 cycle_crossing = "cycle_crossing" 101 102 103class TemporalScopeContainer(BaseModel): 104 """Model for transportation segment temporal scope container.""" 105 106 during: Optional[Any] = None 107 108 109class Heading(str, Enum): 110 """Model for transportation segment heading.""" 111 112 forward = "forward" 113 backward = "backward" 114 115 116class PurposeOfUse(str, Enum): 117 """Model for transportation segment purpose of use.""" 118 119 as_customer = "as_customer" 120 at_destination = "at_destination" 121 to_deliver = "to_deliver" 122 to_farm = "to_farm" 123 for_forestry = "for_forestry" 124 125 126class RecognizedStatus(str, Enum): 127 """Model for transportation segment recognized status.""" 128 129 as_permitted = "as_permitted" 130 as_private = "as_private" 131 as_disabled = "as_disabled" 132 as_employee = "as_employee" 133 as_student = "as_student" 134 135 136class TravelMode(str, Enum): 137 """Model for transportation segment travel mode.""" 138 139 vehicle = "vehicle" 140 motor_vehicle = "motor_vehicle" 141 car = "car" 142 truck = "truck" 143 motorcycle = "motorcycle" 144 foot = "foot" 145 bicycle = "bicycle" 146 bus = "bus" 147 hgv = "hgv" 148 hov = "hov" 149 emergency = "emergency" 150 151 152class VehicleScopeComparison(str, Enum): 153 """Model for transportation segment vehicle scope comparison.""" 154 155 greater_than = "greater_than" 156 greater_than_equal = "greater_than_equal" 157 equal = "equal" 158 less_than = "less_than" 159 less_than_equal = "less_than_equal" 160 161 162class VehicleScopeDimension(str, Enum): 163 """Model for transportation segment vehicle scope dimension.""" 164 165 axle_count = "axle_count" 166 height = "height" 167 length = "length" 168 weight = "weight" 169 width = "width" 170 171 172class LengthUnit(str, Enum): 173 """Model for transportation segment length unit.""" 174 175 in_ = "in" 176 ft = "ft" 177 yd = "yd" 178 mi = "mi" 179 cm = "cm" 180 m = "m" 181 km = "km" 182 183 184class WeightUnit(str, Enum): 185 """Model for transportation segment weight unit.""" 186 187 oz = "oz" 188 lb = "lb" 189 st = "st" 190 lt = "lt" 191 g = "g" 192 kg = "kg" 193 t = "t" 194 195 196class Connector(BaseModel): 197 """Model for transportation segment connector.""" 198 199 connector_id: Id 200 at: LinearlyReferencedPosition 201 202 203class LevelRules(BaseModel): 204 """Model for transportation segment level rules container item.""" 205 206 value: Level 207 between: Optional[LinearlyReferencedRange] = None 208 209 210class Route(BaseModel): 211 """Model for transportation segment route.""" 212 213 name: Optional[str] = Field(description="Full name of the route") 214 network: Optional[str] = Field( 215 description="Name of the highway system this route belongs to" 216 ) 217 ref: Optional[str] = Field(description="Code or number used to reference the route") 218 symbol: Optional[str] = Field(description="URL or description of route signage") 219 wikidata: Optional[Wikidata] = None 220 221 222class Routes(RootModel): 223 """Model for transportation segment routes.""" 224 225 root: List[Route] = Field(description="Routes this segment belongs to.") 226 227 228class HeadingScopeContainer(BaseModel): 229 """Model for transportation segment heading scope container.""" 230 231 heading: Optional[Heading] = None 232 233 234class PurposeOfUseScopeContainer(BaseModel): 235 """Model for transportation segment purpose of use scope container.""" 236 237 using: Optional[List[PurposeOfUse]] = Field(None, min_length=1) 238 239 240class RecognizedStatusScopeContainer(BaseModel): 241 """Model for transportation segment recognized status scope container.""" 242 243 recognized: Optional[List[RecognizedStatus]] = Field(None, min_length=1) 244 245 246class TravelModeScopeContainer(BaseModel): 247 """Model for transportation segment travel mode scope container.""" 248 249 mode: Optional[List[TravelMode]] = Field( 250 None, min_length=1, description="Travel mode(s) to which the rule applies" 251 ) 252 253 254class VehicleScopeUnit(RootModel): 255 """Model for transportation segment vehicle scope unit.""" 256 257 root: Union[LengthUnit, WeightUnit] = Field( 258 description="Parent enum of both length and width for use in vehicle scoping" 259 ) 260 261 262class VehicleItem(BaseModel): 263 """Model for transportation segment vehicle item.""" 264 265 dimension: VehicleScopeDimension 266 comparison: VehicleScopeComparison 267 value: Annotated[float, Field(strict=True, ge=0.0)] 268 unit: Optional[VehicleScopeUnit] = None 269 270 271class VehicleScopeContainer(BaseModel): 272 """Model for transportation segment vehicle scope container.""" 273 274 vehicle: Optional[List[VehicleItem]] = Field( 275 None, min_length=1, description="Vehicle attributes for which the rule applies" 276 ) 277 278 279class When( 280 TemporalScopeContainer, 281 HeadingScopeContainer, 282 PurposeOfUseScopeContainer, 283 RecognizedStatusScopeContainer, 284 TravelModeScopeContainer, 285 VehicleScopeContainer, 286): 287 """Model for transportation segment when.""" 288 289 290class AccessContainer(BaseModel): 291 """Model for transportation segment access container item.""" 292 293 access_type: AccessType 294 when: Optional[When] = None 295 296 297class RoadFlagEnum(str, Enum): 298 """Overture road flag options.""" 299 300 is_bridge = "is_bridge" 301 is_link = "is_link" 302 is_tunnel = "is_tunnel" 303 is_under_construction = "is_under_construction" 304 is_abandoned = "is_abandoned" 305 is_covered = "is_covered" 306 307 308class RoadFlag(BaseModel): 309 """Overture road flag.""" 310 311 values: List[RoadFlagEnum] 312 between: Optional[LinearlyReferencedRange] = None 313 314 315class RoadSurfaceEnum(str, Enum): 316 """Overture road surface options.""" 317 318 unknown = "unknown" 319 paved = "paved" 320 unpaved = "unpaved" 321 gravel = "gravel" 322 dirt = "dirt" 323 paving_stones = "paving_stones" 324 metal = "metal" 325 326 327class RoadSurface(BaseModel): 328 """Overture road surface.""" 329 330 value: RoadSurfaceEnum 331 between: Optional[LinearlyReferencedRange] = None 332 333 334class SpeedUnit(str, Enum): 335 """Overture speed unit options.""" 336 337 kmh = "km/h" 338 mph = "mph" 339 340 341class Speed(BaseModel): 342 """Overture speed.""" 343 344 value: Annotated[int, Field(ge=1, le=350)] 345 unit: Optional[SpeedUnit] = None 346 347 348class SpeedLimit(BaseModel): 349 """Overture speed limit.""" 350 351 min_speed: Optional[Speed] = None 352 max_speed: Speed 353 354 355class Sequence(BaseModel): 356 """Overture sequence.""" 357 358 connector_id: Id 359 segment_id: Id 360 361 362class ProhibitedTransition(BaseModel): 363 """Overture prohibited transition.""" 364 365 sequence: List[Sequence] 366 final_heading: Heading 367 when: When 368 between: Optional[LinearlyReferencedRange] = None 369 370 371class SegmentProperties(BaseModel): 372 """Model for transportation segment properties.""" 373 374 model_config = ConfigDict(extra="forbid") 375 376 version: int = Field( 377 ge=0, 378 description="""Version number of the feature, incremented in each Overture 379 release where the geometry or attributes of this feature changed.""", 380 ) 381 id: Id 382 subtype: Subtype = Field(description="Broad category of transportation segment.") 383 sources: Optional[List[Sources]] = None 384 class_: Optional[RoadClass] = Field(None, alias="class") 385 access_restrictions: Optional[List[AccessContainer]] = Field( 386 None, description="Rules governing access to this road segment or lane" 387 ) 388 level: Optional[Level] = Field( 389 0, description="Z-order of the feature where 0 is visual level" 390 ) 391 level_rules: Optional[List[LevelRules]] = None 392 connector_ids: Optional[List[Id]] = Field( 393 None, min_length=2, description="** DEPRECATED **" 394 ) 395 connectors: Optional[Annotated[List[Connector], Field(min_length=2)]] = Field([]) 396 """ 397 List of connectors which this segment is physically connected to and their relative 398 location. Each connector is a possible routing decision point, meaning it defines a 399 place along the segment in which there is possibility to transition to other 400 segments which share the same connector. 401 """ 402 road_surface: Optional[List[RoadSurface]] = None 403 road_flags: Optional[List[RoadFlag]] = None 404 speed_limits: Optional[List[SpeedLimit]] = None 405 prohibited_transitions: Optional[List[ProhibitedTransition]] = None 406 routes: Optional[Routes] = None 407 names: Optional[Names] = None
20class Subtype(str, Enum): 21 """Model for transportation segment subtype.""" 22 23 road = "road" 24 rail = "rail" 25 water = "water"
Model for transportation segment subtype.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
28class AccessType(str, Enum): 29 """Model for transportation segment access type.""" 30 31 allowed = "allowed" 32 denied = "denied" 33 designated = "designated"
Model for transportation segment access type.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
36class Id(RootModel): 37 """Model for transportation segment id. 38 39 A feature ID. This may be an ID associated with the Global Entity Reference System 40 (GERS) if—and-only-if the feature represents an entity that is part of GERS. 41 """ 42 43 root: str
Model for transportation segment id.
A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
46class Level(RootModel): 47 """Model for transportation segment level.""" 48 49 root: int = Field(default=0)
Model for transportation segment level.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
52class LinearlyReferencedPosition(RootModel): 53 """Model for transportation segment linearly referenced position.""" 54 55 root: Annotated[float, Field(strict=True, ge=0.0, le=1.0)]
Model for transportation segment linearly referenced position.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
58class LinearlyReferencedRange(RootModel): 59 """Model for transportation segment linearly referenced range.""" 60 61 root: Annotated[list, Field(float, min_length=2, max_length=2)]
Model for transportation segment linearly referenced range.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
64class RoadClass(str, Enum): 65 """Model for transportation segment road class.""" 66 67 motorway = "motorway" 68 primary = "primary" 69 secondary = "secondary" 70 tertiary = "tertiary" 71 residential = "residential" 72 living_street = "living_street" 73 trunk = "trunk" 74 unclassified = "unclassified" 75 service = "service" 76 pedestrian = "pedestrian" 77 footway = "footway" 78 steps = "steps" 79 path = "path" 80 track = "track" 81 cycleway = "cycleway" 82 bridleway = "bridleway" 83 sidewalk = "sidewalk" 84 crosswalk = "crosswalk" 85 parking_aisle = "parking_aisle" 86 driveway = "driveway" 87 alley = "alley" 88 cycle_crossing = "cycle_crossing" 89 unknown = "unknown"
Model for transportation segment road class.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
92class Subclass(str, Enum): 93 """Model for transportation segment subclass.""" 94 95 link = "link" 96 sidewalk = "sidewalk" 97 crosswalk = "crosswalk" 98 parking_aisle = "parking_aisle" 99 driveway = "driveway" 100 alley = "alley" 101 cycle_crossing = "cycle_crossing"
Model for transportation segment subclass.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
104class TemporalScopeContainer(BaseModel): 105 """Model for transportation segment temporal scope container.""" 106 107 during: Optional[Any] = None
Model for transportation segment temporal scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
110class Heading(str, Enum): 111 """Model for transportation segment heading.""" 112 113 forward = "forward" 114 backward = "backward"
Model for transportation segment heading.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
117class PurposeOfUse(str, Enum): 118 """Model for transportation segment purpose of use.""" 119 120 as_customer = "as_customer" 121 at_destination = "at_destination" 122 to_deliver = "to_deliver" 123 to_farm = "to_farm" 124 for_forestry = "for_forestry"
Model for transportation segment purpose of use.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
127class RecognizedStatus(str, Enum): 128 """Model for transportation segment recognized status.""" 129 130 as_permitted = "as_permitted" 131 as_private = "as_private" 132 as_disabled = "as_disabled" 133 as_employee = "as_employee" 134 as_student = "as_student"
Model for transportation segment recognized status.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
137class TravelMode(str, Enum): 138 """Model for transportation segment travel mode.""" 139 140 vehicle = "vehicle" 141 motor_vehicle = "motor_vehicle" 142 car = "car" 143 truck = "truck" 144 motorcycle = "motorcycle" 145 foot = "foot" 146 bicycle = "bicycle" 147 bus = "bus" 148 hgv = "hgv" 149 hov = "hov" 150 emergency = "emergency"
Model for transportation segment travel mode.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
153class VehicleScopeComparison(str, Enum): 154 """Model for transportation segment vehicle scope comparison.""" 155 156 greater_than = "greater_than" 157 greater_than_equal = "greater_than_equal" 158 equal = "equal" 159 less_than = "less_than" 160 less_than_equal = "less_than_equal"
Model for transportation segment vehicle scope comparison.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
163class VehicleScopeDimension(str, Enum): 164 """Model for transportation segment vehicle scope dimension.""" 165 166 axle_count = "axle_count" 167 height = "height" 168 length = "length" 169 weight = "weight" 170 width = "width"
Model for transportation segment vehicle scope dimension.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
173class LengthUnit(str, Enum): 174 """Model for transportation segment length unit.""" 175 176 in_ = "in" 177 ft = "ft" 178 yd = "yd" 179 mi = "mi" 180 cm = "cm" 181 m = "m" 182 km = "km"
Model for transportation segment length unit.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
185class WeightUnit(str, Enum): 186 """Model for transportation segment weight unit.""" 187 188 oz = "oz" 189 lb = "lb" 190 st = "st" 191 lt = "lt" 192 g = "g" 193 kg = "kg" 194 t = "t"
Model for transportation segment weight unit.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
197class Connector(BaseModel): 198 """Model for transportation segment connector.""" 199 200 connector_id: Id 201 at: LinearlyReferencedPosition
Model for transportation segment connector.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
204class LevelRules(BaseModel): 205 """Model for transportation segment level rules container item.""" 206 207 value: Level 208 between: Optional[LinearlyReferencedRange] = None
Model for transportation segment level rules container item.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
211class Route(BaseModel): 212 """Model for transportation segment route.""" 213 214 name: Optional[str] = Field(description="Full name of the route") 215 network: Optional[str] = Field( 216 description="Name of the highway system this route belongs to" 217 ) 218 ref: Optional[str] = Field(description="Code or number used to reference the route") 219 symbol: Optional[str] = Field(description="URL or description of route signage") 220 wikidata: Optional[Wikidata] = None
Model for transportation segment route.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
223class Routes(RootModel): 224 """Model for transportation segment routes.""" 225 226 root: List[Route] = Field(description="Routes this segment belongs to.")
Model for transportation segment routes.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
229class HeadingScopeContainer(BaseModel): 230 """Model for transportation segment heading scope container.""" 231 232 heading: Optional[Heading] = None
Model for transportation segment heading scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
235class PurposeOfUseScopeContainer(BaseModel): 236 """Model for transportation segment purpose of use scope container.""" 237 238 using: Optional[List[PurposeOfUse]] = Field(None, min_length=1)
Model for transportation segment purpose of use scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
241class RecognizedStatusScopeContainer(BaseModel): 242 """Model for transportation segment recognized status scope container.""" 243 244 recognized: Optional[List[RecognizedStatus]] = Field(None, min_length=1)
Model for transportation segment recognized status scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
247class TravelModeScopeContainer(BaseModel): 248 """Model for transportation segment travel mode scope container.""" 249 250 mode: Optional[List[TravelMode]] = Field( 251 None, min_length=1, description="Travel mode(s) to which the rule applies" 252 )
Model for transportation segment travel mode scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
255class VehicleScopeUnit(RootModel): 256 """Model for transportation segment vehicle scope unit.""" 257 258 root: Union[LengthUnit, WeightUnit] = Field( 259 description="Parent enum of both length and width for use in vehicle scoping" 260 )
Model for transportation segment vehicle scope unit.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_config
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
- model_fields
- model_computed_fields
263class VehicleItem(BaseModel): 264 """Model for transportation segment vehicle item.""" 265 266 dimension: VehicleScopeDimension 267 comparison: VehicleScopeComparison 268 value: Annotated[float, Field(strict=True, ge=0.0)] 269 unit: Optional[VehicleScopeUnit] = None
Model for transportation segment vehicle item.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
272class VehicleScopeContainer(BaseModel): 273 """Model for transportation segment vehicle scope container.""" 274 275 vehicle: Optional[List[VehicleItem]] = Field( 276 None, min_length=1, description="Vehicle attributes for which the rule applies" 277 )
Model for transportation segment vehicle scope container.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
280class When( 281 TemporalScopeContainer, 282 HeadingScopeContainer, 283 PurposeOfUseScopeContainer, 284 RecognizedStatusScopeContainer, 285 TravelModeScopeContainer, 286 VehicleScopeContainer, 287): 288 """Model for transportation segment when."""
Model for transportation segment when.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
291class AccessContainer(BaseModel): 292 """Model for transportation segment access container item.""" 293 294 access_type: AccessType 295 when: Optional[When] = None
Model for transportation segment access container item.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
298class RoadFlagEnum(str, Enum): 299 """Overture road flag options.""" 300 301 is_bridge = "is_bridge" 302 is_link = "is_link" 303 is_tunnel = "is_tunnel" 304 is_under_construction = "is_under_construction" 305 is_abandoned = "is_abandoned" 306 is_covered = "is_covered"
Overture road flag options.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
309class RoadFlag(BaseModel): 310 """Overture road flag.""" 311 312 values: List[RoadFlagEnum] 313 between: Optional[LinearlyReferencedRange] = None
Overture road flag.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
316class RoadSurfaceEnum(str, Enum): 317 """Overture road surface options.""" 318 319 unknown = "unknown" 320 paved = "paved" 321 unpaved = "unpaved" 322 gravel = "gravel" 323 dirt = "dirt" 324 paving_stones = "paving_stones" 325 metal = "metal"
Overture road surface options.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
328class RoadSurface(BaseModel): 329 """Overture road surface.""" 330 331 value: RoadSurfaceEnum 332 between: Optional[LinearlyReferencedRange] = None
Overture road surface.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
335class SpeedUnit(str, Enum): 336 """Overture speed unit options.""" 337 338 kmh = "km/h" 339 mph = "mph"
Overture speed unit options.
Inherited Members
- enum.Enum
- name
- value
- builtins.str
- encode
- replace
- split
- rsplit
- join
- capitalize
- casefold
- title
- center
- count
- expandtabs
- find
- partition
- index
- ljust
- lower
- lstrip
- rfind
- rindex
- rjust
- rstrip
- rpartition
- splitlines
- strip
- swapcase
- translate
- upper
- startswith
- endswith
- removeprefix
- removesuffix
- isascii
- islower
- isupper
- istitle
- isspace
- isdecimal
- isdigit
- isnumeric
- isalpha
- isalnum
- isidentifier
- isprintable
- zfill
- format
- format_map
- maketrans
342class Speed(BaseModel): 343 """Overture speed.""" 344 345 value: Annotated[int, Field(ge=1, le=350)] 346 unit: Optional[SpeedUnit] = None
Overture speed.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
349class SpeedLimit(BaseModel): 350 """Overture speed limit.""" 351 352 min_speed: Optional[Speed] = None 353 max_speed: Speed
Overture speed limit.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
356class Sequence(BaseModel): 357 """Overture sequence.""" 358 359 connector_id: Id 360 segment_id: Id
Overture sequence.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
363class ProhibitedTransition(BaseModel): 364 """Overture prohibited transition.""" 365 366 sequence: List[Sequence] 367 final_heading: Heading 368 when: When 369 between: Optional[LinearlyReferencedRange] = None
Overture prohibited transition.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs
372class SegmentProperties(BaseModel): 373 """Model for transportation segment properties.""" 374 375 model_config = ConfigDict(extra="forbid") 376 377 version: int = Field( 378 ge=0, 379 description="""Version number of the feature, incremented in each Overture 380 release where the geometry or attributes of this feature changed.""", 381 ) 382 id: Id 383 subtype: Subtype = Field(description="Broad category of transportation segment.") 384 sources: Optional[List[Sources]] = None 385 class_: Optional[RoadClass] = Field(None, alias="class") 386 access_restrictions: Optional[List[AccessContainer]] = Field( 387 None, description="Rules governing access to this road segment or lane" 388 ) 389 level: Optional[Level] = Field( 390 0, description="Z-order of the feature where 0 is visual level" 391 ) 392 level_rules: Optional[List[LevelRules]] = None 393 connector_ids: Optional[List[Id]] = Field( 394 None, min_length=2, description="** DEPRECATED **" 395 ) 396 connectors: Optional[Annotated[List[Connector], Field(min_length=2)]] = Field([]) 397 """ 398 List of connectors which this segment is physically connected to and their relative 399 location. Each connector is a possible routing decision point, meaning it defines a 400 place along the segment in which there is possibility to transition to other 401 segments which share the same connector. 402 """ 403 road_surface: Optional[List[RoadSurface]] = None 404 road_flags: Optional[List[RoadFlag]] = None 405 speed_limits: Optional[List[SpeedLimit]] = None 406 prohibited_transitions: Optional[List[ProhibitedTransition]] = None 407 routes: Optional[Routes] = None 408 names: Optional[Names] = None
Model for transportation segment properties.
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.
Inherited Members
- pydantic.main.BaseModel
- BaseModel
- model_extra
- model_fields_set
- model_construct
- model_copy
- model_dump
- model_dump_json
- model_json_schema
- model_parametrized_name
- model_post_init
- model_rebuild
- model_validate
- model_validate_json
- model_validate_strings
- dict
- json
- parse_obj
- parse_raw
- parse_file
- from_orm
- construct
- copy
- schema
- schema_json
- validate
- update_forward_refs