Sidereon.GNSS.PreciseEphemeris.InterpolantArtifact (Sidereon v0.30.0)

Copy Markdown View Source

Opened precise-ephemeris interpolant artifact.

Artifact bytes are produced by the core precise-interpolant store writer and can be reopened without reparsing the original SP3 product. This module gives that artifact path a named public struct while delegating all native work to Sidereon.GNSS.PreciseEphemeris.Interpolant.

Summary

Types

t()

Opened precise-interpolant artifact handle.

Functions

Build canonical artifact bytes from an SP3 product, an interpolant, or an opened artifact.

Return the artifact bytes backing this opened handle.

Return the artifact byte length.

Return the artifact checksum for bytes, an interpolant, or an opened artifact.

Read artifact bytes from disk and open them.

Open precise-interpolant artifact bytes into a named artifact handle.

Return the satellite ids available in the artifact.

Evaluate states for parallel satellite and epoch arrays.

Evaluate states for many satellites at one shared J2000-second epoch.

Return the source time-scale abbreviation, such as "GPST".

Return the underlying interpolant handle for APIs that accept interpolant sources.

Types

source()

t()

@type t() :: %Sidereon.GNSS.PreciseEphemeris.InterpolantArtifact{
  interpolant: Sidereon.GNSS.PreciseEphemeris.Interpolant.t()
}

Opened precise-interpolant artifact handle.

Functions

artifact_bytes(source)

@spec artifact_bytes(
  Sidereon.GNSS.SP3.t()
  | Sidereon.GNSS.PreciseEphemeris.Interpolant.t()
  | t()
) ::
  {:ok, binary()} | {:error, term()}

Build canonical artifact bytes from an SP3 product, an interpolant, or an opened artifact.

as_bytes(interpolant_artifact)

@spec as_bytes(t()) :: {:ok, binary()} | {:error, term()}

Return the artifact bytes backing this opened handle.

byte_len(interpolant_artifact)

@spec byte_len(t()) :: {:ok, non_neg_integer()} | {:error, term()}

Return the artifact byte length.

checksum64(source)

@spec checksum64(source()) :: {:ok, non_neg_integer()} | {:error, term()}

Alias for checksum/1.

checksum(source)

@spec checksum(source()) :: {:ok, non_neg_integer()} | {:error, term()}

Return the artifact checksum for bytes, an interpolant, or an opened artifact.

from_bytes(bytes)

@spec from_bytes(binary()) :: {:ok, t()} | {:error, term()}

Alias for open/1.

from_path(path)

@spec from_path(String.t()) :: {:ok, t()} | {:error, term()}

Read artifact bytes from disk and open them.

open(bytes)

@spec open(binary()) :: {:ok, t()} | {:error, term()}

Open precise-interpolant artifact bytes into a named artifact handle.

satellite_ids(interpolant_artifact)

@spec satellite_ids(t()) :: [String.t()]

Return the satellite ids available in the artifact.

satellites(artifact)

@spec satellites(t()) :: [String.t()]

Alias for satellite_ids/1.

states_at_j2000_s(interpolant_artifact, satellites, epochs_j2000_s)

@spec states_at_j2000_s(t(), [String.t()], [number()]) ::
  {:ok, Sidereon.GNSS.PreciseEphemeris.StateBatch.t()} | {:error, term()}

Evaluate states for parallel satellite and epoch arrays.

states_at_shared_j2000_s(interpolant_artifact, satellites, epoch_j2000_s)

@spec states_at_shared_j2000_s(t(), [String.t()], number()) ::
  {:ok, Sidereon.GNSS.PreciseEphemeris.StateBatch.t()} | {:error, term()}

Evaluate states for many satellites at one shared J2000-second epoch.

time_scale(interpolant_artifact)

@spec time_scale(t()) :: String.t()

Return the source time-scale abbreviation, such as "GPST".

to_interpolant(interpolant_artifact)

@spec to_interpolant(t()) :: Sidereon.GNSS.PreciseEphemeris.Interpolant.t()

Return the underlying interpolant handle for APIs that accept interpolant sources.