samedi 6 mai 2023

Triomphe de la Lune

Le 26 avril 2023, la Nasa publiait une photo de la Lune occupant presque toute la voûte de l'Arc de Tromphe de l'Étoile comme photo du jour.

Une occasion d'utiliser PyEphem pour vérifier tout ça...

C'est simple, amusant et vraisemblablement très précis. On a un observateur positionné dans l'espace et le temps et un astre dont la position dans un repère géographique nous intéresse...

Pour le calcul de l'azimut entre la Porte Maillot et l'Arc, ChatGPT me proposait 'geopy' mais le code qu'il proposait n'était pas correct... Google m'a proposé geographiclib...
pip install pyephem
pip install geographiclib
(avec ces modules, le code Python est compact et lisible) Pour les coordonnées GPS des points d'intérêt, j'utilise wikimapia qui a un curseur au centre et affiche sa position dans l'URL.

On positionne le programme en début de soirée (UTC!), Porte Maillot et on demande à pyephem quand a lieu le lever suivant. On y positionne l'observateur pour obtenir la position de la Lune sur l'horizon à ce moment-là.

Le programme ci-dessous donne les résultats suivants :
(https://apod.nasa.gov/apod/ap230426.html - EXIF 'Fr, 07 April 2023 22:21:14')
----
Lever Lune :  2023/4/7 20:16:01 112.160414663
Maillot->Etoile : distance =  1065.04410143 ; azimut =  115.71367909
distance * sin(0.5 deg) =  9.29414515847 m
----
https://fr.wikipedia.org/wiki/Arc_de_Triomphe_de_Paris
http://wikimapia.org/#lang=en&lat=48.873776&lon=2.295027&z=16&m=o

Remarquez que la Porte Maillot, à un peu plus d'un kilomètre, c'est un peu juste. La Lune ne fait que 9.3 mètres à l'Arc alors que la voûte en fait 14.6.

Je ne suis ni photographe ni observateur. J'ignore si on peut obtenir quelque chose d'aussi net à cette distance-là. Ni si on peut voir la Lune aussi nette si près de l'horizon en ville. Mais, sinon, c'est tout-à-fait plausible. La Lune, levée depuis quelques minutes, a parcouru quelques degrés pour se trouver dans le bon azimut légèrement au dessus de l'horizon.

Après, on peut refaire l'exercice pour le Cinquantenaire à Bruxelles en faisant une boucle sur 365 jours et en alternant next_rising(moon) et next_setting(moon). Comme le comportement de la Lune est un peu erratique, il vaut peut-être mieux s'exercer avec le Soleil... (sun).

Dans le 'Hacker's Dictionary', vers 1980, pour désigner un programme dont les résultats étaient incertains, on trouvait :

> POM n. Phase of the moon (q.v.).
> Usage: usually used in the phrase "POM dependent"
> which means flakey (q.v.).

( https://www.dourish.com/goodies/jargon.html )
#!/usr/bin/python
import math
import ephem
from geographiclib.geodesic import Geodesic

moon = ephem.Moon()

#
# Porte Maillot (48.877938, 2.281962)
# Arc de Triomphe (48.873782, 2.295043)
# altitude : 59m
# https://commons.wikimedia.org/wiki/File:Rep%C3%A8re_d%27altitude_sur_l%27Arc_de_Triomphe.jpg
#
x = Geodesic.WGS84.Inverse(48.877938, 2.281962, 48.873782, 2.295043)
azimut = x['azi1']
distance = x['s12']

Pt_Maillot = ephem.Observer()
Pt_Maillot.lat = '48.877938'
Pt_Maillot.lon = '2.281962'
Pt_Maillot.elevation = 55    # ?

Pt_Maillot.date = ephem.Date('2023/04/07 18:00')
Pt_Maillot.date = Pt_Maillot.next_rising(moon)

print "(https://apod.nasa.gov/apod/ap230426.html - EXIF 'Fr, 07 April 2023  22:21:14')"
print "----"
print "Lever Lune : ", Pt_Maillot.date, moon.az * 180 / math.pi
print "Maillot->Etoile : distance = ", distance, "; azimut = ", azimut
print "distance * sin(0.5 deg) = ", distance * math.sin(.5 * math.pi/180), "m"
print "----"
print "https://fr.wikipedia.org/wiki/Arc_de_Triomphe_de_Paris"
print "http://wikimapia.org/#lang=en&lat=48.873776&lon=2.2950&z=16&m=o"

Pour une doc rapide, voir :