CelestialBody

class CelestialBody

Represents a celestial body (such as a planet or moon). See bodies.

name

The name of the body.

Attribute:Read-only, cannot be set
Return type:str
Game Scenes:All
satellites

A list of celestial bodies that are in orbit around this celestial body.

Attribute:Read-only, cannot be set
Return type:list(CelestialBody)
Game Scenes:All
orbit

The orbit of the body.

Attribute:Read-only, cannot be set
Return type:Orbit
Game Scenes:All
mass

The mass of the body, in kilograms.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
gravitational_parameter

The standard gravitational parameter of the body in \(m^3s^{-2}\).

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
surface_gravity

The acceleration due to gravity at sea level (mean altitude) on the body, in \(m/s^2\).

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
rotational_period

The sidereal rotational period of the body, in seconds.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
rotational_speed

The rotational speed of the body, in radians per second.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
rotation_angle

The current rotation angle of the body, in radians. A value between 0 and \(2\pi\)

Attribute:Read-only, cannot be set
Return type:double
Game Scenes:All
initial_rotation

The initial rotation angle of the body (at UT 0), in radians. A value between 0 and \(2\pi\)

Attribute:Read-only, cannot be set
Return type:double
Game Scenes:All
equatorial_radius

The equatorial radius of the body, in meters.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
surface_height(latitude, longitude)

The height of the surface relative to mean sea level, in meters, at the given position. When over water this is equal to 0.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
Return type:

double

Game Scenes:

All

bedrock_height(latitude, longitude)

The height of the surface relative to mean sea level, in meters, at the given position. When over water, this is the height of the sea-bed and is therefore negative value.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
Return type:

double

Game Scenes:

All

msl_position(latitude, longitude, reference_frame)

The position at mean sea level at the given latitude and longitude, in the given reference frame.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
  • reference_frame (ReferenceFrame) – Reference frame for the returned position vector.
Returns:

Position as a vector.

Return type:

tuple(double, double, double)

Game Scenes:

All

surface_position(latitude, longitude, reference_frame)

The position of the surface at the given latitude and longitude, in the given reference frame. When over water, this is the position of the surface of the water.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
  • reference_frame (ReferenceFrame) – Reference frame for the returned position vector.
Returns:

Position as a vector.

Return type:

tuple(double, double, double)

Game Scenes:

All

bedrock_position(latitude, longitude, reference_frame)

The position of the surface at the given latitude and longitude, in the given reference frame. When over water, this is the position at the bottom of the sea-bed.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
  • reference_frame (ReferenceFrame) – Reference frame for the returned position vector.
Returns:

Position as a vector.

Return type:

tuple(double, double, double)

Game Scenes:

All

position_at_altitude(latitude, longitude, altitude, reference_frame)

The position at the given latitude, longitude and altitude, in the given reference frame.

Parameters:
  • latitude (double) – Latitude in degrees.
  • longitude (double) – Longitude in degrees.
  • altitude (double) – Altitude in meters above sea level.
  • reference_frame (ReferenceFrame) – Reference frame for the returned position vector.
Returns:

Position as a vector.

Return type:

tuple(double, double, double)

Game Scenes:

All

altitude_at_position(position, reference_frame)

The altitude, in meters, of the given position in the given reference frame.

Parameters:
  • position (tuple) – Position as a vector.
  • reference_frame (ReferenceFrame) – Reference frame for the position vector.
Return type:

double

Game Scenes:

All

latitude_at_position(position, reference_frame)

The latitude of the given position, in the given reference frame.

Parameters:
  • position (tuple) – Position as a vector.
  • reference_frame (ReferenceFrame) – Reference frame for the position vector.
Return type:

double

Game Scenes:

All

longitude_at_position(position, reference_frame)

The longitude of the given position, in the given reference frame.

Parameters:
  • position (tuple) – Position as a vector.
  • reference_frame (ReferenceFrame) – Reference frame for the position vector.
Return type:

double

Game Scenes:

All

sphere_of_influence

The radius of the sphere of influence of the body, in meters.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
has_atmosphere

True if the body has an atmosphere.

Attribute:Read-only, cannot be set
Return type:bool
Game Scenes:All
atmosphere_depth

The depth of the atmosphere, in meters.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
atmospheric_density_at_position(position, reference_frame)

The atmospheric density at the given position, in \(kg/m^3\), in the given reference frame.

Parameters:
  • position (tuple) – The position vector at which to measure the density.
  • reference_frame (ReferenceFrame) – Reference frame that the position vector is in.
Return type:

double

Game Scenes:

All

has_atmospheric_oxygen

True if there is oxygen in the atmosphere, required for air-breathing engines.

Attribute:Read-only, cannot be set
Return type:bool
Game Scenes:All
temperature_at(position, reference_frame)

