EphCore.Ephemeris.Kernels.SPK.Type2 (eph_core v0.1.0)

Copy Markdown View Source

SPK Type 2 (Chebyshev position) parsing helpers.

Summary

Types

record()

@type record() :: %{
  mid: float(),
  radius: float(),
  coeff_x: [float()],
  coeff_y: [float()],
  coeff_z: [float()]
}

t()

@type t() :: %EphCore.Ephemeris.Kernels.SPK.Type2{
  init: float(),
  intlen: float(),
  n: integer(),
  rsize: integer()
}

Functions

find_record_index(type2, epoch)

@spec find_record_index(t(), float()) :: integer()

parse_all_records(file, segment, type2, endian)

@spec parse_all_records(
  File.io_device(),
  EphCore.Ephemeris.Kernels.SPK.Segment.t(),
  t(),
  :little | :big
) :: {:ok, [record()]} | {:error, term()}

parse_directory(file, segment, endian)

@spec parse_directory(
  File.io_device(),
  EphCore.Ephemeris.Kernels.SPK.Segment.t(),
  :little | :big
) ::
  {:ok, t()} | {:error, term()}

parse_record(file, segment, type2, index, endian)

@spec parse_record(
  File.io_device(),
  EphCore.Ephemeris.Kernels.SPK.Segment.t(),
  t(),
  integer(),
  :little | :big
) :: {:ok, record()} | {:error, term()}