Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

couché et levé du soleil

4 réponses
Avatar
cilir
je recherche une classe ou procédure (si cela existe), me permettant de
calculer l'heure du levé et du couché du soleil à une date donnée et un
endroit donné (latitude,longitude) ou une base de donnée.


merci

C.CHATILLON
Cilir
120, bd amiral Mouchez
76600 Le havre
tél : 02.35.24.76.66
fax 02.35.24.76.05
e-mail : cilir@wanadoo.fr

--
Christophe Chatillon

4 réponses

Avatar
Romain PETIT
cilir a écrit :

je recherche une classe ou procédure (si cela existe), me permettant
de calculer l'heure du levé et du couché du soleil à une date donnée
et un endroit donné (latitude,longitude) ou une base de donnée.



Une piste :

http://www.imcce.fr/cgi-bin/levcou.cgi


Des éphémérides ici :
ftp://ftp.imcce.fr/pub/ephem/sun/riseset/

"Sunrise and sunset between 1990 and 2010 in dynamical time.
The tables of sunrise and sunset are given for latitudes between 30 and
60 degrees on the Ephemeris Meridian.
At the times for sunrise and sunset, the upper limb of the Sun is on the
horizon of an observer at sea-leval with an atmospheric refraction of 34
arcseconds."

A+
--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
diamonds
Bonjour,
Si ca t'interesse j'ai des scans d'un article sur une revue francaise
ScienceEtVie d'il y 15 ans avec les formules de calculs et les sources pour
calculette TI.
Cela ne sera pas tres complique de traduire en Windev

Stephane Dujourdy
http:///www.diamonsoftware.net
email:


Le 7/08/03 16:43, dans bgtofr$q68$, « cilir »
a écrit :

je recherche une classe ou procédure (si cela existe), me permettant de
calculer l'heure du levé et du couché du soleil à une date donnée et un
endroit donné (latitude,longitude) ou une base de donnée.


merci

C.CHATILLON
Cilir
120, bd amiral Mouchez
76600 Le havre
tél : 02.35.24.76.66
fax 02.35.24.76.05
e-mail :

--
Christophe Chatillon





Avatar
GP
Bonjour,

J'ai tenté de traduire un algorithme basic en Windev mais je n'ai pas le
résultat des calculs n'est pas correct
Pouvez-vous apporter les corrections nécessaires
Merci d'avance

Jour est un entier
Mois est un entier
LatD est un entier
LatM est un entier
LongD est un entier
LongM est un entier
A3 est un réel
O3 est un réel
A4 est un réel
O4 est un réel
RAD est un réel
P1 est un réel
N est un tableau de 12 entiers
N[1]=0;N[2]1;N[3]Y;N[4];N[5]0;N[6]1;N[7]1;N[8]!2;N[9]$3;N[10]
'3;N[11]04;N[12]34
K est un entier
LNN est un entier
DT est un entier
X est un réel
D est un réel
E est un réel
DEE est un réel
Y est un réel
AR est un réel
AC est un réel
RI est un réel
ST est un réel
LT est un réel
LH est un réel
LM est un réel
R1 est un entier
R2 est un entier
S1 est un entier
S2 est un entier


LatD = LatitudeDegre // saisie d'un champ de 2 caractères numériques
LatM = LatitudeMinute // saisie d'un champ de 2 caractères numériques
LongD = LongitudeDegre // saisie d'un champ de 2 caractères numériques
LongM = LongitudeMinute // saisie d'un champ de 2 caractères numériques
Mois=SMois
Jour=SJour

A3 = LatD + (LatM / 60)
O3 = LongD + (LongM / 60)
A4 = PartieEntière(A3*100+0.5) / 100
O4 = PartieEntière(O3*100+0.5) / 100
RAD = 57.2958
P1 = 3.14159 / 26
A3 = A3 / RAD

K = N[Mois] + Jour; LNN = 19; DT = K - N[Mois]
SI DT = 32 ALORS DT = 1
SI PAS K < 366 ALORS
Mois=1; Jour=1; K=1
FIN
SI PAS Mois = 12 ALORS
SI K > N[Mois+1] ALORS DT = K - (N[Mois+1])
SI K > N[Mois+1] ALORS Mois = Mois+1
FIN
X = P1*K/7; K=K+1
D=0.456-22.915*Cosinus(X)-0.43*Cosinus(2*X)-0.156*Cosinus(3*X)+3.83*Sinus(X)+0.
06*Sinus(2*X)-0.082*Sinus(3*X)
E=8.000001E-03+0.51*Cosinus(X)-3.197*Cosinus(2*X)-0.106*Cosinus(3*X)-0.
15*Cosinus(4*X)-7.317*Sinus(X)-9.471*Sinus(2*X)-0.391*Sinus(3*X)-0.
242*Sinus(4*X)
DEE = D/RAD;Y=Tang(DEE)*Tang(A3);AR=-ArcTang(Y/Racine(-Y*Y+1))+1.5707633
AC = AR * RAD
RI = O3/15+AC/15
RI = RI -E/60
ST = O3/15-AC/15
ST = ST - E/60
LT = ST - RI
SI LT < 0 ALORS LT$+LT
SI (LT-PartieEntière(LT)) > 0.99 ALORS LT = (PartieEntière((LT*100)+0.6))/100
LH = PartieEntière(LT); LM = (LT - PartieEntière(LT))*60
SI RI > 24 ALORS RI = RI-24
SI RI < 0 ALORS RI = RI+24
SI (RI-PartieEntière(RI))>0.99 ALORS RI = (PartieEntière((RI*100)+0.6))/100
R1 = PartieEntière(RI)
R2 = (RI-PartieEntière(RI))*60
SI ST > 24 ALORS ST = ST-24
SI ST < 0 ALORS ST = ST+24
SI (ST-PartieEntière(ST))>0.99 ALORS ST = (PartieEntière((ST*100)+0.6))/100
S1 = PartieEntière(ST)
S2 = (ST-PartieEntière(ST))*60

