Umlaufbahn von Sonne und Mond in Ekliptikkoordinaten unter Verwendung von Skyfield

Ich bin neu in der Verwendung von skyfield. Gibt es ein Dokument oder eine Hilfedatei, die mir zeigen kann, wie ich die Umlaufbahn von Sonne und Mond in Ekliptikkoordinaten für ein bestimmtes Datum und eine bestimmte Uhrzeit erhalte? Dies ist eine Folgefrage zu dieser Frage

Ich verstehe nicht wirklich, wie sich diese Frage von der unterscheidet, auf die Sie verlinken.
@Benutzernummer So kann das gemacht werden, dies ist für die Verwendung vonskyfield

Antworten (1)

Ich kann Ihnen bei Skyfield nicht helfen, aber ich verwende normalerweise die Webschnittstelle von JPL Horizons. Keine Installation erforderlich, Sie können es auch in einer Textdatei drucken, wenn Sie möchten:

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

Ansonsten habe ich die Dokumentation für Skyfield gefunden: https://rhodesmill.org/skyfield/toc.html

Und wenn nichts davon funktioniert, habe ich ein kleines Astropie-Skript für Sie erstellt

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("results.npy", Punkteliste)

Danke oder die Antwort, es gibt mir einen einzigen Punkt, aber ich möchte eine vollständige Umlaufbahn, ist das möglich, meine Frage sieht vielleicht albern aus, entschuldigen Sie
Erstellen Sie eine Liste von Zeiten (in Julianischen Tagen) mit > import numpy as np > t = np.linspace (2451545, 2451545 + 365, 2000) und durchlaufen Sie dann den obigen Code, erstellen Sie jedoch ein Zeitobjekt mit > t = Time (t1, format ="jd") statt
hat das geholfen oder soll ich das machen?
ja bitte. das wird wirklich hilfreich sein
kannst du mir deine e-mail oder so geben? Ich kann hier nicht den ganzen Code posten, denke ich ...
Ich habe die erste Antwort hier oben bearbeitet
Entschuldigung für die späte Antwort, ich habe es verwendet, aber der Breitengrad der Ausgabe geht nicht über 2 Grad hinaus