boinor.core.spheroid_location ============================= .. py:module:: boinor.core.spheroid_location .. autoapi-nested-parse:: Low level calculations for oblate spheroid locations. Functions --------- .. autoapisummary:: boinor.core.spheroid_location.cartesian_cords boinor.core.spheroid_location.f boinor.core.spheroid_location.N boinor.core.spheroid_location.tangential_vecs boinor.core.spheroid_location.radius_of_curvature boinor.core.spheroid_location.distance boinor.core.spheroid_location.is_visible boinor.core.spheroid_location.cartesian_to_ellipsoidal Module Contents --------------- .. py:function:: cartesian_cords(a, c, lon, lat, h) Calculates cartesian coordinates. :param a: Semi-major axis :type a: float :param c: Semi-minor axis :type c: float :param lon: Geodetic longitude :type lon: float :param lat: Geodetic latitude :type lat: float :param h: Geodetic height :type h: float .. py:function:: f(a, c) Get first flattening. :param a: Semi-major axis :type a: float :param c: Semi-minor axis :type c: float .. py:function:: N(a, b, c, cartesian_cords) Normal vector of the ellipsoid at the given location. :param a: Semi-major axis :type a: float :param b: Equatorial radius :type b: float :param c: Semi-minor axis :type c: float :param cartesian_cords: Cartesian coordinates :type cartesian_cords: numpy.ndarray .. py:function:: tangential_vecs(N) Returns orthonormal vectors tangential to the ellipsoid at the given location. :param N: Normal vector of the ellipsoid :type N: numpy.ndarray .. py:function:: radius_of_curvature(a, c, lat) Radius of curvature of the meridian at the latitude of the given location. :param a: Semi-major axis :type a: float :param c: Semi-minor axis :type c: float :param lat: Geodetic latitude :type lat: float .. py:function:: distance(cartesian_cords, px, py, pz) Calculates the distance from an arbitrary point to the given location (Cartesian coordinates). :param cartesian_cords: Cartesian coordinates :type cartesian_cords: numpy.ndarray :param px: x-coordinate of the point :type px: float :param py: y-coordinate of the point :type py: float :param pz: z-coordinate of the point :type pz: float .. py:function:: is_visible(cartesian_cords, px, py, pz, N) Determine whether an object located at a given point is visible from the given location. :param cartesian_cords: Cartesian coordinates :type cartesian_cords: numpy.ndarray :param px: x-coordinate of the point :type px: float :param py: y-coordinate of the point :type py: float :param pz: z-coordinate of the point :type pz: float :param N: Normal vector of the ellipsoid at the given location. :type N: numpy.ndarray .. py:function:: cartesian_to_ellipsoidal(a, c, x, y, z) Converts cartesian coordinates to ellipsoidal coordinates for the given ellipsoid. Instead of the iterative formula, the function uses the approximation introduced in Bowring, B. R. (1976). TRANSFORMATION FROM SPATIAL TO GEOGRAPHICAL COORDINATES. :param a: Semi-major axis :type a: float :param c: Semi-minor axis :type c: float :param x: x coordinate :type x: float :param y: y coordinate :type y: float :param z: z coordinate :type z: float