Skip to content

Commit a901b68

Browse files
committed
pythonic logic
1 parent 249046e commit a901b68

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/pymap3d/rsphere.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
except ImportError:
99
from math import radians, sin, cos, log, sqrt, degrees # type: ignore
1010

11-
asarray = None # type: ignore
12-
1311
from .ellipsoid import Ellipsoid
1412
from . import rcurve
1513
from .vincenty import vdist
@@ -123,8 +121,11 @@ def euler(
123121
"""
124122
if not deg:
125123
lat1, lon1, lat2, lon2 = degrees(lat1), degrees(lon1), degrees(lat2), degrees(lon2)
126-
if asarray is not None:
124+
125+
try:
127126
lat1, lat2 = asarray(lat1), asarray(lat2)
127+
except NameError:
128+
pass
128129

129130
latmid = lat1 + (lat2 - lat1) / 2 # compute the midpoint
130131

src/pymap3d/utils.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44

55
from __future__ import annotations
66
import typing
7+
from math import pi
78

89
from .ellipsoid import Ellipsoid
910

1011
try:
11-
from numpy import hypot, cos, sin, arctan2 as atan2, radians, pi, asarray, sign
12+
from numpy import hypot, cos, sin, arctan2 as atan2, radians, asarray, sign
1213
except ImportError:
13-
from math import atan2, hypot, cos, sin, radians, pi # type: ignore
14-
15-
asarray = None # type: ignore
14+
from math import atan2, hypot, cos, sin, radians # type: ignore
1615

1716
def sign(x: float) -> float: # type: ignore
1817
"""signum function"""
@@ -63,17 +62,22 @@ def sph2cart(az: ndarray, el: ndarray, r: ndarray) -> tuple[ndarray, ndarray, nd
6362
def sanitize(
6463
lat: float | ndarray, ell: typing.Optional[Ellipsoid], deg: bool
6564
) -> tuple[float | ndarray, Ellipsoid]:
65+
6666
if ell is None:
6767
ell = Ellipsoid()
68-
if asarray is not None:
68+
69+
try:
6970
lat = asarray(lat)
71+
except NameError:
72+
pass
73+
7074
if deg:
7175
lat = radians(lat)
7276

73-
if asarray is not None:
77+
try:
7478
if (abs(lat) > pi / 2).any(): # type: ignore
7579
raise ValueError("-pi/2 <= latitude <= pi/2")
76-
else:
80+
except AttributeError:
7781
if abs(lat) > pi / 2: # type: ignore
7882
raise ValueError("-pi/2 <= latitude <= pi/2")
7983

0 commit comments

Comments
 (0)