[PYTHON] Mit PyEphem ist der Weltraum gefährlich

Einführung

Zuerst dachte ich darüber nach, einfach zu kratzen, weil ich die Position und das Alter des Mondes ermitteln wollte, aber ich fand heraus, dass es eine sehr nützliche Bibliothek namens PyEphem gibt. Es gibt keinen Artikel mit dem Tag PyEphem in Qiita, also werde ich ihn schreiben.

Über PyEphem

--https: //pypi.org/project/ephem/ (Quelle) --https: //rhodesmill.org/pyephem/ (Referenz)

Für Details lesen Sie die Referenz, aber hier ist eine einfache Verwendung.

import ephem
import datetime
from math import degrees as deg

# Body(Himmelskörper)Erstellen Sie eine Instanz der Klasse.

moon = ephem.Moon()

# Observer(Beobachter)Erstellen Sie eine Instanz der Klasse.

shinjuku = ephem.Observer()
shinjuku.lat = '35.6846'
shinjuku.lon = '139.7106'
shinjuku.elevation = 60
shinjuku.date = datetime.datetime.utcnow() #Sie können nach der Position eines beliebigen Datums fragen

#Berechnen Sie den Himmelskörper, den der Betrachter sieht.

moon.compute(shinjuku)
print(deg(moon.alt)) # 20.88288333068003(Höhe vom Horizont(In Grad mit Grad umrechnen))
print(deg(moon.az)) # 218.0421642706897(Richtung mit Norden als 0 Grad)
print(moon.moon_phase) # 0.2820702016225599(Mond Phase)
print(shinjuku.date - ephem.previous_new_moon(shinjuku.date)) # 24.138740752328886(Mondzeitalter)

Die Position künstlicher Satelliten kann auch unter Verwendung von Daten berechnet werden, die als TLE bezeichnet werden und von Orbitinformationen bereitgestellt werden, die Dienste wie JAXA und NASA bereitstellen. (Auch mit Pyorbital möglich)

Internationale Raumstation (ISS) TLE https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/orbit/ISS/SVPOST.html Es ist im Abschnitt "TWO LINE MEAN ELEMENT SET" geschrieben. (Es gibt viele einschließlich Vorhersagen) Da der Wert aufgrund von Änderungen in der Flugbahn schwankt, ist es erforderlich, ihn entsprechend zu erfassen. Der Wert am 17.08.2020: 15: 00.000 (17. Februar? 17:15 UTC?) Ist

ISS
1 25544U 98067A   20048.52024880  .00016717  00000-0  10270-3 0  9000
2 25544  51.6378 225.5202 0004926 282.0303  78.0295 15.49172297 13304

Versuchen Sie auf der Grundlage des oben Gesagten, die Position der ISS aus dem aktuellen (in Shinjuku eingestellten) Shinjuku zu berechnen.

line1 = 'ISS'
line2 = '1 25544U 98067A   20048.52024880  .00016717  00000-0  10270-3 0  9000'
line3 = '2 25544  51.6378 225.5202 0004926 282.0303  78.0295 15.49172297 13304'
iss = ephem.readtle(line1, line2, line3)

#Position von Shinjuku aus gesehen
iss.compute(shinjuku)
print(deg(iss.alt)) # -51.61249863302519
print(deg(iss.az)) # 142.92199525046195

#Wo die ISS ist
iss.compute(datetime.datetime.utcnow())
print(deg(iss.sublat)) # -50.990213758123666
print(deg(iss.sublong)) # -139.8713732199458
print(iss.elevation) # 433325.5
print(iss.eclipsed) # True

Von Shinjuku aus gesehen liegt es etwa 51 Grad unter dem südöstlichen Horizont, 430.000 Meter über dem Osten Neuseelands, und es sieht aus wie Essen.

iss.png

abschließend

Wir verwenden es, um die Monatsinformationen auf Twitter- und LINE-Bots anzuzeigen, die auf Razpie ausgeführt werden.

pt2.png pl2.png

Recommended Posts

Mit PyEphem ist der Weltraum gefährlich
Lassen Sie uns Sätze mit der aktuellen Satzgenerierung AI "GPT-2" generieren, die "zu gefährlich" ist.
Die Geschichte, den privaten Schlüssel mit chmod auf 600 zu setzen
Was ist die Aktivierungsfunktion?
Töte den Prozess mit sudo kill -9
Errate das Passwort mit klee
gethostbyaddr () kommuniziert mit der Außenwelt
Schaben Nikkei Durchschnitt mit Dramatiker-Python
Überprüfen Sie den Code mit flake8
Kalibrieren Sie das Modell mit PyCaret
Rufen Sie die API mit python3 auf.
Was ist die Schnittstelle für ...
Was ist die Rückruffunktion?
Das Bild ist Namekuji
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Der 14. März ist der Tag des Umfangsverhältnisses. Die Geschichte der Berechnung des Umfangsverhältnisses mit Python
Ist die neue Corona wirklich eine Bedrohung? Validiert mit Stan (war)
Versuchen Sie, mit einem Baseball-Simulator Nr. 1 zu spielen. Ist der Feed Bunt effektiv?
Einstellungen zum Starten des Dango-Projekts auf dem Server mit Pycharm