Matlab 3D coordinate conversions for geospace ecef enu eci
Clone or download
scivision handle ecef2aer singularity
enu2aer OK

enu2aer OK

fix enu2aer singularity

enu2ecef OK

patch matlab precision cos(90)

more tests OK

arg consistency
Latest commit 6cb38e2 Jan 8, 2019

README.md

DOI Build status

MatMap3d

Matlab / GNU Octave coordinate conversions for geospace ecef enu eci. Similar to Python PyMap3D.

Usage

Simply use addpath to this directory to use from your program for free, instead of paying $1000 for Matlab Mapping Toolbox.

addpath('matmap3d/matlab')

then use like:

[x,y,z] = geodetic2ecef([],lat,lon,alt)

[az,el,range] = geodetic2aer(lat, lon, alt, observer_lat, observer_lon, observer_alt)

Optionally, verify functionality:

cd tests
test_matlab

Functions

Popular mapping & aerospace toolbox functions ported to Matlab include the following, where the source coordinate system (before the "2") is converted to the desired coordinate system:

aer2ecef  aer2enu  aer2geodetic  aer2ned
ecef2aer  ecef2enu  ecef2enuv  ecef2geodetic  ecef2ned  ecef2nedv
enu2aer  enu2ecef   enu2geodetic
juliantime
geodetic2aer  geodetic2ecef  geodetic2enu  geodetic2ned
ned2aer  ned2ecef   ned2geodetic
lookAtSpheroid

Abbreviations:

Caveats

  • Atmospheric effects neglected in all functions not invoking AstroPy. Would need to update code to add these input parameters (just start a GitHub Issue to request).
  • Planetary perturbations and nutation etc. not fully considered.

Mathworks currently charges $1000 for the Matlab Mapping Toolbox that provides these functions.

  • The full set of Python conversions are accessed from Matlab ≥ R2014b by commands like:
    lla = py.pymap3d.geodetic2ecef(x,y,z)