Tôi mới sử dụng PyEphem và đây có lẽ là một câu hỏi đơn giản. Tôi muốn tính góc của mặt trời phía trên đường chân trời tại một điểm và ngày GPS nhất định. Mã của tôi là như sau:Cách tính góc của mặt trời phía trên đường chân trời bằng cách sử dụng pyEphem
import ephem
import datetime
date = datetime.datetime(2010,1,1,12,0,0)
print "Date: " + str(date)
obs=ephem.Observer()
obs.lat='31:00'
obs.long='-106:00'
obs.date = date
print obs
sun = ephem.Sun(obs)
sun.compute(obs)
print float(sun.alt)
print str(sun.alt)
sun_angle = float(sun.alt) * 57.2957795 # Convert Radians to degrees
print "sun_angle: %f" % sun_angle
Và kết quả là:
python sunTry.py
Date: 2010-01-01 12:00:00
<ephem.Observer date='2010/1/1 12:00:00' epoch='2000/1/1 12:00:00' lon=-106:00:00.0 lat=31:00:00.0 elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
-0.44488877058
-25:29:24.9
sun_angle: -25.490249
Tại sao alt tiêu cực? Vị trí GPS ở đâu đó ở Mexico và tôi đã chỉ định 12 Trưa trong thông số ngày của người quan sát. Mặt trời nên được khá nhiều trực tiếp trên không vì vậy tôi đã có thể nghĩ rằng biến alt sẽ trở lại một góc một nơi nào đó int ông khoảng 70 - 90 độ? Tôi đang thiếu gì ở đây?
Cảm ơn
Stephen
Bộ nhớ của tôi hơi mờ với cách sử dụng datetime. Có thể có vấn đề múi giờ ở đó không? Có lẽ ephem và datetime là âm mưu giải thích thời gian của bạn như trong một số múi giờ khác, chẳng hạn như UTC hoặc TZ địa phương của bạn? –