View Source SpaceDust.Observations.RaDec (Space Dust v0.3.0)

Right Ascension and Declination observation.

Represents an angular observation in the equatorial coordinate system:

  • Right Ascension (RA): Angle measured eastward along the celestial equator from the vernal equinox, in radians [0, 2π)
  • Declination (Dec): Angle measured north (+) or south (-) from the celestial equator, in radians [-π/2, +π/2]

Optionally includes range (distance) and range rate if available.

Summary

Functions

Convert Dec to degrees/arcmin/arcsec string format.

Create RA/Dec from degrees instead of radians.

Create RA/Dec from hours/minutes/seconds (RA) and degrees/arcmin/arcsec (Dec).

Create a new RA/Dec observation.

Convert RA to hours/minutes/seconds string format.

Convert to degrees. Returns {ra_degrees, dec_degrees}.

Get a formatted string representation.

Types

t()

@type t() :: %SpaceDust.Observations.RaDec{
  declination: float(),
  declination_rate: float() | nil,
  epoch: DateTime.t(),
  range: float() | nil,
  range_rate: float() | nil,
  right_ascension: float(),
  right_ascension_rate: float() | nil
}

Functions

dec_to_dms(ra_dec)

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

Convert Dec to degrees/arcmin/arcsec string format.

from_degrees(epoch, ra_deg, dec_deg, opts \\ [])

@spec from_degrees(DateTime.t(), float(), float(), keyword()) :: t()

Create RA/Dec from degrees instead of radians.

from_hms_dms(epoch, arg1, arg2, opts \\ [])

@spec from_hms_dms(
  DateTime.t(),
  {integer(), integer(), float()},
  {integer(), integer(), float()},
  keyword()
) :: t()

Create RA/Dec from hours/minutes/seconds (RA) and degrees/arcmin/arcsec (Dec).

new(epoch, right_ascension, declination, opts \\ [])

@spec new(DateTime.t(), float(), float(), keyword()) :: t()

Create a new RA/Dec observation.

Parameters

  • epoch: UTC DateTime of the observation
  • right_ascension: Right ascension in radians [0, 2π)
  • declination: Declination in radians [-π/2, +π/2]
  • opts: Optional parameters
    • :range - Distance in kilometers
    • :range_rate - Range rate in km/s
    • :right_ascension_rate - RA rate in rad/s
    • :declination_rate - Dec rate in rad/s

Example

iex> SpaceDust.Observations.RaDec.new(~U[2024-01-01 12:00:00Z], 1.5, 0.3)

ra_to_hms(ra_dec)

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

Convert RA to hours/minutes/seconds string format.

to_degrees(ra_dec)

@spec to_degrees(t()) :: {float(), float()}

Convert to degrees. Returns {ra_degrees, dec_degrees}.

to_string(obs)

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

Get a formatted string representation.