Skip to content

Commit 8d18ca8

Browse files
committed
azel radec numpy/ no numpy
1 parent 5a548f8 commit 8d18ca8

File tree

5 files changed

+30
-5
lines changed

5 files changed

+30
-5
lines changed

pymap3d/los.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
""" Line of sight intersection of space observer to ellipsoid """
22
from typing import Tuple
3+
34
try:
45
from numpy import pi, nan, sqrt, vectorize
56
except ImportError:
67
from math import pi, nan, sqrt
8+
79
vectorize = None
810

911
from .aer import aer2enu

pymap3d/lox.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from numpy import radians, degrees, cos, arctan2 as atan2, tan, pi, ndarray, vectorize
44
except ImportError:
55
from math import radians, degrees, cos, atan2, tan, pi
6+
67
vectorize = None
78
import typing
89
from .ellipsoid import Ellipsoid
@@ -46,7 +47,9 @@ def meridian_arc(lat1: float, lat2: float, ell: Ellipsoid = None, deg: bool = Tr
4647
return rsphere_rectifying(ell) * abs(rlat2 - rlat1)
4748

4849

49-
def loxodrome_inverse(lat1: float, lon1: float, lat2: float, lon2: float, ell: Ellipsoid = None, deg: bool = True) -> typing.Tuple[float, float]:
50+
def loxodrome_inverse(
51+
lat1: float, lon1: float, lat2: float, lon2: float, ell: Ellipsoid = None, deg: bool = True
52+
) -> typing.Tuple[float, float]:
5053
"""
5154
computes the arc length and azimuth of the loxodrome
5255
between two points on the surface of the reference ellipsoid
@@ -98,7 +101,9 @@ def loxodrome_inverse(lat1: float, lon1: float, lat2: float, lon2: float, ell: E
98101
return loxodrome_inverse_point(lat1, lon1, lat2, lon2, ell, deg)
99102

100103

101-
def loxodrome_inverse_point(lat1: float, lon1: float, lat2: float, lon2: float, ell: Ellipsoid = None, deg: bool = True) -> typing.Tuple[float, float]:
104+
def loxodrome_inverse_point(
105+
lat1: float, lon1: float, lat2: float, lon2: float, ell: Ellipsoid = None, deg: bool = True
106+
) -> typing.Tuple[float, float]:
102107
if deg:
103108
lat1, lon1, lat2, lon2 = radians(lat1), radians(lon1), radians(lat2), radians(lon2)
104109

pymap3d/vallado.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
Michael Hirsch implementation of algorithms from D. Vallado
1010
"""
1111
from datetime import datetime
12-
from math import sin, cos, degrees, radians, asin, atan2
12+
13+
try:
14+
from numpy import sin, cos, degrees, radians, arcsin as asin, arctan2 as atan2
15+
except ImportError:
16+
from math import sin, cos, degrees, radians, asin, atan2
1317
from typing import Tuple
1418
from .sidereal import datetime2sidereal
1519

tests/test_pyproj.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ def test_compare_geodetic():
3333

3434

3535
if __name__ == "__main__":
36-
pytest.main(["-xrsv", __file__])
36+
pytest.main(["-v", __file__])

tests/test_sky.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,25 @@ def test_azel2radec(usevallado):
1616
assert radec1 == approx(radec, rel=0.01)
1717

1818

19+
@pytest.mark.parametrize("usevallado", [True, False])
20+
def test_numpy_azel2radec(usevallado):
21+
pytest.importorskip("numpy")
22+
radec1 = pm.azel2radec([180.1, 180.1], [80, 80], lat, lon, t0, usevallado=usevallado)
23+
assert radec1 == approx(radec, rel=0.01)
24+
25+
1926
@pytest.mark.parametrize("usevallado", [True, False])
2027
def test_radec2azel(usevallado):
2128
azel1 = pm.radec2azel(*radec, lat, lon, t0, usevallado=usevallado)
2229
assert azel1 == approx(azel, rel=0.01)
2330

2431

32+
@pytest.mark.parametrize("usevallado", [True, False])
33+
def test_numpy_radec2azel(usevallado):
34+
pytest.importorskip("numpy")
35+
azel1 = pm.radec2azel([166.503208, 166.503208], [55, 55], lat, lon, t0, usevallado=usevallado)
36+
assert azel1 == approx(azel, rel=0.01)
37+
38+
2539
if __name__ == "__main__":
26-
pytest.main(["-xrsv", __file__])
40+
pytest.main(["-v", __file__])

0 commit comments

Comments
 (0)