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.
--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.
Nous l'utilisons pour afficher les informations du mois sur Twitter et les bots LINE qui fonctionnent sur Razpie.
Recommended Posts