From d08c9caf8d85f94922141e6af9abca7389548e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20J=C3=BCrges?= <jurges@astron.nl> Date: Wed, 20 Feb 2019 13:47:30 +0000 Subject: [PATCH] SW-382: Replace RAD/DEG conversion functions with math.* equivalents --- SAS/XML_generator/src/xmlgen.py | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/SAS/XML_generator/src/xmlgen.py b/SAS/XML_generator/src/xmlgen.py index 0c75f738375..8a9c17b2c76 100755 --- a/SAS/XML_generator/src/xmlgen.py +++ b/SAS/XML_generator/src/xmlgen.py @@ -33,7 +33,7 @@ from xml.sax.saxutils import escape as XMLescape from os import _exit as os_exit from os.path import splitext from datetime import datetime, timedelta -from math import pi +from math import pi, radians, degrees import re import json @@ -130,21 +130,13 @@ def hms2deg(hms_str): return sign * (abs(int(arr[0])) + float(arr[1]) / 60 + (float(arr[2]) + arr[3]) / 3600) * 15 -def deg2rad(degrees): - return float(degrees) * pi / 180 - - -def rad2deg(radian): - return float(radian) * 180 / pi - - # def convertAngle(number, angle, beamName): #TODO get one convertAngle function # # try converting to degrees else radians else HMS # if angle.endswith('deg') or angle.endswith('d'): # ra specified with 'deg' ? # angle = angle.rstrip(' deg') # else: # try: # try radian units -# ra_deg = rad2deg(angle); +# ra_deg = degrees(angle); # angle = ra_deg # except: # assuming hms # if not (angle.endswith('s') or angle[-1].isdigit()): @@ -158,7 +150,7 @@ def convertAngle1(angle, beamName): angle = angle.rstrip(' deg') else: try: # try radian units - ra_deg = rad2deg(angle) + ra_deg = degrees(angle) angle = ra_deg except: # assuming hms if not (angle.endswith('s') or angle[-1].isdigit()): # FIXME: makes no sense, angle should be float @@ -173,7 +165,7 @@ def convertAngle2(angle, beamName): angle = angle.rstrip(' deg') else: try: # try radian units - dec_deg = rad2deg(angle) + dec_deg = degrees(angle) angle = dec_deg except: # assuming dms if not (angle.endswith('s') or angle[-1].isdigit()): # FIXME: makes no sense, angle should be float @@ -259,24 +251,24 @@ def readTiedArrayBeams(lines): if valList[0].startswith('c'): # angle1 if valList[1].endswith('deg') or valList[1].endswith('d'): # degree units? - valList[1] = deg2rad(valList[1].rstrip(' deg')) + valList[1] = radians(valList[1].rstrip(' deg')) else: # try radian else HMS try: # if float conversion works assume radian angle1 = float(valList[1]) valList[1] = angle1 except: # float conversion did not work try hms - valList[1] = deg2rad(hms2deg(valList[1])) + valList[1] = radians(hms2deg(valList[1])) # angle2 if valList[2].endswith('deg') or valList[2].endswith('d'): # degree units? - valList[2] = deg2rad(valList[2].rstrip(' deg')) + valList[2] = radians(valList[2].rstrip(' deg')) else: # try radian else HMS try: # if float conversion works assume radian angle2 = float(valList[2]) valList[2] = angle2 except: # float conversion did not work try hms - valList[2] = deg2rad(dms2deg(valList[2])) + valList[2] = radians(dms2deg(valList[2])) # if valList[2].endswith('deg') or valList[2].endswith('d'): - # valList[2] = deg2rad(valList[2].rstrip(' deg')) + # valList[2] = radians(valList[2].rstrip(' deg')) tabs.append(valList) elif valList[0].startswith('i'): valList[1] = float(valList[1]) @@ -1292,7 +1284,7 @@ def readGlobalTABrings(value): if (len(globalTABrings) == 2) and (globalTABrings[1].rstrip() != ''): globalTABrings[0] = int(globalTABrings[0]) # nrTABrings if globalTABrings[1].endswith('deg') or globalTABrings[1].endswith('d'): - globalTABrings[1] = deg2rad(globalTABrings[1].rstrip(' deg')) + globalTABrings[1] = radians(globalTABrings[1].rstrip(' deg')) else: globalTABrings[1] = float(globalTABrings[1]) # TAB ring size else: @@ -1373,7 +1365,7 @@ def readCalibratorBeam(startLine, lines, globalSubbands, globalTABrings, globalB else: calibratorBeam[5] = int(calibratorBeam[5]) # nrTABrings if calibratorBeam[6].endswith('deg') or calibratorBeam[6].endswith('d'): - calibratorBeam[6] = deg2rad(calibratorBeam[6].rstrip(' deg')) + calibratorBeam[6] = radians(calibratorBeam[6].rstrip(' deg')) else: calibratorBeam[6] = float(calibratorBeam[6]) # TAB ring size @@ -1502,7 +1494,7 @@ def readTargetBeams(startLine, lines, globalSubbands, globalBBS, globalDemix, gl targetBeams[nr_beams][5] = int(targetBeams[nr_beams][5]) if targetBeams[nr_beams][5] > 0: if targetBeams[nr_beams][6].endswith('deg') or targetBeams[nr_beams][6].endswith('d'): - targetBeams[nr_beams][6] = deg2rad(targetBeams[nr_beams][6].rstrip(' deg')) + targetBeams[nr_beams][6] = radians(targetBeams[nr_beams][6].rstrip(' deg')) else: # TODO try? targetBeams[nr_beams][6] = float(targetBeams[nr_beams][6]) # TAB ring size -- GitLab