[PYTHON] L'espace est dangereux avec PyEphem

introduction

Au début, je pensais à gratter facilement parce que je voulais connaître la position et l'âge de la lune, mais j'ai découvert qu'il existe une bibliothèque très utile appelée PyEphem. Il n'y a pas d'article marqué avec PyEphem dans qiita, donc je vais l'écrire.

À propos de PyEphem

--https: //pypi.org/project/ephem/ (source) --https: //rhodesmill.org/pyephem/ (référence)

Pour plus de détails, lisez la référence, mais voici une utilisation simple.

import ephem
import datetime
from math import degrees as deg

# Body(Corps céleste)Créez une instance de la classe.

moon = ephem.Moon()

# Observer(Observateur)Créez une instance de la classe.

shinjuku = ephem.Observer()
shinjuku.lat = '35.6846'
shinjuku.lon = '139.7106'
shinjuku.elevation = 60
shinjuku.date = datetime.datetime.utcnow() #Vous pouvez demander la position de n'importe quelle date

#Calculez le corps céleste vu par l'observateur.

moon.compute(shinjuku)
print(deg(moon.alt)) # 20.88288333068003(Élévation de l'horizon(Convertir en degrés avec deg))
print(deg(moon.az)) # 218.0421642706897(Direction avec le nord à 0 degré)
print(moon.moon_phase) # 0.2820702016225599(Phase de lune)
print(shinjuku.date - ephem.previous_new_moon(shinjuku.date)) # 24.138740752328886(Âge de la lune)

La position des satellites artificiels peut également être calculée à l'aide de données appelées TLE fournies par des informations orbitales fournissant des services tels que JAXA et NASA. (Également possible avec pyrbital)

Station spatiale internationale (ISS) TLE https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/orbit/ISS/SVPOST.html Il est écrit dans la section "JEU D'ÉLÉMENTS MOYENS DE DEUX LIGNES`". (Il y en a beaucoup, y compris les prédictions) Étant donné que la valeur fluctue en raison des changements de trajectoire, il est nécessaire de l'acquérir le cas échéant. La valeur à 2020/048/17: 15: 00.000 (17 février? 17:15 UTC?) Est

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

Sur la base de ce qui précède, essayez de calculer la position de l'ISS vue à partir du shinjuku actuel (heure définie dans shinjuku).

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 vue de Shinjuku
iss.compute(shinjuku)
print(deg(iss.alt)) # -51.61249863302519
print(deg(iss.az)) # 142.92199525046195

#Où se trouve l'ISS
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

Vu de Shinjuku, il fait environ 51 degrés sous l'horizon sud-est, 430 000 mètres au-dessus de l'est de la Nouvelle-Zélande, et cela ressemble à de la nourriture.

iss.png

en conclusion

Nous l'utilisons pour afficher les informations du mois sur Twitter et les bots LINE qui fonctionnent sur Razpie.

pt2.png pl2.png

Recommended Posts

L'espace est dangereux avec PyEphem
Générons des phrases avec l'IA de génération de phrases d'actualité "GPT-2" qui est "trop dangereuse"
L'histoire de la définition de la clé privée à 600 avec chmod
Quelle est la fonction d'activation?
Tuez le processus avec sudo kill -9
Devinez le mot de passe avec klee
gethostbyaddr () communique avec l'extérieur
Gratter la moyenne du Nikkei avec le dramaturge-python
Vérifiez le code avec flake8
Calibrer le modèle avec PyCaret
Appelez l'API avec python3.
A quoi sert l'interface ...
Qu'est-ce que la fonction de rappel?
L'image est Namekuji
Comment est le progrès? Continuons le boom ?? en Python
Le 14 mars est le jour du rapport de circonférence. L'histoire du calcul du ratio de circonférence avec python
La nouvelle Corona est-elle vraiment une menace? Validé avec Stan (était)
Essayez de jouer avec un simulateur de baseball # 1 La carie d'alimentation est-elle efficace?
Paramètres de démarrage du projet Dango sur le serveur avec Pycharm