RLeverH = R1 // affichage heure sur 2 caractères
RLeverM = PartieEntière(R2) // affichage minutes sur 2 caractères
RCoucherH = S1 // affichage heure sur 2 caractères
RCoucherM = PartieEntière(S2) // affichage minutes sur 2 caractères


--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Avatar
GP
Bonjour,

J'ai tenté de traduire un algorithme basic en Windev mais je n'ai pas le
résultat des calculs n'est pas correct
Pouvez-vous apporter les corrections nécessaires
Merci d'avance

Jour est un entier
Mois est un entier
LatD est un entier
LatM est un entier
LongD est un entier
LongM est un entier
A3 est un réel
O3 est un réel
A4 est un réel
O4 est un réel
RAD est un réel
P1 est un réel
N est un tableau de 12 entiers
N[1]=0;N[2]1;N[3]Y;N[4];N[5]0;N[6]1;N[7]1;N[8]!2;N[9]$3;N[10]

'3;N[11]04;N[12]34
K est un entier
LNN est un entier
DT est un entier
X est un réel
D est un réel
E est un réel
DEE est un réel
Y est un réel
AR est un réel
AC est un réel
RI est un réel
ST est un réel
LT est un réel
LH est un réel
LM est un réel
R1 est un entier
R2 est un entier
S1 est un entier
S2 est un entier


LatD = LatitudeDegre // saisie d'un champ de 2 caractères numériques
LatM = LatitudeMinute // saisie d'un champ de 2 caractères numériques
LongD = LongitudeDegre // saisie d'un champ de 2 caractères numériques
LongM = LongitudeMinute // saisie d'un champ de 2 caractères numériques
Mois=SMois
Jour=SJour

A3 = LatD + (LatM / 60)
O3 = LongD + (LongM / 60)
A4 = PartieEntière(A3*100+0.5) / 100
O4 = PartieEntière(O3*100+0.5) / 100
RAD = 57.2958
P1 = 3.14159 / 26
A3 = A3 / RAD

K = N[Mois] + Jour; LNN = 19; DT = K - N[Mois]
SI DT = 32 ALORS DT = 1
SI PAS K < 366 ALORS
Mois=1; Jour=1; K=1
FIN
SI PAS Mois = 12 ALORS
SI K > N[Mois+1] ALORS DT = K - (N[Mois+1])
SI K > N[Mois+1] ALORS Mois = Mois+1
FIN
X = P1*K/7; K=K+1
D=0.456-22.915*Cosinus(X)-0.43*Cosinus(2*X)-0.156*Cosinus(3*X)+3.83*Sinus(X)+0.
06*Sinus(2*X)-0.082*Sinus(3*X)
E=8.000001E-03+0.51*Cosinus(X)-3.197*Cosinus(2*X)-0.106*Cosinus(3*X)-0.
15*Cosinus(4*X)-7.317*Sinus(X)-9.471*Sinus(2*X)-0.391*Sinus(3*X)-0.
242*Sinus(4*X)
DEE = D/RAD;Y=Tang(DEE)*Tang(A3);AR=-ArcTang(Y/Racine(-Y*Y+1))+1.5707633
AC = AR * RAD
RI = O3/15+AC/15
RI = RI -E/60
ST = O3/15-AC/15
ST = ST - E/60
LT = ST - RI
SI LT < 0 ALORS LT$+LT
SI (LT-PartieEntière(LT)) > 0.99 ALORS LT = (PartieEntière((LT*100)+0.6))/100
LH = PartieEntière(LT); LM = (LT - PartieEntière(LT))*60
SI RI > 24 ALORS RI = RI-24
SI RI < 0 ALORS RI = RI+24
SI (RI-PartieEntière(RI))>0.99 ALORS RI = (PartieEntière((RI*100)+0.6))/100
R1 = PartieEntière(RI)
R2 = (RI-PartieEntière(RI))*60
SI ST > 24 ALORS ST = ST-24
SI ST < 0 ALORS ST = ST+24
SI (ST-PartieEntière(ST))>0.99 ALORS ST = (PartieEntière((ST*100)+0.6))/100
S1 = PartieEntière(ST)
S2 = (ST-PartieEntière(ST))*60

RLeverH = R1 // affichage heure sur 2 caractères
RLeverM = PartieEntière(R2) // affichage minutes sur 2 caractères
RCoucherH = S1 // affichage heure sur 2 caractères
RCoucherM = PartieEntière(S2) // affichage minutes sur 2 caractères


--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/