Sidereon.OrbitDetermination (Sidereon v0.17.0)

Copy Markdown View Source

Precise orbit fitting and residual ledgers.

Positions supplied through SP3 or precise ephemeris samples are ECEF metres. Fitted initial states are GCRS kilometres and kilometres per second.

Summary

Functions

Fit every satellite declared in a parsed ECEF SP3 product.

Fit one satellite from a precise-ephemeris sample slice.

Fit one satellite from a parsed ECEF SP3 product.

Fit selected satellites from a parsed ECEF SP3 product.

Fit one satellite from a parsed SP3 product.

Types

error_reason()

@type error_reason() ::
  :empty_selection
  | :invalid_option
  | :too_few_samples
  | :non_monotonic_epochs
  | :mixed_timescales
  | :invalid_epoch
  | :invalid_observation
  | :frame
  | :propagation
  | :least_squares
  | :singular_geometry
  | :did_not_converge
  | :rtn_frame
  | term()

satellite_id()

@type satellite_id() ::
  String.t() | {String.t(), pos_integer()} | {atom(), pos_integer()}

Functions

fit_all_sp3_ecef_precise_orbits(sp3, opts \\ [])

@spec fit_all_sp3_ecef_precise_orbits(
  Sidereon.GNSS.SP3.t(),
  keyword()
) ::
  {:ok, Sidereon.OrbitDetermination.OrbitFitReport.t()}
  | {:error, error_reason()}

Fit every satellite declared in a parsed ECEF SP3 product.

fit_precise_ephemeris_sample_orbit(samples, satellite_id, opts \\ [])

@spec fit_precise_ephemeris_sample_orbit(
  [Sidereon.GNSS.PreciseEphemerisSample.t()],
  satellite_id(),
  keyword()
) ::
  {:ok, Sidereon.OrbitDetermination.OrbitFitReport.t()}
  | {:error, error_reason()}

Fit one satellite from a precise-ephemeris sample slice.

fit_sp3_ecef_precise_orbit(sp3, satellite_id, opts \\ [])

@spec fit_sp3_ecef_precise_orbit(Sidereon.GNSS.SP3.t(), satellite_id(), keyword()) ::
  {:ok, Sidereon.OrbitDetermination.OrbitFitReport.t()}
  | {:error, error_reason()}

Fit one satellite from a parsed ECEF SP3 product.

The Earth-orientation provider is supplied by the core side of the binding.

fit_sp3_ecef_precise_orbits(sp3, satellite_ids, opts \\ [])

@spec fit_sp3_ecef_precise_orbits(Sidereon.GNSS.SP3.t(), [satellite_id()], keyword()) ::
  {:ok, Sidereon.OrbitDetermination.OrbitFitReport.t()}
  | {:error, error_reason()}

Fit selected satellites from a parsed ECEF SP3 product.

fit_sp3_precise_orbit(sp3, satellite_id, opts \\ [])

@spec fit_sp3_precise_orbit(Sidereon.GNSS.SP3.t(), satellite_id(), keyword()) ::
  {:ok, Sidereon.OrbitDetermination.OrbitFitReport.t()}
  | {:error, error_reason()}

Fit one satellite from a parsed SP3 product.