View Source SpaceDust.State.GeodeticState (Space Dust v0.3.0)
State in geodetic coordinates (latitude, longitude, altitude).
Uses WGS84 ellipsoid for Earth reference. This is the standard representation for ground-based observer locations.
- Latitude: Geodetic latitude in degrees (-90 to +90, positive North)
- Longitude: Geodetic longitude in degrees (-180 to +180, positive East)
- Altitude: Height above WGS84 ellipsoid in kilometers
Summary
Functions
Create geodetic state from an ECEF state. Uses iterative algorithm for accurate conversion.
Get the local sidereal time at the observer's location. Returns LST in radians.
Create a new geodetic state.
Convert geodetic coordinates to ECEF position.
Convert geodetic state to ECI position at a given epoch.
Types
Functions
@spec from_ecef(SpaceDust.State.ECEFState.t()) :: t()
Create geodetic state from an ECEF state. Uses iterative algorithm for accurate conversion.
@spec local_sidereal_time(t(), DateTime.t()) :: float()
Get the local sidereal time at the observer's location. Returns LST in radians.
Create a new geodetic state.
Parameters
- latitude: Geodetic latitude in degrees (-90 to +90)
- longitude: Geodetic longitude in degrees (-180 to +180)
- altitude: Height above WGS84 ellipsoid in kilometers
Example
iex> SpaceDust.State.GeodeticState.new(40.0, -105.0, 1.6)
@spec to_ecef(t(), DateTime.t()) :: SpaceDust.State.ECEFState.t()
Convert geodetic coordinates to ECEF position.
Returns an ECEF position vector {x, y, z} in kilometers. Velocity is set to zero (stationary observer).
@spec to_eci(t(), DateTime.t()) :: SpaceDust.State.ECIState.t()
Convert geodetic state to ECI position at a given epoch.