我正在編寫一個用于天文導(dǎo)航的 Python 程序,使用六分儀觀測作為手動輸入。我使用角度形式 (ddd mm.m) 或度數(shù)、分鐘數(shù)和十進(jìn)制分鐘數(shù)。我正在使用數(shù)學(xué)庫在我的代碼中進(jìn)行進(jìn)一步的計算。當(dāng)在程序轉(zhuǎn)換中實現(xiàn)緯度/經(jīng)度時,你會建議我做什么,將它們轉(zhuǎn)換為弧度還是十進(jìn)制度可以?我的測試位置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 回答

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗 獲得超6個贊
這取決于您以后要對緯度和經(jīng)度值做什么。通常三角函數(shù)( , 等)需要它們,這些函數(shù)sin
需要cos
參數(shù)tan
以弧度表示。這很容易做到,math.radians()
計算后的結(jié)果可以轉(zhuǎn)換回來顯示math.degrees()
。
忠告:當(dāng)您按原樣讀取六十進(jìn)制值時,您需要先將度、分和秒(或十進(jìn)制度分)組合成十進(jìn)制度,然后-1
為您的符號約定(北和東)應(yīng)用否定或乘數(shù)+ve 在您的情況下;其他選項可用于經(jīng)度...)如果適用。例如,如果你有 27deg 45.0' S,你-1 * (27.0 + (45.0/60.0)) = -27.75
不想-27.0 + (45.0/60.0) = -26.25
添加回答
舉報
0/150
提交
取消