enu#

Ellipsoid.enu(self, lat: double | ndarray[double], lon: double | ndarray[double]) ndarray[ENU_dtype]#

Compute the local East–North–Up (ENU) unit‐vector frame on the ellipsoid surface.

Given a scalar or 1-D array of geodetic latitudes φ and longitudes λ (in radians, SI), return the corresponding ENU basis (u_east, u_north, u_up) at each surface point.

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

Geodetic latitude(s) \(\phi\) in radians on the reference ellipsoid.

lonfloat or ndarray of float, shape (N,)

Geodetic longitude(s) \(\lambda\) in radians on the reference ellipsoid.

Returns:
enundarray of ENU_dtype, shape (N,)

Structured array of ENU unit vectors. Each element has fields

  • u_east : double[3] East unit‐vector components [x, y, z].

  • u_north : double[3] North unit‐vector components [x, y, z].

  • u_up : double[3] Up (radial) unit‐vector components [x, y, z].

Raises:
AssertionError

If lat and lon are not both 1-D arrays of the same length.

See also

c_enu

Core C implementation (nogil) computing a single ENU_Frame.

Notes

  • Dispatches to the low-level C routine c_get_ENU for each point, releasing the GIL.

  • Scalars are automatically wrapped into length-1 arrays.