Edges

Edges define valid paths (trajectories) between nodes.

Burn

pydantic model spacenet.schemas.Burn[source]

Impulsive propulsive burn triggered at a designated time during a space transport to generate a target change in velocity (delta-V).

Show JSON schema
{
   "title": "Burn",
   "description": "Impulsive propulsive burn triggered at a designated time during a space\ntransport to generate a target change in velocity (delta-V).",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "time": {
         "title": "Time",
         "description": "Time relative to the start of the space transport",
         "type": "number",
         "format": "time-delta"
      },
      "deltaV": {
         "title": "Deltav",
         "description": "Change in velocity (m/s) to be achieved",
         "minimum": 0,
         "type": "number"
      }
   },
   "required": [
      "time",
      "deltaV"
   ]
}

field delta_v: float [Required] (alias 'deltaV')

Change in velocity (m/s) to be achieved

Constraints
  • minimum = 0

field id: UUID [Optional]

Unique identifier

field time: timedelta [Required]

Time relative to the start of the space transport

Space Edge

pydantic model spacenet.schemas.SpaceEdge[source]

An in-space trajectory between two nodes using a propulsive burn sequence.

Show JSON schema
{
   "title": "SpaceEdge",
   "description": "An in-space trajectory between two nodes using a propulsive burn sequence.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Location name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description of this location.",
         "type": "string"
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) located at this location.",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "type": {
         "title": "Type",
         "description": "Edge type",
         "default": "Space Edge",
         "enum": [
            "Space Edge"
         ],
         "type": "string"
      },
      "origin": {
         "title": "Origin Node",
         "description": "Origin node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "destination": {
         "title": "Destination Node",
         "description": "Destination node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "duration": {
         "title": "Duration",
         "description": "Duration of space edge",
         "type": "number",
         "format": "time-delta"
      },
      "burns": {
         "title": "Burns",
         "description": "List of propulsive burns required to traverse the edge",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Burn"
         }
      }
   },
   "required": [
      "name",
      "origin",
      "destination",
      "duration"
   ],
   "definitions": {
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      },
      "Burn": {
         "title": "Burn",
         "description": "Impulsive propulsive burn triggered at a designated time during a space\ntransport to generate a target change in velocity (delta-V).",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "time": {
               "title": "Time",
               "description": "Time relative to the start of the space transport",
               "type": "number",
               "format": "time-delta"
            },
            "deltaV": {
               "title": "Deltav",
               "description": "Change in velocity (m/s) to be achieved",
               "minimum": 0,
               "type": "number"
            }
         },
         "required": [
            "time",
            "deltaV"
         ]
      }
   }
}

field burns: List[Burn] = []

List of propulsive burns required to traverse the edge

field contents: List[InstElementUUID] = []

List of elements (by unique identifiers) located at this location.

field description: Optional[str] = None

Short description of this location.

field destination: UUID [Required]

Destination node unique identifier

field duration: timedelta [Required]

Duration of space edge

field id: UUID [Optional]

Unique identifier

field name: str [Required]

Location name

field origin: UUID [Required]

Origin node unique identifier

field type: typing_extensions.Literal[Space Edge] = EdgeType.SPACE

Edge type

Surface Edge

pydantic model spacenet.schemas.SurfaceEdge[source]

Surface trajectory between two surface nodes.

Show JSON schema
{
   "title": "SurfaceEdge",
   "description": "Surface trajectory between two surface nodes.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Location name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description of this location.",
         "type": "string"
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) located at this location.",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "type": {
         "title": "Type",
         "description": "Edge type",
         "default": "Surface Edge",
         "enum": [
            "Surface Edge"
         ],
         "type": "string"
      },
      "origin": {
         "title": "Origin Node",
         "description": "Origin node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "destination": {
         "title": "Destination Node",
         "description": "Destination node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "distance": {
         "title": "Distance",
         "description": "Distance (m) of surface trajectory",
         "minimum": 0,
         "type": "number"
      }
   },
   "required": [
      "name",
      "origin",
      "destination",
      "distance"
   ],
   "definitions": {
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      }
   }
}

field contents: List[InstElementUUID] = []

List of elements (by unique identifiers) located at this location.

field description: Optional[str] = None

Short description of this location.

field destination: UUID [Required]

Destination node unique identifier

field distance: float [Required]

Distance (m) of surface trajectory

Constraints
  • minimum = 0

field id: UUID [Optional]

Unique identifier

field name: str [Required]

Location name

field origin: UUID [Required]

Origin node unique identifier

field type: typing_extensions.Literal[Surface Edge] = EdgeType.SURFACE

Edge type

Flight Edge

pydantic model spacenet.schemas.FlightEdge[source]

A trajectory between two nodes that is known to be feasible for a given cargo (mass) and crew capacity under a specified flight architecture.

Show JSON schema
{
   "title": "FlightEdge",
   "description": "A trajectory between two nodes that is known to be feasible for a given\ncargo (mass) and crew capacity under a specified flight architecture.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Location name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description of this location.",
         "type": "string"
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) located at this location.",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "type": {
         "title": "Type",
         "description": "Edge type",
         "default": "Flight Edge",
         "enum": [
            "Flight Edge"
         ],
         "type": "string"
      },
      "origin": {
         "title": "Origin Node",
         "description": "Origin node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "destination": {
         "title": "Destination Node",
         "description": "Destination node unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "duration": {
         "title": "duration",
         "description": "Duration of traversal between nodes",
         "type": "number",
         "format": "time-delta"
      },
      "maxCrew": {
         "title": "Max Crew",
         "description": "Maximum number of crew to be transported",
         "minimum": 0,
         "type": "integer"
      },
      "maxCargo": {
         "title": "Max Cargo",
         "description": "Maximum cargo (kg) to be transported",
         "minimum": 0,
         "type": "number"
      }
   },
   "required": [
      "name",
      "origin",
      "destination",
      "duration",
      "maxCrew",
      "maxCargo"
   ],
   "definitions": {
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      }
   }
}

field contents: List[InstElementUUID] = []

List of elements (by unique identifiers) located at this location.

field description: Optional[str] = None

Short description of this location.

field destination: UUID [Required]

Destination node unique identifier

field duration: timedelta [Required]

Duration of traversal between nodes

field id: UUID [Optional]

Unique identifier

field max_cargo: float [Required] (alias 'maxCargo')

Maximum cargo (kg) to be transported

Constraints
  • minimum = 0

field max_crew: int [Required] (alias 'maxCrew')

Maximum number of crew to be transported

Constraints
  • minimum = 0

field name: str [Required]

Location name

field origin: UUID [Required]

Origin node unique identifier

field type: typing_extensions.Literal[Flight Edge] = EdgeType.FLIGHT

Edge type