aer_coords#

Ellipsoid.aer_coords(self, r_target: ndarray[double], lat_obs: double, lon_obs: double, alt_obs: double) ndarray[AER_dtype]#

Compute azimuth, elevation, and range (AER) from an observer to target point(s).

Given ECEF target position vector(s) and the observer’s geodetic coordinates, return the slant‐range, elevation, and azimuth of each target as seen by the observer.

Parameters:
r_targetfloat or ndarray of float, shape (3,) or (N, 3)

ECEF target position vector(s) [x, y, z] in metres (SI). - If shape is (3,), a single target is converted. - If shape is (N, 3), N targets are converted.

lat_obsfloat

Observer geodetic latitude \(\phi_\text{obs}\) in radians.

lon_obsfloat

Observer geodetic longitude \(\lambda_\text{obs}\) in radians.

alt_obsfloat

Observer altitude \(h_\text{obs}\) above the ellipsoid in metres.

Returns:
aerndarray of AER_dtype, shape (1,) or (N,)

Structured array of AER measurements. Each element has fields:

  • az : float Azimuth \(\alpha\) in radians, measured clockwise from north.

  • el : float Elevation \(\epsilon\) in radians above the local horizon.

  • range : float Slant range \(\rho\) in metres.

Raises:
AssertionError

If r_target is not shape (3,) or (N, 3).

See also

c_aer_coords

Core C implementation (nogil) for a single target.

Notes

Internally dispatches to the low‐level C routine c_aer_coords, releasing the GIL for each point for maximum performance.