44 en ligne Forum | Actu | Glossaire | Codes | Tips | Liens | Livres | Annuaire  

 Recherche





 

Graphique de l'angle du soleil en fonction du lieu

Code PHP par kx57



  <Accueil>  Déjà 683 codes ! 
AJAX [5]AS 2.0 [1]ASP [111]ASP.NET [34]CSharp [11]CSS [14]
D [1]Delphi [5]DHTML [3]Divers [6]HTML [15]JavaScript [140]
JSP [9]Maths [1]PHP [256]PHP5 [19]PowerShell [22]Regex [4]
SQL [2]V.Basic [4]VBScript [13]VS.NET [5]WPF [1]XML [1]



kx57PHP - Graphique de l'angle du soleil en fonction du lieu

Trace un graph de la hauteur du soleil en fonction de la date et du lieu pour une journée.
Pensez bien à initialiser $date, $lon et $lat ;)


Pour pouvoir le télécharger, connectez-vous ! ;)
<?php

/* variables d'entrée:
   $date: jour de la mesure: format 21.6.2011
   $lat : latitude entre 30 et 60 pour l'europe
   $lon : longitude: 0=Greenwich, 2.3=Paris, 8.5=Zurich...
   
   L'affichage est en fonction de l'heure d'été

*/

function c($r,$v=-1,$b=-1) {   //fonction pour le calcule de la couleur d'affichage
   if ($v==-1) {
      $v=$r;
      $b=$r;
   }
   return $r*65536+$v*256+$r;
}

header("Content-Type: image/png");
$im = @imagecreatetruecolor(600, 400);

// Création du cadre et du libellé
imagefill($im,1,1,c(255));
imagerectangle ($im,0,0,599,399,c(0));
imagestring($im, 3, 5, 5,  'Angle du soleil le '.$date.', Latitude:'.$lat.'°N', c(0));

// calcule du jour de l'année
$dt=explode('.',$date);   
$jd=(gregoriantojd ($dt[1],$dt[0],$dt[2])-gregoriantojd (1,1,$dt[2]))-79;   // en jour julien

// calcule de la déclinaison (angle du soleil par rapport a l'équateur) en fonction du jour
$dec=deg2rad(23.45*sin(deg2rad(0.986*$jd)));

$lat=deg2rad($lat); // conversion de la latitude en radiant

// Libellé axe Y de 10 à 70° pour l'angle du soleil
for ($i=1; $i<8; $i++) {
   imageline($im,0,400-$i*50, 600,400-$i*50,c(128));
   imageline($im,0,400-$i*50+25, 600,400-$i*50+25,c(224));
   imagestring($im, 2, 5, 400-$i*50,  round($i*10).'°', c(0));
}

// Libellé axe X pour les heures (entre 6h et 17h heure solaire)
for ($h=0; $h<12; $h+=1) {
   $rh=$h+$lon*0.0666666666666;
   imageline($im,$rh*50,30,$rh*50,400,c(128));
   imageline($im,$rh*50+25,30,$rh*50+25,400,c(224));
   imagestring($im, 2, $rh*50+2,385, round($h+6+2).'h', c(0));
}


// Calcule et affichage des angles en fonction de l'heure et du lieu
$dls=1; // 1 pour heure d'été, 0 pour heure d'hiver
for ($h=6; $h<18; $h+=0.01) {
   $ah=deg2rad(($h-6)*15-90); // calcule angle horaire
   $as=rad2deg(asin(cos($lat)*cos($dec)*cos($ah)+sin($dec)*sin($lat))); // calcule angle du soleil avec l'horizontale du lieu
   imagerectangle($im, ($h-6)*50, 400-$as*5,($h-6)*50+$dls, 400-$as*5, c(0)); // affichage de la valeur sur le graph.
}

imagepng($im);
imagedestroy($im);

?>

Proposé par kx57 le 29/06/2011 [vu 45928 fois]
Commentaires

