poliastro.core.spheroid_location

Low level calculations for oblate spheroid locations

Module Contents

Functions

cartesian_cords(_a, _c, _lon, _lat, _h)

Calculates cartesian coordinates.

f(_a, _c)

Get first flattening.

N(a, b, c, cartesian_cords)

Normal vector of the ellipsoid at the given location.

tangential_vecs(N)

Returns orthonormal vectors tangential to the ellipsoid at the given location.

radius_of_curvature(_a, _c, _lat)

Radius of curvature of the meridian at the latitude of the given location.

distance(cartesian_cords, px, py, pz)

Calculates the distance from an arbitrary point to the given location (Cartesian coordinates).

is_visible(cartesian_cords, px, py, pz, N)

Determine whether an object located at a given point is visible from the given location.

cartesian_to_ellipsoidal(_a, _c, x, y, z)

Converts cartesian coordinates to ellipsoidal coordinates for the given ellipsoid.

poliastro.core.spheroid_location.cartesian_cords(_a, _c, _lon, _lat, _h)

Calculates cartesian coordinates.

Parameters
  • _a (float) – Semi-major axis

  • _c (float) – Semi-minor axis

  • _lon (float) – Geodetic longitude

  • _lat (float) – Geodetic latitude

  • _h (float) – Geodetic height

poliastro.core.spheroid_location.f(_a, _c)

Get first flattening.

Parameters
  • _a (float) – Semi-major axis

  • _c (float) – Semi-minor axis

poliastro.core.spheroid_location.N(a, b, c, cartesian_cords)

Normal vector of the ellipsoid at the given location.

Parameters
  • a (float) – Semi-major axis

  • b (float) – Equatorial radius

  • c (float) – Semi-minor axis

  • cartesian_cords (numpy.ndarray) – Cartesian coordinates

poliastro.core.spheroid_location.tangential_vecs(N)

Returns orthonormal vectors tangential to the ellipsoid at the given location.

Parameters

N (numpy.ndarray) – Normal vector of the ellipsoid

poliastro.core.spheroid_location.radius_of_curvature(_a, _c, _lat)

Radius of curvature of the meridian at the latitude of the given location.

Parameters
  • _a (float) – Semi-major axis

  • _c (float) – Semi-minor axis

  • _lat (float) – Geodetic latitude

poliastro.core.spheroid_location.distance(cartesian_cords, px, py, pz)

Calculates the distance from an arbitrary point to the given location (Cartesian coordinates).

Parameters
  • cartesian_cords (numpy.ndarray) – Cartesian coordinates

  • px (float) – x-coordinate of the point

  • py (float) – y-coordinate of the point

  • pz (float) – z-coordinate of the point

poliastro.core.spheroid_location.is_visible(cartesian_cords, px, py, pz, N)

Determine whether an object located at a given point is visible from the given location.

Parameters
  • cartesian_cords (numpy.ndarray) – Cartesian coordinates

  • px (float) – x-coordinate of the point

  • py (float) – y-coordinate of the point

  • pz (float) – z-coordinate of the point

  • N (numpy.ndarray) – Normal vector of the ellipsoid at the given location.

poliastro.core.spheroid_location.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

Parameters
  • _a (float) – Semi-major axis

  • _c (float) – Semi-minor axis

  • x (float) – x coordinate

  • y (float) – y coordinate

  • z (float) – z coordinate