Vous êtes ici Codes PHP et MySQL > Date-Heure > Calcul du lever et coucher du soleil n'importe...

 

Calcul du lever et coucher du soleil n'importe quand et n'importe ou sur terre.

Avec ce code vous pourrez savoir quand le soleil se couche et quand il se lève de n'importe quel ville du monde.
Pour cela vous devrez lancer le script en paramétrant l'url pour fournir la ville, la latitude et la longitude. En argument (après l'extension du fichier .php) vous ajoutez les arguments comme ceci:

?ville=NomVille&la=Latitude&Lo=Longitude.

Avec Latitude en degrés décimaux (Nord = +)
Longitude en degrés décimaux (Ouest = +)
( A défaut on tombe à Paris)
Vous pouvez demander une date différente en ajoutant &mois=03&jour=17 et les horaires arrivent pour le 17 mars... (à défaut, c'est la date du jour qui est prise en compte.)
 
Olravet
Site de l'auteur voir
[3] sources en PHP voir
Code vu 15287 fois
Enregistré le 07 Mai 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Calcul du lever et coucher du soleil n'importe quand et n'importe ou sur terre.
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Calcul du lever et coucher du soleil n'importe quand et...*/
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts385-PHP.htm              */
/* Auteur         : Olravet                                                   */
/* Date édition   : 07 Mai 2008                                               */
/* Website auteur : http://olravet.fr/                                        */
/*                                                                            */
/******************************************************************************/
?>
<?
IF ($fh == "") {$fh date("H") - gmdate("H") ;}
IF ($La == "") { $La 48.833;}
IF ($Lo == "") { $Lo = -2.333;}
IF ($ville == "") { $ville "Paris";}
IF ($mois == "") {$mois date("m") ;}
IF ($jour == "") {$jour date("d") ;}
// Fuseau horaire et coordonnées géographiques
$k 0.0172024;
$jm 308.67;
$jl 21.55;
$e 0.0167;
$ob 0.4091;
$PI3.1415926536;
//Hauteur du soleil au lever et au coucher
$dr $PI180;
$hr $PI12;
$ht = (-40 60);
$ht $ht $dr;
$La $La $dr;
$Lo $Lo $dr;
//Date
IF ($mois 3) {
$mois $mois 12;
}
//Heure TU du milieu de la journée
$h 12 + ($Lo $hr);
//Nombre de jours écoulés depuis le 1 Mars O h TU
$J floor(30.61 * ($mois 1)) + $jour + ($h 24) - 123;
//Anomalie et longitude moyenne
$M $k * ($J $jm);
$L $k * ($J $jl);
//Longitude vraie
$S =$L $e Sin($M) + 1.25 $e $e Sin($M);
//Coordonnées rectangulaires du soleil dans le repère équatorial
$X Cos($S);
$Y Cos($ob) * Sin($S);
$Z Sin($ob) * Sin($S);
//Equation du temps et déclinaison
$R $L;
$rx Cos($R) * $X Sin($R) * $Y;
$ry = -Sin($R) * $X Cos($R) * $Y;
$X $rx;
$Y $ry;
$ET atan($Y $X);
$DC atan($Z Sqrt($Z $Z));
//Angle horaire au lever et au coucher
$cs = (Sin($ht) - Sin($La) * Sin($DC)) / Cos($La) / Cos($DC);
IF ($cs 1) { $CalculSol "Ne se lève pas";}
IF ($cs < -1) { $CalculSol "Ne se couche pas";}
IF ($cs == 0) {
$ah $PI 2;
}ELSE{
$ah atan(Sqrt($cs $cs) / $cs);
}
IF ($cs 0) { $ah $ah $PI;}
//Lever du soleil
$Pm $h $fh + ($ET $ah) / $hr;
IF ($Pm 0) { $Pm $Pm 24;}
IF ($Pm 24) { $Pm $Pm 24;}
$hs floor($Pm);
$Pm floor(60 * ($Pm $hs));
IF (strlen($hs)<2) {$hs "0".$hs;}
IF (strlen($Pm)<2) {$Pm "0".$Pm;}
IF ($CalculSol ==""){
$lev $hs":" .$Pm;
}ELSE{
$lev "---";}
//Coucher du soleil
$Pm $h $fh + ($ET $ah) /$hr;
IF ($Pm 24) { $Pm $Pm 24;}
IF ($Pm 0) { $Pm $Pm 24;}
$hs floor($Pm);
$Pm floor(60 * ($Pm $hs));
IF (strlen($hs)<2) {$hs "0".$hs;}
IF (strlen($Pm)<2) {$Pm "0".$Pm;}
IF ($CalculSol ==""){
$couch $hs":" .$Pm;
}ELSE{
$couch  "---";}
ECHO "Horaires du Soleil à ".$ville."<BR>";
ECHO "Lever = " .$lev ;
ECHO "<br>";
ECHO "Coucher = "$couch;
?>

 

Fonctions du code

: Formate une date/heure locale - (PHP 4, PHP 5)
: Formate une date/heure GMT/CUT - (PHP 4, PHP 5)
: Arrondit à l'entier inférieur - (PHP 4, PHP 5)
: Sinus - (PHP 4, PHP 5)
: Cosinus - (PHP 4, PHP 5)
: Arc tangente - (PHP 4, PHP 5)
: Racine carrée - (PHP 4, PHP 5)
: Calcule la taille d'une chaîne - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaire
 j'ai pas compris ,le variable PI n'est   pas définie !!!!!!
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Date-Heure

 
 

PHP

 
 
 
PHP et MySQL Livre PHP

PHP et MySQL
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité