为了账号安全,请及时绑定邮箱和手机立即绑定

(ddd mm.m)的手动输入转换为弧度或十进制度?在蟒蛇

(ddd mm.m)的手动输入转换为弧度或十进制度?在蟒蛇

森林海 2022-06-22 15:26:26
我正在编写一个用于天文导航的 Python 程序,使用六分仪观测作为手动输入。我使用角度形式 (ddd mm.m) 或度数、分钟数和十进制分钟数。我正在使用数学库在我的代码中进行进一步的计算。当在程序转换中实现纬度/经度时,你会建议我做什么,将它们转换为弧度还是十进制度可以?我的测试位置DR:27°40.0'N;102°22.5'W    # DR: Dead ReckoninglatDR1 = input(float('div latidude degrees as (dd)')) #27latDR2 = input(float('div latitude minutes as (mm.m)'))#40.0latDR3 = input('div latitude hemisphere N/S')#NlatDR = float(latDR1+(latDR2/60))if latDR3 == S: -(latDR);    else: # here the error shows: else:    ^IndentationError: unexpected indent       latDRlonDR1 = input(float('div longditude degrees as (ddd)'))#102lonDR2 = input(float('div longditude minutes as (mm.m)'))#22.5lonDR3 = input('div longditude hemisphere E/W')#WlonDR = float(latDR1+(latDR2/60))if latDR3 == W: -(latDR);    else:         latDRDR = (latDR, lonDR)
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

这取决于您以后要对纬度和经度值做什么。通常三角函数( , 等)需要它们,这些函数sin需要cos参数tan以弧度表示。这很容易做到,math.radians()计算后的结果可以转换回来显示math.degrees()

忠告:当您按原样读取六十进制值时,您需要先将度、分和秒(或十进制度分)组合成十进制度,然后-1为您的符号约定(北和东)应用否定或乘数+ve 在您的情况下;其他选项可用于经度...)如果适用。例如,如果你有 27deg 45.0' S,你-1 * (27.0 + (45.0/60.0)) = -27.75不想-27.0 + (45.0/60.0) = -26.25


查看完整回答
反对 回复 2022-06-22
  • 1 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号