Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
手动输入(ddd mm.m)转换为弧度或十进制度数?用python_Python_If Statement_Navigation_Latitude Longitude_Astronomy - Fatal编程技术网

手动输入(ddd mm.m)转换为弧度或十进制度数?用python

手动输入(ddd mm.m)转换为弧度或十进制度数?用python,python,if-statement,navigation,latitude-longitude,astronomy,Python,If Statement,Navigation,Latitude Longitude,Astronomy,我正在为天文导航编写一个Python程序,使用六分仪观测作为手动输入。我使用角度形式(ddd mm.m)或度数、分钟和十进制分钟。我正在使用数学库进行代码中的进一步计算。当Lat/Lon在程序中实现时,您建议我怎么做?将它们转换为弧度还是十进制度数可以 我的试验位置DR:27°40.0'N;102°22.5'W # DR: Dead Reckoning latDR1 = input(float('div latidude degrees as (dd)')) #27 latDR2 = i

我正在为天文导航编写一个Python程序,使用六分仪观测作为手动输入。我使用角度形式(ddd mm.m)或度数、分钟和十进制分钟。我正在使用数学库进行代码中的进一步计算。当Lat/Lon在程序中实现时,您建议我怎么做?将它们转换为弧度还是十进制度数可以

我的试验位置DR:27°40.0'N;102°22.5'W

    # DR: Dead Reckoning
latDR1 = input(float('div latidude degrees as (dd)')) #27
latDR2 = input(float('div latitude minutes as (mm.m)'))#40.0
latDR3 = input('div latitude hemisphere N/S')#N
latDR = float(latDR1+(latDR2/60))
if latDR3 == S: -(latDR);
    else: # here the error shows: 
else:
    ^
IndentationError: unexpected indent       

latDR

lonDR1 = input(float('div longditude degrees as (ddd)'))#102
lonDR2 = input(float('div longditude minutes as (mm.m)'))#22.5
lonDR3 = input('div longditude hemisphere E/W')#W
lonDR = float(latDR1+(latDR2/60))
if latDR3 == W: -(latDR);
    else: 
        latDR

DR = (latDR, lonDR)

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

一句忠告:当按部分读取六进制数值时,您需要先将度数、分和秒(或十进制分钟)组合为十进制度数,然后对符号约定应用否定或
-1
乘数(在您的情况下为北+东+ve;经度有其他选择…),如果适用。例如,如果您有27度45.0,您希望
-1*(27.0+(45.0/60.0))=-27.75
而不是
-27.0+(45.0/60.0)=-26.25