pos_from_lla#

Ellipsoid.pos_from_lla(self, lat: double | ndarray[double], lon: double | ndarray[double], alt: double | ndarray[double]) ndarray[double]#

Compute ECEF position vector(s) from geodetic coordinates.

Given a scalar or 1-D arrays of geodetic latitude \(\phi\), longitude \(\lambda\), and altitude \(h\) (in radians and metres, SI), return the corresponding Earth-Centered, Earth-Fixed (ECEF) coordinate(s) \([x, y, z]\).

Parameters:
latfloat or ndarray of float, shape () or (N,)

Geodetic latitude \(\phi\) in radians.

lonfloat or ndarray of float, shape () or (N,)

Geodetic longitude \(\lambda\) in radians.

altfloat or ndarray of float, shape () or (N,)

Altitude \(h\) above the reference ellipsoid in metres.

Returns:
rndarray of float, shape (3,) or (N, 3)

ECEF position vector(s) in metres, where

\[N(\phi) = \]
rac{a}{sqrt{1 - e^2 sin^2phi}}

x = igl(N(phi) + higr)cosphi coslambda

y = igl(N(phi) + higr)cosphi sinlambda

z = Bigl(N(phi),(1 - e^2) + hBigr)sinphi

Raises:
AssertionError

If lat, lon, and alt are not all scalars or 1-D arrays of the same length.

See also

lla_from_pos

Inverse conversion (ECEF → geodetic).

c_pos_from_lla

Core C implementation (nogil) for a single point.

Notes

Dispatches each triplet to the low-level C routine c_pos_from_lla, releasing the GIL for performance.