skytracker.models.state.MapState#

class skytracker.models.state.MapState(*, time: datetime, callsign: str, position: tuple[float, float], heading: float | None, model: str | None, altitude: float | None, velocity: float | None)#

Bases: BaseModel

State with elements necessary for map drawing

Properties

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

time

state timestamp

callsign

aircraft callsign

position

latitude/longitude position [deg]

heading

heading [deg]

model

aircraft model ICAO code

altitude

altitude [m]

velocity

horizontal velocity [m/s]

Methods

__init__(**data: Any) None#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

altitude: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Altitude [m]')]#

altitude [m]

Type:

float | None

callsign: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Aircraft callsign')]#

aircraft callsign

Type:

str

heading: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Heading [deg]')]#

heading [deg]

Type:

float | None

model: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, description='Aircraft model ICAO code')]#

aircraft model ICAO code

Type:

str | None

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

position: Annotated[tuple[float, float], FieldInfo(annotation=NoneType, required=True, description='Latitude/longitude position [deg]')]#

latitude/longitude position [deg]

Type:

tuple[float, float]

time: Annotated[datetime, FieldInfo(annotation=NoneType, required=True, description='State timestamp')]#

state timestamp

Type:

datetime

velocity: Annotated[float | None, FieldInfo(annotation=NoneType, required=True, description='Horizontal velocity [m/s]')]#

horizontal velocity [m/s]

Type:

float | None