2015-09-14 80 views
2

我已經使用Pyephem來計算太陽的經度和緯度給定的日期,在海平面的觀察員的經度和緯度。 我得到的結果我不明白。我跑的代碼如下(在視窗7 IPython的筆記本):PyEphem報告不同的緯度和經度比輸入值

import ephem 
date = '2015-04-17 12:30:00' 

Amundsen = ephem.Observer() 
Amundsen.lat = '46.8' 
Amundsen.lon = '-71.2' 
Amundsen.date = date 

sun = ephem.Sun(Amundsen) 
sun.compute(Amundsen) 

print Amundsen 
print "sun latitude: {0}, sun longitude: {1}".format(sun.hlat,sun.hlon) 

我得到的resulst如下:

<ephem.Observer date='2015/4/17 12:30:00' epoch='2000/1/1 12:00:00'lon='-71:12:00.0' lat='46:48:00.0' elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar> 
sun latitude: -0:00:00.1, sun longitude: 207:11:10.2 

正如你可以看到,印刷所述輸入數據,緯度時和我的obesrver的經度已經從46.8和-71.2改爲46.48到-71.12。這可能是一個基本的事實,但爲什麼會發生?以及如何糾正它?

由於提前,

了Grégory

回答

2

值,令人高興的是,並沒有改變。您已經將它們輸入爲小數點後的小數點.,將每個度數分隔爲十分之十,但這不是傳統上表示的經度和緯度 - 通常將其表示爲整數,然後六十分之一稱爲「分鐘」,然後是六十分之一PyEphem與:角色分開的幾十秒稱爲「秒」。

所以46:48意味着「46度48分緯度」,因爲48/60 = 0.8。使用:是對ASCII限制的折衷。傳統上,度分秒將有一定程度的象徵,黃金,和雙撇,這是現在可以在Unicode中,但並不廣泛的編程語言來界定:

46°48'00「

我請注意,在Bernard R. Goldstein的學術論文中,關於中世紀晚期和文藝復興時期的天文學,使用了分號代表小數點的分數和逗號分鐘和秒之間的學術符號,如下所示:

46; 48,00°

+0

你好布蘭登,好的謝謝你的幫助。那麼每件事都是好的。 – gregory