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_enuCore 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.