ostk.astrodynamics.access.VisibilityCriterion

class VisibilityCriterion

Bases: pybind11_object

A class representing a visibility criterion for accesses between objects.

Methods

as_aer_interval

Casts the visibility criterion to an AERInterval.

as_aer_mask

Casts the visibility criterion to an AERMask.

as_elevation_interval

Casts the visibility criterion to an ElevationInterval.

as_line_of_sight

Casts the visibility criterion to a LineOfSight.

from_aer_interval

Creates a visibility criterion from azimuth, elevation, and range intervals.

from_aer_mask

Creates a visibility criterion from an azimuth-elevation mask and range interval.

from_elevation_interval

Creates a visibility criterion from an elevation interval.

from_line_of_sight

Creates a visibility criterion based on line-of-sight considerations.

is_aer_interval

Checks if the visibility criterion is an AERInterval.

is_aer_mask

Checks if the visibility criterion is an AERMask.

is_elevation_interval

Checks if the visibility criterion is an ElevationInterval.

is_line_of_sight

Checks if the visibility criterion is a LineOfSight.

class AERInterval(
self: ostk.astrodynamics.access.VisibilityCriterion.AERInterval,
azimuth_interval: ostk.mathematics.object.RealInterval,
elevation_interval: ostk.mathematics.object.RealInterval,
range_interval: ostk.mathematics.object.RealInterval,
)

Bases: pybind11_object

An AER interval visibility criterion.

Constructs an AER interval.

Parameters:
  • azimuth_interval (RealInterval) -- Azimuth interval in degrees.

  • elevation_interval (RealInterval) -- Elevation interval in degrees.

  • range_interval (RealInterval) -- Range interval in meters.

property azimuth

Azimuth interval in radians.

Type:

RealInterval

property elevation

Elevation interval in radians.

Type:

RealInterval

is_satisfied(*args, **kwargs)

Overloaded function.

  1. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.AERInterval, aer: ostk.physics.coordinate.spherical.AER) -> bool

    Checks if the given AER satisfies the criterion.

    Args:

    aer (AER): The Azimuth, Elevation, and Range to check.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

  2. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.AERInterval, azimuth: ostk.core.type.Real, elevation: ostk.core.type.Real, range: ostk.core.type.Real) -> bool

    Checks if the given Azimuth, Elevation, and Range values satisfy the criterion.

    Args:

    azimuth (float): Azimuth in radians. elevation (float): Elevation in radians. range (float): Range in meters.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

property range

Range interval in meters.

Type:

RealInterval

class AERMask(
self: ostk.astrodynamics.access.VisibilityCriterion.AERMask,
azimuth_elevation_mask: dict[ostk.core.type.Real, ostk.core.type.Real],
range_interval: ostk.mathematics.object.RealInterval,
)

Bases: pybind11_object

An AER mask visibility criterion.

Constructs an AER mask.

Parameters:
  • azimuth_elevation_mask (dict) -- A map of azimuth angles (degrees) to elevation angles (degrees).

  • range_interval (RealInterval) -- Range interval in meters.

property azimuth_elevation_mask

A map of azimuth angles to elevation angles in radians defining the mask.

Type:

dict

is_satisfied(*args, **kwargs)

Overloaded function.

  1. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.AERMask, aer: ostk.physics.coordinate.spherical.AER) -> bool

    Checks if the given AER satisfies the criterion.

    Args:

    aer (AER): The Azimuth, Elevation, and Range to check.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

  2. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.AERMask, azimuth: ostk.core.type.Real, elevation: ostk.core.type.Real, range: ostk.core.type.Real) -> bool

    Checks if the given Azimuth, Elevation, and Range values satisfy the criterion.

    Args:

    azimuth (float): Azimuth in radians. elevation (float): Elevation in radians. range (float): Range in meters.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

property range

Range interval in meters.

Type:

RealInterval

class ElevationInterval(
self: ostk.astrodynamics.access.VisibilityCriterion.ElevationInterval,
elevation_interval: ostk.mathematics.object.RealInterval,
)

Bases: pybind11_object

An elevation interval visibility criterion.

Constructs an ElevationInterval visibility criterion.

Parameters:

elevation_interval (RealInterval) -- The elevation interval in degrees.

property elevation

Elevation interval in radians.

Type:

RealInterval

is_satisfied(*args, **kwargs)

Overloaded function.

  1. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.ElevationInterval, elevation: ostk.core.type.Real) -> bool

    Checks if the given elevation angle satisfies the criterion.

    Args:

    elevation (float): Elevation angle in radians.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

  2. is_satisfied(self: ostk.astrodynamics.access.VisibilityCriterion.ElevationInterval, elevation: ostk.physics.unit.Angle) -> bool

    Checks if the given elevation angle satisfies the criterion.

    Args:

    elevation (Angle): Elevation angle.

    Returns:

    bool: True if the criterion is satisfied, False otherwise.

class LineOfSight(
self: ostk.astrodynamics.access.VisibilityCriterion.LineOfSight,
environment: ostk.physics.Environment,
)

Bases: pybind11_object

A line-of-sight visibility criterion.

