Matlab coordinate conversions for geospace ecef enu eci. Similar to Python PyMap3D.
MatMap3D is setup as a
Matlab package,
which means import matmap3d
statements allow scoped use of this code.
[x,y,z] = matmap3d.geodetic2ecef([],lat,lon,alt)
[az,el,range] = matmap3d.geodetic2aer(lat, lon, alt, observer_lat, observer_lon, observer_alt)
Optionally, run self-tests:
buildtool
Popular mapping & aerospace toolbox functions ported to Matlab, where the source coordinate system (before the "2") is converted to the desired coordinate system:
Abbreviations:
- AER: Azimuth, Elevation, Range
- ECEF: Earth-centered, Earth-fixed
- ECI: Earth-centered Inertial
- ENU: East North Up
- NED: North East Down
- radec: right ascension, declination
- 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.
These functions present a similar API of a subset of functions in the Mathworks Matlab:
Python PyMap3d has more conversions. PyMap3d can be accessed from Matlab by commands like:
lla = py.pymap3d.geodetic2ecef(x,y,z)
In particular, since PyMap3D uses Astropy for ECI transformations the accuracy will generally be better for eci2*
or *2eci
functions.
All other functions should have equivalent accuracy with Matlab vs. Python.
GNU Octave users should consider the Octave Mapping Toolbox, which added similar functions in version 1.4.