我尝试将对象的J2000 RA / DEC坐标转换为“观察位置”,即包括折射效果的地心RA / DEC坐标。按照文档(http://rhodesmill.org/pyephem/radec.html#how-the-three-positions-differ)我做了这个:
from math import pi
import ephem
from datetime import datetime
ra = 20.370473492 / 12. * pi
dec = 40.256674958 / 180. * pi
tt = datetime(2016, 07, 27, 23, 30, 0)
lowell = ephem.Observer()
lowell.lon = '-111:32.1'
lowell.lat = '35:05.8'
lowell.elevation = 2198
lowell.date = tt
lowell.pressure = 1000
bd = ephem.FixedBody()
bd._ra = ra
bd._dec = dec
bd.compute(lowell)
print "Pressure: ", lowell.pressure
print "Input: ", bd._ra, bd._dec
print "Astrometric Geocentric Position: ", bd.a_ra, bd.a_dec
print "Apparent Geocentric Position ", bd.g_ra, bd.g_dec
print "Apparent Topocentric Position: ", bd.ra, bd.dec
print "Horizontal Position: ", bd.alt, bd.az
lowell.pressure = 0
bd.compute(lowell)
print "Pressure: ", lowell.pressure
print "Input: ", bd._ra, bd._dec
print "Astrometric Geocentric Position: ", bd.a_ra, bd.a_dec
print "Apparent Geocentric Position ", bd.g_ra, bd.g_dec
print "Apparent Topocentric Position: ", bd.ra, bd.dec
print "Horizontal Position: ", bd.alt, bd.az
首先值得注意的是:明显的地心和明显的地心坐标没有区别。如果按照文档中的说明进行视差和折射校正,它们应该有所不同。
第二件事:如果我将压力设置为零,折射应该消失,一些事情应该改变。但是,只有水平坐标发生变化(大约11弧分,看起来正确),但所有的ra / dec坐标都保持不变。
我在这里缺少什么?
或换句话说:我能以某种方式从pyephem获得折射校正RA / DEC坐标吗?
(顺便说一句,我使用的是最新的pyepehm版本,3.7.6.0)
答案 0 :(得分:0)
简短的回答是折射根本不会影响RA和赤纬。
有两种方法可视化。第一种是对你感兴趣的物体进行成像,坐在RA和偏角线的网格中,这些线构成天体球体所在的部分。现在,在你的脑海中,想象一下当它们被大气弯曲时,看着周围的物体和网格。因为它们通过相同的气氛,它们将被折射相同的量 - 并且物体的折射图像将与折射的RA和赤纬线的图像处于相同的位置,就像之前一样!因此它的RA和赤纬仍然是相同的。
另一种可视化的方法是想象行星的RA和赤纬会告诉你行星将面前的一小组远处物体 - 物体将坐在哪个遥远的星系和类星体之间。现在,如果你想象出物体所在的天空斑块,并想象那片天空被大气折射的图像,你会看到物体和行星都被折射在一起。因此,折射也不会改变物体的RA和赤纬 - 它将出现在完全相同的星系前面,如果根本没有折射那么。
答案很长,为了创建你想象的数字,你可以采用水平坐标,将观察者的气氛设置为零压力,并使用观察者的.radec_of(...)
方法将水平坐标转换回如果气氛没有折射它们的那么RA和dec会坐在天空的那个位置上。但我希望上面的讨论清楚地表明,你严格来说,你得到的数字将没有任何物理意义或意义:RA和赤纬不会因折射而改变,而你所获得的改变的RA和赤纬将不会指代天空图上的任何真实位置。