libera_utils.geolocation.sub_observer_point#
- libera_utils.geolocation.sub_observer_point(target: SpiceBody, et: float, frame: SpiceFrame, observer: SpiceBody, *, abcorr: str = 'NONE', method: str = 'NEAR POINT/ELLIPSOID')#
Computes the cartesian coordinates of the sub-observer point at time et and the observer altitude above the point. Units in km.
- Parameters:
target (spice_utils.SpiceBody) – Body on which the sub point will be calculated (usually a planetary body).
et (float or numpy.ndarray) – Ephemeris time of observation.
frame (spice_utils.SpiceFrame) – Reference frame for returned vectors.
observer (spice_utils.SpiceBody) – The object from which to calculate the sub point (e.g. a spacecraft). A-B correction is applied based on the distance between observer and sub observer point.
abcorr (str, Optional) – String delineating what kind of A-B light time correction to perform. Default is ‘NONE’.
method (str, Optional) – String specifying what kind of method to use to find the vector between the observer and the target. Default is NEAR POINT/ELLIPSOID, which uses the nearest point on the ellipsoid rather than drawing a line through the center of the ellipsoid.
- Returns:
Cartesian point on the target body surface in the specified reference frame and also the euclidean distance between the observer and the sub point in order: [x, y, z], obs_alt
- Return type: