Преобразуйте направление (вектор) в прямое восхождение. и декабрь в Skyfield

В пределах Skyfield, если у меня есть вектор (x, y, z) из центра Земли, как можно Я обратно конвертирую его в точку на «Небесной сфере» (т.е. прямое восхождение и склонение)?

Например, предположим, что у меня есть несколько точек на орбите телескопа вокруг Земли, и я хочу вычислить точное прямое восхождение и склонение направления нормали к орбите - по какой-либо причине.

Здесь можно пренебречь такими эффектами, как аберрация и гравитация - я просто хочу изменить направление в ICRF на прямое восхождение и склонение.

В псевдокоде:

from skyfield.api import load
import numpy as np

eph = load('de421.bsp')
ts  = load.timescale()
now = ts.now()

vec     = np.array([3141, 2718, 5820], dtype=float)
nvec = vec / np.sqrt((vec**2).sum())  # normalize for the heck of it

earth = eph['earth']
evec  = earth.at(now).vector(vec)   # pseudocode

print "It's pointing toward: ", evec.radec()   # pseudocode

person uhoh    schedule 20.04.2016    source источник


Ответы (1)


К счастью, преобразование вектора направления в ICRF в прямое восхождение и склонение полностью не зависит от положения Земли или чего-либо еще - это вопрос, который включает только то, как некоторые координаты x, y, z будут выражены как полярные координаты, иными словами, это быстрая проблема геометрии.

Использование Skyfield:

from skyfield.positionlib import ICRF

vec = ICRF([3141, 2718, 5820])
ra, dec, distance = vec.radec()
print(ra)
print(dec)

Какие выходы:

02h 43m 28.94s
+54deg 29' 04.7"

Это даже позволяет избежать импорта NumPy вручную, потому что класс ICRF автоматически определяет, был ли ему передан список Python, и автоматически преобразует его в массив NumPy для вас.

person Brandon Rhodes    schedule 20.04.2016
comment
Невероятный! Хорошо, это именно то, что мне нужно! Думаю, время помогает, только если нужно рассчитать гравитационное отклонение или аберрацию, а это совсем не то, что мне нужно. Спасибо! - person uhoh; 20.04.2016
comment
О, понятно - все здесь: http://rhodesmill.org/skyfield/api.html это выглядит забавно! - person uhoh; 20.04.2016
comment
Просто для подтверждения, это для координат J2000, верно? Я считаю, что ICRF привязан к J2000. - person ; 22.04.2016
comment
да. ICRF - это более высокоточная замена J2000, которая в конечном итоге имела фатальный недостаток: мы не знаем с очень высокой точностью, куда именно была направлена ​​Земля в начале 2000 года - по крайней мере, невысокая. точности, достаточной для радиоастрономов - и поэтому мы никогда не могли использовать эту идею в качестве основы для высокоточных измерений. - person Brandon Rhodes; 23.04.2016