schemas.py

This file contains a pydantic schema for the StatusPublisher object class in the satellite.py script. It defines the message structure, variables, and their data types. This schema will aid in debugging if your messages are using the wrong data type.

Satellite Status

pydantic settings SatelliteStatus

Show JSON schema
{
   "title": "SatelliteStatus",
   "type": "object",
   "properties": {
      "name": {
         "description": "Satellite name for labeling.",
         "title": "Name",
         "type": "string"
      },
      "geocentric_position": {
         "description": "Position in inertial XYZ coordinates (m)",
         "items": {},
         "title": "Geocentric Position",
         "type": "array"
      },
      "latitude": {
         "description": "Satellite subpoint latitude (degrees)",
         "maximum": 90,
         "minimum": -90,
         "title": "Latitude",
         "type": "number"
      },
      "longitude": {
         "description": "Satellite subpoint longitude (degrees)",
         "maximum": 180,
         "minimum": -180,
         "title": "Longitude",
         "type": "number"
      },
      "altitude": {
         "description": "Satellite altitude above surface of Earth (m)",
         "title": "Altitude",
         "type": "number"
      },
      "velocity": {
         "description": "Velocity in inertial XYZ coordinates (m/s)",
         "items": {},
         "title": "Velocity",
         "type": "array"
      },
      "time": {
         "description": "Time in satellite reference frame",
         "format": "date-time",
         "title": "Time",
         "type": "string"
      }
   },
   "required": [
      "name",
      "geocentric_position",
      "latitude",
      "longitude",
      "altitude",
      "velocity",
      "time"
   ]
}

Fields:
  • altitude (float)

  • geocentric_position (list)

  • latitude (float)

  • longitude (float)

  • name (str)

  • time (datetime.datetime)

  • velocity (list)

field altitude: float [Required]

Satellite altitude above surface of Earth (m)

field geocentric_position: list [Required]

Position in inertial XYZ coordinates (m)

field latitude: float [Required]

Satellite subpoint latitude (degrees)

Constraints:
  • ge = -90

  • le = 90

field longitude: float [Required]

Satellite subpoint longitude (degrees)

Constraints:
  • ge = -180

  • le = 180

field name: str [Required]

Satellite name for labeling.

field time: datetime [Required]

Time in satellite reference frame

field velocity: list [Required]

Velocity in inertial XYZ coordinates (m/s)