我是PyEphem的新手,我试图弄清楚它可以做什么以及它是如何工作的。由于我不想用它作为黑盒,并盲目信任我得到的任何数字,我想重新创建一个解释为here的示例。Python PyEphem计算方位角和海拔高度
该示例计算1998年8月10日23:10UT处给定观察者的物体的方位角和高度。以下参数中给出:
RA = 16小时41.7分钟,DEC = 36 d 28分钟
观察者的纬度是52 d 30分钟北和经度1 d 55分钟西。
根据示例(我可以在Excel中重新创建)的正确答案是AZ = 269.14634度和ALT = 49.169122度。
day = '1998/8/10 23:10:00'
longitude = ephem.degrees('-1.91667')
latitude = ephem.degrees('52.5')
star = ephem.FixedBody()
star._ra = '16:41:42.0'
star._dec = '36:28:00.0'
observer = ephem.Observer()
observer.date = day
observer.lon = longitude
observer.lat = latitude
star.compute(observer)
print 'Observer', observer
print 'RA', star.ra, 'DEC', star.dec
print 'AZ', star.az, 'ALT', star.alt
运行的程序给我这个输出:
>>>
Observer <ephem.Observer date='1998/8/10 23:10:00' epoch='2000/1/1 12:00:00' lon=-1:55:00.0 lat=52:30:00.0 elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
RA 16:41:39.23 DEC 36:28:33.5
AZ 269:09:54.9 ALT 49:10:57.7
为AZ + ALT显然是看球结果
我使用pyephem努力实现同样的结果写了下面的代码到了这个例子,但很不相同。我也对这样的事实感到困惑,即与我输入的内容相比,RA和DEC在打印输出时略有修改。
如果有人能够帮助我了解结果不同的原因以及我可以或应该如何复制结果,我将不胜感激。谢谢。
编辑:更正了以下答案中指出的错字。这个问题仍然有效。
EDIT2:好的,我已阅读(并理解)为什么赤经和赤纬是由PyEphem从这个link调整的。我不明白的是,如果有什么办法让PyEphem忽略调整相对论偏转,垂头和像差的光同样的方式,你可以把它忽略大气折射?我假设方位角的差异是由于RA和DEC的调整,但它确实很好。
相关:[太阳给定时间的位置,经度和纬度](http://stackoverflow.com/questions/8708048/position-of-the-sun-given-time-of-day-latitude-经度)(在R中实现)。 – jfs