La órbita del sol y la luna en coordenadas eclípticas usando skyfield

Soy nuevo en el uso skyfield, ¿hay algún documento o archivo de ayuda que pueda mostrarme cómo obtener la órbita del Sol y la luna en coordenadas eclípticas para una fecha y hora en particular? Esta es una pregunta de seguimiento de esta pregunta .

Realmente no veo cómo esta pregunta es diferente de la que vincula.
@usernumber eso fue cómo se puede hacer, esto es cómo se puede hacer usandoskyfield

Respuestas (1)

No puedo ayudarte con Skyfield, pero normalmente uso la interfaz web de JPL Horizons. No requiere instalación, también puede imprimirlo en un archivo de texto si lo desea:

https://ssd.jpl.nasa.gov/horizons.cgi

De lo contrario, encontré la documentación para skyfield: https://rhodesmill.org/skyfield/toc.html

Y si nada de eso funciona, hice un pequeño guión de astrología para ti.

from astropy import units as u
from astropy.coordinates import SkyCoord, EarthLocation, AltAz, get_body
from astropy.time import Time
import numpy as np

# Create 1000 Timepoints between Time 1 and Time 2 (one year later)
t = np.linspace(2451545, 2451545+365, 1000)


pointlist = []

#Loop through this times
for tn in t:
    # For every timepoint, create an astropy_time object
    astropy_time = Time(tn, format="jd")
    # Get Planet (as string, "earth", "moon", "mercury" etc. in aequatorial coordinates
    planet_aequatorial = get_body("moon", time = astropy_time)
    #Transform to Barycentric True Ecliptic (relative to the center of mass of the solar system).
    planet_ecliptic =  planet_aequatorial.transform_to("barycentrictrueecliptic")

    # Add a point to the orbit. Every point is described as (longitude [deg], latitude (ecliptic coords), distance (km))
    pointlist.append([planet_ecliptic.lon.deg, planet_ecliptic.lat.deg, planet_ecliptic.distance.km])
    print(planet_ecliptic.distance.km)
    # So pointslist is a 2D array. The rows are all the 1000 points of the orbit

# In every point there is 3 columns for [Long, Lat, Distance]
print(pointlist)


# You can also save the result with
pointlist = np.array(pointlist)

np.save("resultados.npy", lista de puntos)

gracias o la respuesta, me da un solo punto, sin embargo, quiero una órbita completa, es posible, mi pregunta puede parecer tonta, disculpe
cree una lista de tiempos (en días julianos) con > importar numpy como np > t = np.linspace (2451545, 2451545 + 365, 2000) luego recorra el código anterior pero cree un objeto de tiempo con > t = Time (t1, formato ="jd") en su lugar
¿Eso ayudó o debo hacerlo por ti?
sí, por favor. eso será muy útil
me puedes dar tu e-mail o algo? No puedo publicar todo el código aquí, creo...
Edité la primera respuesta aquí
Perdón por la respuesta tardía, lo usé, pero la latitud de salida no supera los 2 grados