The temperature on the body at the given position, in the given reference frame.

Parameters:
  • position (tuple) – Position as a vector.
  • reference_frame (ReferenceFrame) – The reference frame that the position is in.
Return type:

double

Game Scenes:

All

Note

This calculation is performed using the bodies current position, which means that the value could be wrong if you want to know the temperature in the far future.

density_at(altitude)

Gets the air density, in \(kg/m^3\), for the specified altitude above sea level, in meters.

Parameters:altitude (double) –
Return type:double
Game Scenes:All

Note

This is an approximation, because actual calculations, taking sun exposure into account to compute air temperature, require us to know the exact point on the body where the density is to be computed (knowing the altitude is not enough). However, the difference is small for high altitudes, so it makes very little difference for trajectory prediction.

pressure_at(altitude)

Gets the air pressure, in Pascals, for the specified altitude above sea level, in meters.

Parameters:altitude (double) –
Return type:double
Game Scenes:All
biomes

The biomes present on this body.

Attribute:Read-only, cannot be set
Return type:set(str)
Game Scenes:All
biome_at(latitude, longitude)

The biome at the given latitude and longitude, in degrees.

Parameters:
  • latitude (double) –
  • longitude (double) –
Return type:

str

Game Scenes:

All

flying_high_altitude_threshold

The altitude, in meters, above which a vessel is considered to be flying “high” when doing science.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
space_high_altitude_threshold

The altitude, in meters, above which a vessel is considered to be in “high” space when doing science.

Attribute:Read-only, cannot be set
Return type:float
Game Scenes:All
reference_frame

The reference frame that is fixed relative to the celestial body.

  • The origin is at the center of the body.
  • The axes rotate with the body.
  • The x-axis points from the center of the body towards the intersection of the prime meridian and equator (the position at 0° longitude, 0° latitude).
  • The y-axis points from the center of the body towards the north pole.
  • The z-axis points from the center of the body towards the equator at 90°E longitude.
Attribute:Read-only, cannot be set
Return type:ReferenceFrame
Game Scenes:All
../../../_images/celestial-body.png

Celestial body reference frame origin and axes. The equator is shown in blue, and the prime meridian in red.

non_rotating_reference_frame

The reference frame that is fixed relative to this celestial body, and orientated in a fixed direction (it does not rotate with the body).

  • The origin is at the center of the body.
  • The axes do not rotate.
  • The x-axis points in an arbitrary direction through the equator.
  • The y-axis points from the center of the body towards the north pole.
  • The z-axis points in an arbitrary direction through the equator.
Attribute:Read-only, cannot be set
Return type:ReferenceFrame
Game Scenes:All
orbital_reference_frame

The reference frame that is fixed relative to this celestial body, but orientated with the body’s orbital prograde/normal/radial directions.

  • The origin is at the center of the body.
  • The axes rotate with the orbital prograde/normal/radial directions.
  • The x-axis points in the orbital anti-radial direction.
  • The y-axis points in the orbital prograde direction.
  • The z-axis points in the orbital normal direction.
Attribute:Read-only, cannot be set
Return type:ReferenceFrame
Game Scenes:All
position(reference_frame)

The position of the center of the body, in the specified reference frame.

Parameters:reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.
Returns:The position as a vector.
Return type:tuple(double, double, double)
Game Scenes:All
velocity(reference_frame)

The linear velocity of the body, in the specified reference frame.

Parameters:reference_frame (ReferenceFrame) – The reference frame that the returned velocity vector is in.
Returns:The velocity as a vector. The vector points in the direction of travel, and its magnitude is the speed of the body in meters per second.
Return type:tuple(double, double, double)
Game Scenes:All
rotation(reference_frame)

The rotation of the body, in the specified reference frame.

Parameters:reference_frame (ReferenceFrame) – The reference frame that the returned rotation is in.
Returns:The rotation as a quaternion of the form \((x, y, z, w)\).
Return type:tuple(double, double, double, double)
Game Scenes:All
direction(reference_frame)

The direction in which the north pole of the celestial body is pointing, in the specified reference frame.

Parameters:reference_frame (ReferenceFrame) – The reference frame that the returned direction is in.
Returns:The direction as a unit vector.
Return type:tuple(double, double, double)
Game Scenes:All
angular_velocity(reference_frame)

The angular velocity of the body in the specified reference frame.

Parameters:reference_frame (ReferenceFrame) – The reference frame the returned angular velocity is in.
Returns:The angular velocity as a vector. The magnitude of the vector is the rotational speed of the body, in radians per second. The direction of the vector indicates the axis of rotation, using the right-hand rule.
Return type:tuple(double, double, double)
Game Scenes:All