gpt4 book ai didi

python - 如何在 "epoch of date"坐标中获取 PyEphem 观察者的子午线?

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:47 26 4
gpt4 key购买 nike

我正在尝试在我使用 PyEpehm 为观察者获取的赤经星历的背景下确定观察者子午线的表观赤经的 Observer 类。我知道后者将在“日期纪元”坐标中提供,但不知道如何在这些坐标中为观察者获取子午线赤经。

我假设 sidereal_time 会给我我正在寻找的东西

import ephem
import numpy

zone1 = ephem.city('London')
zone1.date = '2014/08/04 11:00:00'
meridian = zone1.sidereal_time()

但我不确定结果坐标在哪个纪元。

如何在“日期纪元”坐标中获取 PyEphem 观察者的子午线?

最佳答案

根据它的定义(至少我是这样理解的!),恒星时必然是两个纪元坐标之间的关系:该日期的春分点和观测点在地球上的位置表面。

我们可以通过在子午线上选择一个点来检查这一点——比如,在 0° 纬度处穿过天赤道的点——然后使用其略显笨拙的界面询问 PyEphem,该点目前的 RA 是多少你问的是:

import ephem
zone1 = ephem.city('London')
zone1.date = '2014/08/04 11:00:00'
zone1.pressure = 0.0
meridian = zone1.sidereal_time()
print 'Hour angle:', meridian
print

overhead = ephem.degrees('90:00')
south = ephem.degrees('180:00')

zone1.epoch = zone1.date
ra, dec = zone1.radec_of(az=south, alt=overhead - zone1.lat)
print 'Epoch-of-date:'
print 'RA:', ra
print 'dec:', dec
print

zone1.epoch = '2000/1/1'
ra, dec = zone1.radec_of(az=south, alt=overhead - zone1.lat)
print 'Epoch J2000:'
print 'RA:', ra
print 'dec:', dec
print

输出,我认为,证实了恒星时间与我们询问的点的新纪元赤经相同——至少我认为那个微小的、不那么-超过一角秒的差异是由于 PyEphem 所依赖的 libastro 内部的舍入错误造成的,而不是由于一些额外的理论复杂性而逃避了我们:

Sidereal time: 7:51:14.43

Epoch-of-date:
RA: 7:51:15.24
dec: 0:00:03.5

Epoch J2000:
RA: 7:50:30.36
dec: 0:02:19.5

因为我发现 PyEphem 对于这些类型的问题有点笨拙,请注意我已经启动了一个新的 Skyfield 库,它试图让计算更简单一些,如果你想尝试一个替代方案。无论哪种方式:享受!

关于python - 如何在 "epoch of date"坐标中获取 PyEphem 观察者的子午线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27515575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com