Pour participer, il faut d'abord vous identifier !
285 visiteurs ont déjà participé dont :
DB77 [47]fmarie [26]Fabrice69 [25]CedX [25]Didier [22]
tedheu [21]Bisou [20]jreaux62 [16]romuluslepunk [15]foxmaster [15]
Vonscott [12]iubito [10]Redo [9]Balin [8]poppy [7]
cyrillus [6]pseudomenace [6]david96 [6]fmaunier [6]Aurelien [5]
daoudi [5]Ours [5]bahdot [5]CrazyCat [5]antoun [5]
Pozzy [5]TBliss [5]lex [4]hyoucef [4]Jips [4]
Chrigou [4]debackp [4]houcem_tsp [4]mhaido [3]twins20 [3]
kandal [3]mcorgnet [3]philouonline [3]Maclearner [3]master-killer [3]
laetyboop [3]kx57 [3]crocxx [3]Poucet [3]olivierland94 [3]
zut69 [3]salem [3]phenixbd [3]berguerand01 [3]

Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
  • Visual Studio 2010
  • Office 2010
  • Expression Studio 3
  • SQL Server 2008
  • et d'autres...

Au fil des news  
PHP - Drupagora : 1ère edition
Utiliser Reporting Services pour des NewsLetter - SQL Server Reporting Services et les NewsLetters
Le moteur de rapport inclus dans Microsoft SQL Server permet de créer de nombreux rapports ...
Changer la page d'erreur 401 SharePoint - La page d'erreur d'authentification SharePoint
Avec l'authentification classique des sites SharePoint, l'erreur d'authentification est gérée par ...
PHP - Graphique de l'angle du soleil en fonction du lieu
PHP5 - Graphique de l'angle du soleil en fonction du lieu
Adobe - Disponibilité d'Adobe Creative Suite 5.5
Les Thèmes dans SharePoint 2010 - Gérer les thèmes dans SharePoint 2010
SharePoint 2010 apporte de nombreuses modifications dont certaines dans le principe des thèmes.
JavaScript - fonction qui affiche l'heure à travers javascript
Installer SharePoint Foundation 2010 sur Windows 7 - Installer SP Foundation 2010 sur Windows Seven
Lorsque l'on souhaite développer dans le monde SharePoint, il existe plusieurs solutions. La ...
SharePoint et SQL Server 2008 R2 Report Server - Comment accéder à SharePoint depuis SSRS 2008 R2
Depuis la première version, la solution de rapport proposée par Microsoft "SQL Server Reporting ...
JS - Envoi d'un formulaire après chargement d'une image
Divers - Bannir une ip dans le global asax
Dreamweaver CS5 - Nouvelle version Dreamweaver CS5
Déjà plus de 6 mois que le produit est sorti, il fallait bien que je vous en parle un peu. Je vous ...
SharePoint Output Caching dans un site Intranet - Comment utiliser le cache dans un site Publishing
Afin de permettre l'amélioration des performances de sa ferme MOSS utilisée pour le site portail ...
Adobe - Adobe lance le Musée Adobe des Médias Numériques
Adobe - Adobe lance HTML5 Pack pour Illustrator CS5
PHP - Forum PHP 2010 : Le programme
Magazines - Le numéro 133 de programmez est disponible
Adobe - Adobe lance des applications Photoshop Express....
PHP - Détermination de l'intersection entre 2 segments
Magazines - Le N°132 de Programmez est disponible
Les alertes dans SharePoint 2007 - Comment SharePoint 2007 gère les User Alerts
Une des fonctionnalités de base de SharePoint, aussi bien dans Windows SharePoint Services (WSS) ...
Adobe - Photoshop.com Mobile pour Android 1.2
Adobe - Adobe dévoile une technologie de lecture.......
PHP - Experts PHP : participez au Forum PHP 2010 !
PHP - Fobec.com - Code source PHP & javascript
Foliotage alphabétique - Lister sur la première lettre d'un champ
Pour faire suite à l'article de JPierre sur la pagination alphabétique, voici, en ASP et en PHP, ...
Dreamweaver CS4 + Php + Mysql - Pagination alphabétique
Je vous propose la création d'une barre de navigation ou pagination alphabétique pour filtrer les ...
Adobe - HTML5 dans Dreamweaver CS5
VBScript - Déterminer si un chemin est absolu ou relatif
VBScript - Lire/écrire un fichier texte
Magazines - Le N°130 de Programmez est disponible
Hebergement - Hébergement à prix libre
Adobe - Adobe Creative Suite 5
PHP - Calcul de la date de Pâques
Magazines - Le N°128 de Programmez est disponible
Magazines - Le N°127 de Programmez est disponible
Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
JavaScript - Ajouter une page dans vos favorites
  Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
  Scripts : Scripting | ASP-PHP | ASP.net | Divers
  Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats | Recherches
v4.3 © Didier YVER
2001-2012
 
 

Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
MVP TechNet ASP-magazine Groupes Utilisateurs Microsoft DotNet Project