Constructs a LineOfSight visibility criterion.

Parameters:

environment (Environment) -- The environment to consider for line-of-sight calculations.

is_satisfied(
self: ostk.astrodynamics.access.VisibilityCriterion.LineOfSight,
instant: ostk.physics.time.Instant,
from_position_coordinates: numpy.ndarray[numpy.float64[3, 1]],
to_position_coordinates: numpy.ndarray[numpy.float64[3, 1]],
) bool

Checks if the line-of-sight criterion is satisfied between two positions at a given instant.

Parameters:
  • instant (Instant) -- The time at which to perform the check.

  • from_position_coordinates (np.ndarray) -- The position coordinates (in meters) of the observer.

  • to_position_coordinates (np.ndarray) -- The position coordinates (in meters) of the target.

Returns:

True if there is a clear line of sight, False otherwise.

Return type:

bool

as_aer_interval(
self: ostk.astrodynamics.access.VisibilityCriterion,
) ostk.astrodynamics.access.VisibilityCriterion.AERInterval | None

Casts the visibility criterion to an AERInterval.

Returns:

The AERInterval criterion.

Return type:

AERInterval

Raises:

ValueError -- If the criterion is not an AERInterval.

as_aer_mask(
self: ostk.astrodynamics.access.VisibilityCriterion,
) ostk.astrodynamics.access.VisibilityCriterion.AERMask | None

Casts the visibility criterion to an AERMask.

Returns:

The AERMask criterion.

Return type:

AERMask

Raises:

ValueError -- If the criterion is not an AERMask.

as_elevation_interval(
self: ostk.astrodynamics.access.VisibilityCriterion,
) ostk.astrodynamics.access.VisibilityCriterion.ElevationInterval | None

Casts the visibility criterion to an ElevationInterval.

Returns:

The ElevationInterval criterion.

Return type:

ElevationInterval

Raises:

ValueError -- If the criterion is not an ElevationInterval.

as_line_of_sight(
self: ostk.astrodynamics.access.VisibilityCriterion,
) ostk.astrodynamics.access.VisibilityCriterion.LineOfSight | None

Casts the visibility criterion to a LineOfSight.

Returns:

The LineOfSight criterion.

Return type:

LineOfSight

Raises:

ValueError -- If the criterion is not a LineOfSight.

static from_aer_interval(
azimuth_interval: ostk.mathematics.object.RealInterval,
elevation_interval: ostk.mathematics.object.RealInterval,
range_interval: ostk.mathematics.object.RealInterval,
) ostk.astrodynamics.access.VisibilityCriterion

Creates a visibility criterion from azimuth, elevation, and range intervals.

Parameters:
  • azimuth_interval (RealInterval) -- Azimuth interval in degrees.

  • elevation_interval (RealInterval) -- Elevation interval in degrees.

  • range_interval (RealInterval) -- Range interval in meters.

Returns:

The visibility criterion instance.

Return type:

VisibilityCriterion

static from_aer_mask(
azimuth_elevation_mask: dict[ostk.core.type.Real, ostk.core.type.Real],
range_interval: ostk.mathematics.object.RealInterval,
) ostk.astrodynamics.access.VisibilityCriterion

Creates a visibility criterion from an azimuth-elevation mask and range interval.

Parameters:
  • azimuth_elevation_mask (dict) -- A map of azimuth angles (degrees) to elevation angles (degrees).

  • range_interval (RealInterval) -- Range interval in meters.

Returns:

The visibility criterion instance.

Return type:

VisibilityCriterion

static from_elevation_interval(
elevation_interval: ostk.mathematics.object.RealInterval,
) ostk.astrodynamics.access.VisibilityCriterion

Creates a visibility criterion from an elevation interval.

Parameters:

elevation_interval (RealInterval) -- The elevation interval in radians.

Returns:

The visibility criterion instance.

Return type:

VisibilityCriterion

static from_line_of_sight(
environment: ostk.physics.Environment,
) ostk.astrodynamics.access.VisibilityCriterion

Creates a visibility criterion based on line-of-sight considerations.

Parameters:

environment (Environment) -- The environment to consider for line-of-sight calculations.

Returns:

The visibility criterion instance.

Return type:

VisibilityCriterion

is_aer_interval(
self: ostk.astrodynamics.access.VisibilityCriterion,
) bool

Checks if the visibility criterion is an AERInterval.

Returns:

True if it is an AERInterval criterion, False otherwise.

Return type:

bool

is_aer_mask(
self: ostk.astrodynamics.access.VisibilityCriterion,
) bool

Checks if the visibility criterion is an AERMask.

Returns:

True if it is an AERMask criterion, False otherwise.

Return type:

bool

is_elevation_interval(
self: ostk.astrodynamics.access.VisibilityCriterion,
) bool

Checks if the visibility criterion is an ElevationInterval.

Returns:

True if it is an ElevationInterval criterion, False otherwise.

Return type:

bool

is_line_of_sight(
self: ostk.astrodynamics.access.VisibilityCriterion,
) bool

Checks if the visibility criterion is a LineOfSight.

Returns:

True if it is a LineOfSight criterion, False otherwise.

Return type:

bool