Skip to content

Commit ba0cf93

Browse files
committed
doc
1 parent e1b52c3 commit ba0cf93

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

pymap3d/__init__.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from dateutil.parser import parse
1919
from datetime import datetime
2020
import numpy as np
21-
from numpy import sin, cos, tan, sqrt, radians, arctan2, hypot, degrees, mod
21+
from numpy import sin, cos, tan, sqrt, radians, arctan2, hypot, degrees
2222
try:
2323
from astropy.time import Time
2424
from astropy import units as u
@@ -34,12 +34,20 @@ def __init__(self):
3434
self.b = self.a * (1 - self.f) # semi-minor axis
3535
#%% to AER (azimuth, elevation, range)
3636
def ecef2aer(x, y, z, lat0, lon0, h0, ell=EarthEllipsoid(), deg=True):
37+
"""
38+
39+
output: azimuth (deg), elevation (deg), slant range (m) for Obs->Point
40+
"""
3741
xEast, yNorth, zUp = ecef2enu(x, y, z, lat0, lon0, h0, ell, deg=deg)
3842

3943
return enu2aer(xEast, yNorth, zUp, deg=deg)
4044

4145

4246
def eci2aer(eci, lat0, lon0, h0, t):
47+
"""
48+
49+
output: azimuth (deg), elevation (deg), slant range (m) for Obs->Point
50+
"""
4351
ecef = eci2ecef(eci, t)
4452

4553
return ecef2aer(ecef[:, 0], ecef[:, 1], ecef[:, 2], lat0, lon0, h0)
@@ -48,25 +56,38 @@ def eci2aer(eci, lat0, lon0, h0, t):
4856
def enu2aer(e, n, u, deg=True):
4957
"""
5058
input: east, north, up [m]
59+
60+
output: azimuth (deg), elevation (deg), slant range (m) for Obs->Point
5161
"""
5262
r = hypot(e, n)
5363
slantRange = hypot(r, u)
5464
elev = arctan2(u, r)
55-
az = mod(arctan2(e, n), 2 * arctan2(0, -1))
65+
az = arctan2(e, n) % (2 * arctan2(0, -1))
5666
if deg:
5767
return degrees(az), degrees(elev), slantRange
5868
else:
5969
return az, elev, slantRange # radians
6070

6171

6272
def geodetic2aer(lat, lon, h, lat0, lon0, h0, ell=EarthEllipsoid(), deg=True):
73+
"""
74+
gives az,el,range from observer looking to point.
75+
76+
input: Point(s): lat, lon, h (altitude, meters)
77+
Observer: lat0, lon0, h0 (altitude, meters)
78+
79+
output: azimuth (deg), elevation (deg), slant range (m) for Obs->Point
80+
"""
6381
e, n, u = geodetic2enu(lat, lon, h, lat0, lon0, h0, ell, deg=deg)
6482

6583
return enu2aer(e, n, u, deg=deg)
6684

6785

6886
def ned2aer(n, e, d, deg=True):
87+
"""
6988
89+
output: azimuth (deg), elevation (deg), slant range (m) for Obs->Point
90+
"""
7091
return enu2aer(e, n, -d, deg=deg)
7192

7293
#%% to ECEF

0 commit comments

Comments
 (0)