Come posso calcolare l'ascensione retta di un osservatore sulla superficie terrestre nel frame TEME con python.skyfield?
Vorrei calcolare l'ascensione retta di un punto sulla terra come specificato sopra con la libreria Skyfield Python, e non riesco a capire come farlo.
So che calcolando la posizione geocentrica del rispettivo Topos
oggetto in un momento specifico si ottiene un Geocentric
oggetto che ha un attributo .radec
; tuttavia non sono sicuro che ciò fornisca la giusta ascensione nel TEME ( telaio inerziale centrato sulla Terra .
Risposte
Un osservatore centrato sulla Terra che guardi quel punto sulla superficie terrestre guarderebbe anche verso il punto che è lo zenit di quella posizione sulla Terra.
Pertanto, devi solo trovare l'ora siderale locale (LST) per quella posizione sulla Terra. Questo ti dà la giusta ascensione sul meridiano per quel luogo e quel tempo. Il meridiano passa per lo zenit, in modo da dare l'AR del punto desiderato.
Sembra che Skyfield abbia un attributo GMST (Greenwich Mean Sidereal Time) per ogni oggetto temporale che crei. Per passare da quello a LST, converti la tua longitudine in ore (15 gradi all'ora) e sottrai se è ovest, aggiungi se è est.
Quindi qualcosa del genere:
from skyfield.api import load
ts = load.timescale() # Timescale object
t = ts.now() # Time object
RA_hours = t.gmst - west_longitude_degrees/15.
dove potresti passare a un orario diverso se lo desideri e dovresti definire quella variabile di longitudine.
Dovresti anche verificare la presenza di valori negativi e assicurarti che la tua risposta rientri nell'intervallo 0-24, aggiungendo 24 se necessario.