fix zero division error

This commit is contained in:
Junzi Sun 2015-09-21 16:46:54 +02:00
parent 27cac0efde
commit 626b2fb828

View File

@ -238,14 +238,18 @@ def get_callsign(msg):
return cs return cs
def cprN(lat, isodd): def cprN(lat, is_odd):
nl = cprNL(lat) - isodd nl = cprNL(lat) - is_odd
return nl if nl > 1 else 1 return nl if nl > 1 else 1
def cprNL(lat): def cprNL(lat):
try:
nz = 60 nz = 60
a = 1 - math.cos(math.pi * 2 / nz) a = 1 - math.cos(math.pi * 2 / nz)
b = math.cos(math.pi / 180.0 * abs(lat)) ** 2 b = math.cos(math.pi / 180.0 * abs(lat)) ** 2
nl = 2 * math.pi / (math.acos(1 - a/b)) nl = 2 * math.pi / (math.acos(1 - a/b))
return int(nl) return int(nl)
except:
# happens when latitude is +/-90 degree
return 1