Accès au manager - réservé aux membres

NAVIGATION

Informations sur le code source PHP


Code source PHP écrit par :  Olravet

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

Site de l'auteur » Voir

Autres codes en PHP de l'auteur : [3] sources » Voir

Date d'enregistrement du code le 07-05-2008 - Vu 307 fois

Code source zippé: » Télécharger le fichier ZIP

Impression: » Imprimer le code

Ajouter la page à vos favoris »



Description du code source


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.)




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
  <?
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 source


atan : Arc tangente - (PHP 4, PHP 5)
cos : Cosinus - (PHP 4, PHP 5)
date : Formate une date/heure locale - (PHP 4, PHP 5)
floor : Arrondit à l'entier inférieur - (PHP 4, PHP 5)
gmdate : Formate une date/heure GMT/CUT - (PHP 4, PHP 5)
sin : Sinus - (PHP 4, PHP 5)
sqrt : Racine carrée - (PHP 4, PHP 5)
strlen : Calcule la taille d'une chaîne - (PHP 4, PHP 5)
tan : Tangente - (PHP 4, PHP 5)
echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)

Dépôt de ressources


Phpsources rémunère votre participation sur tous les dépôts de codes sources, d'applications, d'articles et vous gagnez les revenus à vie des pages générées ;)

» Inscription libre et gratuite