[PYTHON] Prédire quand l'ISS sera visible

introduction

La dernière fois , en regardant les fonctions de PyEphem, je me suis demandé si je pouvais prédire la date et l'heure auxquelles je pourrais voir l'ISS. Mais quelle est la condition pour voir l'ISS?

Je m'inquiétais de la relation positionnelle physique, et il m'était impossible de le faire plus que je ne le pensais! C'était un moment, mais je pense que je devrais y réfléchir et remplir les trois conditions suivantes.

--L'angle d'élévation de l'ISS tel que vu par l'observateur est positif --L'angle d'élévation du soleil vu par l'observateur est négatif ――ISS n'est pas de la nourriture

Essaie

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) #Bureau du gouvernement métropolitain
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) #Pour confirmation
for after in range(0, 60*24*10, 1): #Période de prévision(m),Intervalle prévu(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))

Prédire les 10 derniers jours,

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

--Environ 3 minutes à partir de 5h38 le 7 mars (maximum 12,73 degrés) --Environ 4 minutes à partir de 5h38 le 9 mars (maximum 25,41 degrés)

A été prédit.

vérifier la réponse

Vérifiez-le sur le site de prévisions suivant.

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

Compte tenu de la position et de l'erreur de saut de mise à jour TLE, cela semble être presque correct. (L'angle d'élévation de l'ISS était de 10 et l'angle d'élévation du soleil était de -4, ce qui a été réglé selon les prévisions de la NASA. Peut-être que ce n'est pas si bas ou si brillant.)

Maintenant, vous ne manquerez plus l'ISS.

Recommended Posts

Prédire quand l'ISS sera visible
Quand le fichier mmap (2) sera-t-il mis à jour? (3)
Quand le fichier mmap (2) sera-t-il mis à jour? (2)
Quand le fichier mmap (2) sera-t-il mis à jour? (1)
Que faire quand n'est pas dans le fichier sudoers. Cet incident sera signalé.
Quand les arguments par défaut seront-ils liés en python? Lorsque les variables sont liées dans l'évaluation différée de la fermeture.
Remarque Python: lorsque la commande pip ne peut pas être utilisée
Soyez prudent lors de la différenciation des vecteurs propres d'une matrice
Solution lorsque l'image ne peut pas être affichée avec tkinter [python]
Maîtrisez le type avec Python? (Quand faire la vérification de type)
[Python] Quand les variables sont-elles créées? Quand les instances de classe seront-elles effacées?
Commande de suppression Linux lorsque seul le dossier ne peut pas être supprimé