Geodetic¶
Geodetic (WGS84 ellipsoid) coordinate transformations.
Converts between geodetic coordinates [longitude, latitude, altitude]
and Earth-Centered Earth-Fixed (ECEF) Cartesian coordinates [x, y, z].
The geodetic model uses the WGS84 reference ellipsoid, which accounts for
Earth's oblateness. The forward transformation is closed-form; the inverse
uses Bowring's iterative method implemented with jax.lax.while_loop
for JAX traceability.
All inputs and outputs use SI base units (metres, radians).
References
- NIMA Technical Report TR8350.2, Department of Defense World Geodetic System 1984.
- O. Montenbruck and E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2012, Sec. 5.3.
position_ecef_to_geodetic(x_ecef, use_degrees=False)
¶
Convert ECEF Cartesian coordinates to geodetic position.
Uses Bowring's iterative method with convergence controlled by
jax.lax.while_loop (max 10 iterations). The convergence
threshold is scaled to the configured float dtype precision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_ecef
|
ArrayLike
|
ECEF position |
required |
use_degrees
|
bool
|
If |
False
|
Returns:
| Type | Description |
|---|---|
Array
|
Geodetic coordinates |
Examples:
position_geodetic_to_ecef(x_geod, use_degrees=False)
¶
Convert geodetic position to ECEF Cartesian coordinates.
Uses the WGS84 prime vertical radius of curvature:
.. math::
N = \frac{a}{\sqrt{1 - e^2 \sin^2 \phi}}
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_geod
|
ArrayLike
|
Geodetic coordinates |
required |
use_degrees
|
bool
|
If |
False
|
Returns:
| Type | Description |
|---|---|
Array
|
ECEF position |
Examples: