source: spip-zone/_plugins_/radioactivite/radioactivite.html @ 45610

Last change on this file since 45610 was 45610, checked in by toutati@…, 9 years ago

Une page qui récupére les données des pages de http://www.bousai.ne.jp/eng/ qui mesurent toutes les 10 minutes la radioactivité d'une cinquantaine de lieu au Japon.
Affiche ces données avec une représentation visualisable soit par un cercle rouge en dessous de 100nGy/h, noir au dessus. Tous contributeurs bienvenus.

File size: 2.5 KB
Line 
1#INSERT_HEAD
2
3<style>
4table{border-collapse: collapse;}
5td{border:1px solid #666; padding:0.5em;}
6tr.changearea td{border-top:2px solid #000;}
7.centrer{text-align:center}
8.centrer div{margin:0 auto}
9</style>
10
11<?php
12echo "<small>source <a href='http://www.bousai.ne.jp/eng/'>http://www.bousai.ne.jp/eng/</a></small> ";
13echo "<small><a href='squelettes/squelt-radiations.tar.gz'>squelette</a>";
14echo "<br /> Les d&eacute;bits de dose sont exprim&eacute;s en nanoGray/heure (nGy/h) soit 1 milliardi&egrave;me de Gray/heure. Le premier niveau de pr&eacute;-alarme en France est fix&eacute; &agrave; 350 nGy/h.</small>";
15include_spip('inc/filtres');
16include_spip('inc/distant');
17//on incr&eacute;mente pour les 8 pages
18$id="01";
19$i=1;
20while($i<=8) {
21        $id="0".$i;
22        if ($recup = recuperer_page('http://www.bousai.ne.jp/eng/speedi/pref.php?id='.$id)
23        AND $b = extraire_balises($recup, 'table')
24        AND $b = extraire_balise($b[2], 'table')
25        ) $c[] = extraire_balises($b, 'tr');
26        //$c = array_merge(null, $total);
27        $i++;
28}
29//print_r($c)."<br />";
30function aff_style($multi)
31    {
32    // on fait une boucle qui lit les &eacute;l&eacute;ments du tableau
33    $i=1;
34    foreach ($multi as $cle=>$c)
35        {
36     
37        if(is_array($c)) {
38                foreach(array_slice($c,3) as $d) {
39                        $id="0".$i;
40                        $d = array_map('supprimer_tags', extraire_balises($d, 'td'));
41                        if (is_numeric($d[2])){
42                                $rate=($d[2]>100)?$d[2]*0.2:$d[2]*1;
43                        }else $rate='0';
44                echo "#A".$id.$d[0]."{height:".round($rate)."px; width:".round($rate)."px;}"."\n";
45                $i++;
46                }
47        }
48       
49        }
50    }
51   
52function aff_table($multi)
53    {
54    // on fait une boucle qui lit les &eacute;l&eacute;ments du tableau
55    $i=1;
56    foreach ($multi as $cle=>$c)
57        {
58     
59        if(is_array($c)) {
60       
61                foreach(array_slice($c,3) as $d) {
62                        $id="0".$i;
63                        $d = array_map('supprimer_tags', extraire_balises($d, 'td'));
64                        if (is_numeric($d[2])){
65                        $imgcercle=($d[2]>100)?"cercle-noir.png":"cercle-rouge.png";
66                        } else $imgcercle='';
67                        $classchange=($d[0]=='1')?"class='changearea'":"";
68                        echo "<tr $classchange><td>";
69                        echo  $d[0]."</td><td>".$d[1]."</td><td>".$d[2]."</td><td>".$d[3]."</td><td>".$d[4];
70                        echo "</td>";
71                        echo "<td class='centrer'><div id=A".$id.$d[0].">";
72                        echo "<img src='squelettes/images/".$imgcercle."' width='100%' />";
73                        echo "</div></td>";
74                        echo "</tr>"."\n";
75                        $i++;
76                }
77        }
78       
79        }
80    }
81   
82echo "<style>";
83aff_style($c);
84echo "</style>";
85
86echo "<table>";
87echo "<thead><tr><td>code</td><td>station</td><td>rate nGy/h</td><td>wind</td><td>speed</td><td></td></thead><tbody>";
88aff_table($c);
89echo "</tbody></table>";
90
91
Note: See TracBrowser for help on using the repository browser.