2017-07-27 37 views
0

我試圖將GPS座標轉換爲NMEA語句來模擬GPS數據。目標是將這些數據提供給海洋導航軟件。但是,我生成的數據似乎不正確。我使用這下面的函數在Python GPS度以十進制格式轉換爲NMEA 0183格式:在python中將十進制度轉換爲NMEA 0183

import math 

def decdeg2nmea(dd): 
    num = abs(dd) 
    d = float(math.floor(num)) 
    m = num - d 
    return '%i%f' % (int(degree), minutes * 60.00) 

這是不正確的?

回答

0

數字需要填零。度數應由三個字符表示,即東經4度爲004,緯度應由兩個字體表示。分鐘應該用兩個字符加小數表示。即4.5度E將是00430.0

由於您正在使用abs您也失去了標誌,因此您需要重新插入。我認爲這樣的事情應該可以爲經濟發揮作用:

import math 

def decdeg2nmea(dd): 
    num = abs(dd) 
    d = float(math.floor(num)) 
    m = num - d 
    sign = '-' if dd < 0 else '' 
    return sign+'%03i%02.5f' % (int(d), m * 60.00) 
相關問題