Description
The Geodetic Ephemeris Translation Software is a flight software module that converts geodetic coordinates (latitude, longitude, and altitude) into a standard ephemeris message in the inertial reference frame. This transformation is essential for representing ground-based locations, target coordinates, or any geographically-defined positions within the same coordinate framework used by orbital objects. The module supports both static coordinate inputs and dynamic geodetic message inputs, providing flexibility for various mission scenarios including ground station modelling, target tracking, and geographic reference point definition.
Example Use Cases
- Ground Station Representation: Convert ground station geodetic coordinates to inertial ephemeris for communication link analysis with spacecraft.
- Target Definition: Specify observation targets using familiar latitude/longitude coordinates and convert to ephemeris for pointing calculations.
- Geographic Waypoints: Define mission waypoints in geodetic coordinates for trajectory planning and analysis.
- Coordinate System Bridging: Interface geographic information systems with orbital mechanics tools using a common ephemeris format.
Module Implementation
The Geodetic Ephemeris Translation Software is a Software component that processes geodetic coordinates and planetary state information to produce an ephemeris message in the inertial reference frame.
Input Sources
The module accepts geodetic coordinates from two possible sources:
| Source | Priority | Description |
|---|---|---|
In_GeodeticMsg | Primary | Dynamic geodetic message containing latitude, longitude, and altitude |
| Static Parameters | Secondary | Direct latitude, longitude, and altitude values configured on the module |
If a geodetic message is connected, its values take precedence over the static parameters. This allows the module to operate in both static and dynamic modes.
Input Messages
| Input Message | Type | Description |
|---|---|---|
In_GeodeticMsg | GeodeticMessage | Optional dynamic geodetic coordinates |
In_PlanetStateMsg | PlanetStateMessage | Reference planet state including position, rotation, and radius |
By default, the planet state message is initialised to Earth from the Solar System.
Geodetic Coordinate Definition
Geodetic coordinates specify a location relative to a planetary reference ellipsoid:
| Parameter | Symbol | Units | Description |
|---|---|---|---|
| Latitude | deg | Angle north or south of the equatorial plane | |
| Longitude | deg | Angle east or west of the prime meridian | |
| Altitude | m | Height above the reference surface |
Coordinate Transformation
The transformation from geodetic coordinates to inertial ephemeris proceeds through two stages: conversion to Planet-Centred Planet-Fixed (PCPF) coordinates, then rotation to Planet-Centred Inertial (PCI) coordinates.
Geodetic to PCPF
For a spherical planet with radius , the PCPF position vector is computed from the geodetic elements. First, the radial distance from the planet centre is:
The Cartesian coordinates in the PCPF frame are:
where and are the latitude and longitude converted to radians.
The PCPF position vector is:
PCPF to PCI
The PCPF position is transformed to the Planet-Centred Inertial (PCI) frame by accounting for the planet’s rotation. The rotation matrix transforms vectors from the planet-fixed frame to the inertial frame:
where is the planet’s J2000 rotation angle (Greenwich Sidereal Angle for Earth).
The position in the PCI frame is:
PCI to Inertial
Finally, the planet’s position is added to obtain the position in the solar system inertial frame:
where is the planet’s position relative to the inertial origin.
Velocity Handling
The module does not compute velocity from the geodetic coordinates. The velocity in the output ephemeris message is set to zero:
This is appropriate for static ground locations. For applications requiring velocity due to planetary rotation, additional processing would be needed.
Output Message
The module produces an EphemerisMessage containing:
| Field | Symbol | Units | Description |
|---|---|---|---|
Position_BN_N | m | Position vector in inertial frame | |
Velocity_BN_N | m/s | Velocity vector in inertial frame (zero) |
Update Sequence
At each simulation time step, the module performs the following operations:
- Validate Input: Check that the planet state message is connected; skip update if missing.
- Select Coordinate Source: Use geodetic message values if connected; otherwise use static parameters.
- Create Geodetic Elements: Package latitude, longitude, and altitude into a geodetic elements structure.
- Convert to PCI: Transform geodetic coordinates through PCPF to PCI using the planet’s rotation angle and radius.
- Add Planet Position: Offset the PCI position by the planet’s inertial position to obtain the final ephemeris position.
- Set Zero Velocity: Assign a zero velocity vector to the output ephemeris.
Dynamic vs Static Operation
The module supports two operational modes:
| Mode | Configuration | Behaviour |
|---|---|---|
| Static | In_GeodeticMsg not connected | Uses Latitude, Longitude, Altitude parameters directly |
| Dynamic | In_GeodeticMsg connected | Reads coordinates from the geodetic message each update |
In dynamic mode, the geodetic message can be updated by other software modules, enabling time-varying geographic positions to be converted to ephemeris format.
Assumptions/Limitations
- The planet is modelled as a sphere with uniform radius; oblate spheroid geometry is not considered.
- Velocity due to planetary rotation is not computed; the output velocity is always zero.
- The geodetic coordinates are assumed to be in degrees for latitude and longitude; radians are converted internally.
- The altitude parameter unit annotation incorrectly shows degrees; it should be interpreted as metres.
- No validation is performed on input coordinate ranges; latitudes outside ±90° or longitudes outside ±180° may produce unexpected results.
- The transformation assumes the planet’s rotation axis is aligned with the -axis of the inertial frame.
- Terrain elevation and geoid undulations are not modelled; altitude is measured from the reference sphere.
- The module defaults to Earth if no planet state message is explicitly connected.
- Static parameters are only used when no geodetic message is connected; partial overrides are not supported.
- The position vector is copied to a new instance to ensure independence from