用PyEphem将topocentric坐标(方位角,高程)转换为赤道坐标(RA,Dec)

时间:2012-01-22 16:06:13

标签: python coordinate-systems astronomy pyephem

这看起来是一项非常基本的任务,但我无法解决这个问题。

PyEphem文档:

http://rhodesmill.org/pyephem/radec.html

介绍如何执行转换,从BodyObserver对象到“明显的地心位置”,.alt和{{1}中的高程和方位角} attributes。

但是,我应该如何从Elevation和Azimuth开始并获得RA和Dec?

例如,这里有一组坐标,我想在赤道参考系中获得RA和Dec:

.az

谢谢!

1 个答案:

答案 0 :(得分:2)

这里有两个细微之处。首先,您碰巧使用“高程”和“高度”来表示与PyEphem库中两个术语的含义相反 - 因此您将天空中的点称为“高度/方位角”位置而不是“高度” / azimuth“位置。其次,似乎PyEphem忘记提供一种简单的方法将日期 Julian 转换为自己的格式。虽然有一个函数{{1那将是另一个方向,我们将不得不做一些工作,通过弄清楚julian_date()的名称是什么来走另一个方向。

考虑到这些规定,我认为这个脚本可能会回答你的问题:

ephem

它产生的答案对于这个特定的观察是否正确?以下是脚本为我打印的内容:

import ephem

az = 3.30084818 #rad
el = 0.94610742 #rad
lat = 34.64 #deg
lon = -103.7 #deg
alt = 35800.26 #m
ut = 2455822.20000367 #julian date

# Which Julian Date does Ephem start its own count at?
J0 = ephem.julian_date(0)

observer = ephem.Observer()
observer.lon = str(lon)  # str() forces deg -> rad conversion
observer.lat = str(lat)  # deg -> rad
observer.elevation = alt
observer.date = ut - J0

print observer.date
print observer.radec_of(az, el)

让我知道这是否对这个特定观察有实际意义,或者其中一个数字是错误的,仍然需要调整!