度分秒转弧度及弧度转度分秒
2023/05/30
归化角度为0-360°,弧度0-2*pi
直接上代码:
1 from math import radians, degrees, modf, pi 2 3 # dms2rad: 度分秒转弧度 4 def dms2rad(self, dms): 5 # 使用 modf 函数将度分秒拆分为度和分秒部分 6 temp, degree = modf(dms) 7 # 再次使用 modf 函数将分秒部分拆分为分和秒部分 8 second, minute = modf(temp * 100) 9 # 使用 radians 函数将度、分、秒转换为弧度并返回 10 return radians((degree + minute / 60 + second / 36) % 360) # 归化到 0~360 度,并转换为弧度 11 12 # rad2dms: 弧度转度分秒 13 def rad2dms(self, rad): 14 # 使用 degrees 函数将弧度转换为度 15 degree = degrees(rad % (2 * pi)) # 归化到 0~360 度 16 # 商表示分钟数,余数表示秒数 17 temp, second = divmod(degree * 3600, 60) 18 # 商表示度数,余数表示分钟数 19 degree, minute = divmod(temp, 60) 20 return degree + minute / 100 + second / 10000
浙公网安备 33010602011771号