Module pymap3d

PyMap3D provides coordinate transforms and geodesy functions with a similar API to the Matlab Mapping Toolbox, but was of course independently derived.

For all functions, the default units are:

distance : float METERS angles : float DEGREES time : datetime.datetime UTC time of observation

These functions may be used with any planetary body, provided the appropriate reference ellipsoid is defined. The default ellipsoid is WGS-84

deg : bool = True means degrees. False = radians.

Most functions accept NumPy arrays of any shape, as well as compatible data types including AstroPy, Pandas and Xarray that have Numpy-like data properties. For clarity, we omit all these types in the docs, and just specify the scalar type.

Other languages

Companion packages exist for:

Source code
#!/usr/bin/env python
# Copyright (c) 2014-2018 Michael Hirsch, Ph.D.
"""
PyMap3D provides coordinate transforms and geodesy functions with a similar API
to the Matlab Mapping Toolbox, but was of course independently derived.

For all functions, the default units are:

distance : float
    METERS
angles : float
    DEGREES
time : datetime.datetime
    UTC time of observation

These functions may be used with any planetary body, provided the appropriate
reference ellipsoid is defined. The default ellipsoid is WGS-84

deg : bool = True means degrees. False = radians.

Most functions accept NumPy arrays of any shape, as well as compatible data types
including AstroPy, Pandas and Xarray that have Numpy-like data properties.
For clarity, we omit all these types in the docs, and just specify the scalar type.

Other languages
---------------

Companion packages exist for:

* Matlab / GNU Octave: [Matmap3D](https://github.com/scivision/matmap3d)
* Fortran: [Maptran3D](https://github.com/scivision/maptran3d)
"""

from .aer import ecef2aer, aer2ecef, geodetic2aer, aer2geodetic, eci2aer, aer2eci
from .ellipsoid import Ellipsoid
from .enu import enu2geodetic, geodetic2enu, aer2enu, enu2aer
from .ned import ned2ecef, ned2geodetic, geodetic2ned, ecef2nedv, ned2aer, aer2ned, ecef2ned
from .ecef import geodetic2ecef, ecef2geodetic, eci2geodetic, ecef2enuv, enu2ecef, ecef2enu, enu2uvw, uvw2enu
from .sidereal import datetime2sidereal
from .latitude import (
    geodetic2geocentric,
    geocentric2geodetic,
    geodetic2isometric,
    isometric2geodetic,
    geodetic2conformal,
    conformal2geodetic,
    geodetic2rectifying,
    rectifying2geodetic,
    geodetic2authalic,
    authalic2geodetic,
    geodetic2parametric,
    parametric2geodetic,
)
from .rcurve import rcurve_parallel, rcurve_meridian, rcurve_transverse
from .rsphere import (
    rsphere_eqavol,
    rsphere_authalic,
    rsphere_rectifying,
    rsphere_euler,
    rsphere_curve,
    rsphere_triaxial,
    rsphere_biaxial,
)
from .lox import meridian_arc, meridian_dist, loxodrome_inverse, loxodrome_direct, departure, meanm
from .los import lookAtSpheroid
from .timeconv import str2dt

try:
    from .azelradec import radec2azel, azel2radec
    from .eci import eci2ecef, ecef2eci
except ImportError:
    from .vallado import radec2azel, azel2radec

Sub-modules

pymap3d.aer

transforms involving AER: azimuth, elevation, slant range

pymap3d.azelradec

Azimuth / elevation <==> Right ascension, declination

pymap3d.ecef

Transforms involving ECEF: earth-centered, earth-fixed frame

pymap3d.eci

transforms involving ECI earth-centered inertial

pymap3d.ellipsoid

Minimal class for planetary ellipsoids

pymap3d.enu

transforms involving ENU East North Up

pymap3d.haversine

Compute angular separation in the sky using haversine …

pymap3d.latitude

geodetic transforms to auxilary coordinate systems involving latitude

pymap3d.los

Line of sight intersection of space observer to ellipsoid

pymap3d.lox

isometric latitude, meridian distance

pymap3d.ned

Transforms involving NED North East Down

pymap3d.rcurve

compute radii of curvature for an ellipsoid

pymap3d.rsphere

compute radii of auxiliary spheres

pymap3d.sidereal

manipulations of sidereal time

pymap3d.timeconv

convert strings to datetime

pymap3d.utils

Utility functions …

pymap3d.vallado

converts right ascension, declination to azimuth, elevation and vice versa. Normally do this via AstroPy. These functions are fallbacks for those …

pymap3d.vincenty

Vincenty's methods for computing ground distance and reckoning