[PYTHON] Sagen Sie voraus, wann die ISS sichtbar sein wird

Einführung

Beim letzten Mal , als ich mir die Funktionen von PyEphem ansah, fragte ich mich, ob ich Datum und Uhrzeit vorhersagen könnte, wann ich die ISS sehen könnte. Aber wie ist die Voraussetzung, um die ISS zu sehen?

Ich machte mir Sorgen um die physische Positionsbeziehung, und es war mir unmöglich, mehr zu tun, als ich dachte! Es war ein Moment, aber ich denke, ich sollte darüber nachdenken und die folgenden drei Bedingungen erfüllen.

Ausprobieren

import ephem
import requests
import datetime
from math import degrees as deg

tle_url = 'https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/orbit/ISS/SVPOST.html'

loc = ('35.689922','139.692122',41) #Regierungsbüro der Metropole
home = ephem.Observer()
home.lat = loc[0]
home.lon = loc[1]
home.elevation = loc[2]
sun = ephem.Sun()

doc = requests.get(tle_url).text
lines = doc.split('\n')
for idx in range(len(lines)):
    if lines[idx].strip() == 'TWO LINE MEAN ELEMENT SET':
        iss = ephem.readtle(lines[idx+2], lines[idx+3], lines[idx+4])
        break

utcnow = datetime.datetime.utcnow().replace(second=0,microsecond=0)
utcnow += datetime.timedelta(days=0) #Zur Bestätigung
for after in range(0, 60*24*10, 1): #Prognosezeitraum(m),Voraussichtliches Intervall(m)
    when = utcnow + datetime.timedelta(minutes=after)
    home.date = when
    sun.compute(home)
    alt_sun = deg(sun.alt)
    iss.compute(home)
    alt_iss = deg(iss.alt)
    az_iss = deg(iss.az)
    iss.compute(when)
    ecl = iss.eclipsed
    if alt_sun <= -4 and alt_iss >= 10 and not(ecl):
        jst = when+datetime.timedelta(hours=9)
        print('%s - %.2f %.2f' % (jst, alt_iss, az_iss))

Vorhersage der letzten 10 Tage,

2020-03-07 05:38:00 - 11.98 9.07
2020-03-07 05:39:00 - 12.73 27.92
2020-03-07 05:40:00 - 11.22 46.14
2020-03-09 05:38:00 - 12.83 338.71
2020-03-09 05:39:00 - 19.49 353.95
2020-03-09 05:40:00 - 25.41 19.47
2020-03-09 05:41:00 - 24.90 51.33

Wurde vorhergesagt.

Überprüfen Sie die Antwort

Überprüfen Sie es auf der folgenden Prognoseseite.

https://spotthestation.nasa.gov/sightings/view.cfm?country=Japan&region=None&city=Fuchu#.XlcICsvng2x

In Anbetracht der Position und des Fehlers beim Überspringen von TLE-Updates scheint dies fast korrekt zu sein. (Der Elevationswinkel der ISS betrug 10 und der Elevationswinkel der Sonne betrug -4, was gemäß der Vorhersage der NASA eingestellt wurde. Vielleicht ist es nicht so niedrig oder hell.)

Jetzt werden Sie die ISS nicht mehr verpassen.

Recommended Posts

Sagen Sie voraus, wann die ISS sichtbar sein wird
Wann wird die mmap (2) -Datei aktualisiert? (3)
Wann wird die mmap (2) -Datei aktualisiert? (2)
Wann wird die mmap (2) -Datei aktualisiert? (1)
Was zu tun ist, wenn es nicht in der Sudoers-Datei enthalten ist. Dieser Vorfall wird gemeldet.
Wann werden die Standardargumente in Python gebunden? Wenn die Variable im Abschluss gebunden ist, wird die Auswertung verschoben.
Python Hinweis: Wenn der Befehl pip nicht verwendet werden kann
Seien Sie vorsichtig, wenn Sie die Eigenvektoren einer Matrix unterscheiden
Lösung, wenn das Bild mit tkinter [python] nicht angezeigt werden kann
Den Typ mit Python beherrschen? (Wann ist eine Typprüfung durchzuführen?)
[Python] Wann werden Variablen erstellt? Wann werden Klasseninstanzen gelöscht?
Linux-Löschbefehl, wenn nur der Ordner nicht gelöscht werden kann