across.tools.visibility.ephemeris_visibility

Classes

EphemerisVisibility

A class for calculating visibility windows based on ephemeris data and constraints.

Functions

compute_ephemeris_visibility(begin, end, ephemeris, ...)

Compute visibility windows based on ephemeris data and constraints.

Module Contents

class EphemerisVisibility(/, **data)[source]

Bases: across.tools.visibility.base.Visibility

A class for calculating visibility windows based on ephemeris data and constraints. This class extends the base Visibility class to compute visibility periods using ephemeris data and multiple constraints. It processes time series data to determine when specified constraints are met and generates visibility windows accordingly.

Parameters:
  • constraints (ObservatoryConstraints) – List of constraint objects to be evaluated

  • timestamp (Time) – Array of time points for visibility calculations

  • calculated_constraints (dict[str, np.typing.NDArray[np.bool_]]) – Dictionary mapping constraint names to boolean arrays of evaluation results

  • inconstraint (np.typing.NDArray[np.bool_]) – Boolean array indicating combined constraint evaluation results

  • ephemeris (Ephemeris | None) – Ephemeris data object containing spacecraft position/timing information

  • step_size (int) – Time step size in seconds for calculations (60s for high res, 3600s for low res)

get_ephemeris_vis()

Calculates visibility windows based on ephemeris data and constraints

constraint(index)

Determines which constraint is active at a given time index

make_windows(inconstraint)

Generates visibility window objects from boolean constraint data

Notes

The class processes ephemeris data against multiple constraints to determine periods of visibility. It handles both high and low resolution timing and generates windows with start/end times and constraint information.

ephemeris: across.tools.ephemeris.base.Ephemeris = None[source]
constraints: list[across.tools.visibility.constraints.base.ConstraintABC] = None[source]
classmethod normalize_constraints(v)[source]

Normalize single constraint to list.

prepare_data()[source]

Query visibility for given parameters.

Return type:

True if successful, False otherwise.

_compute_timestamp()[source]

Compute timestamp array for visibility calculation.

This method is called to ensure that the timestamp array is set before any visibility calculations are performed.

_merge_computed_values()[source]

Merge computed values from all constraints into the main computed_values attribute.

_find_violated_constraint(constraint, index)[source]

Find which actual constraint is violated at a given index.

For logical constraints (And/Or/Not/Xor), recursively check sub-constraints to find the actual constraint that caused the violation.

Parameters:
Return type:

The ConstraintType of the violated constraint

_constraint(index)[source]

What kind of constraints are in place at a given time index.

Parameters:

index (int) – Index of timestamp to check

Return type:

String indicating what constraint is in place at given time index

compute_ephemeris_visibility(begin, end, ephemeris, constraints, ra=None, dec=None, coordinate=None, step_size=60 * u.s, observatory_name='Observatory', observatory_id=None, min_vis=0)[source]

Compute visibility windows based on ephemeris data and constraints.

Parameters:
  • ra (float | None) – Right Ascension in degrees, if applicable.

  • dec (float | None) – Declination in degrees, if applicable.

  • coordinate (SkyCoord | None) – SkyCoord object representing the position in the sky, if applicable.

  • ephemeris (Ephemeris) – The ephemeris data to use for visibility calculations.

  • constraints (Sequence[ConstraintABC]) – List of constraints to apply for visibility calculations.

  • begin (Time) – Start time for visibility calculation.

  • end (Time) – End time for visibility calculation.

  • step_size (u.Quantity, optional) – Step size for the timestamp array, default is 60 seconds.

  • observatory_name (str, optional) – Name of the observatory for which visibility is calculated, default is “Observatory”.

  • observatory_id (UUID, optional) – Unique identifier for the observatory, if available.

  • min_vis (int, optional) – Minimum visibility time for a window to be considered valid, default is 0 seconds.

Returns:

An instance of EphemerisVisibility with computed visibility windows.

Return type:

EphemerisVisibility