include(“/home/legamb/website/smog/pm/conn.inc.php”);
$provincia=$_GET[‘provincia’];
$table=$_GET[‘table’];
$aaaa=$_GET[‘aaaa’];
$mese=$_GET[‘mese’];
$giorno=$_GET[‘giorno’];
/////// calcola le date necessarie per le statistiche:data0 e data365
$datax=mktime(0,0,0,$mese,$giorno,$aaaa);
if ($aaaa==”2004″ || $aaaa==”2008″) $gg=366;
else $gg=365;
$data365=$datax – $gg*24*60*60;
$data365=date(“Y-m-d”,$data365); // 1 anno indietro
$data0=date(“Y-m-d”,mktime(0,0,0,1,1,$aaaa)); // inizio anno
$datamax = date(“Y-m-d”,$datax); //data piu’ recente
if ($debug) echo “data:$data a:$aaaa m:$mm d:$dd “.date(“d-m-Y”,$datax).” $data365)
“;
// carica i dati delle regressioni per la data provincia e li salva in $regressione
$q=”SELECT *
FROM regressioni
WHERE provincia=’$provincia’ “;
$msgerr=”$provincia:Query per recupero parametri di regressione fallita: $q “;
$i=0;
$result = @mysql_query($q);
if ($m = mysql_fetch_array($result,MYSQL_BOTH))
while ($riga = mysql_fetch_array($result)) {
$regressione[$i][0]=$riga[“comune”];
$regressione[$i][1]=$riga[“coefficiente”];
$regressione[$i][2]=$riga[“intercetta”];
$regressione[$i][3]=$riga[“r2adj”];
$regressione[$i][4]=$riga[“var50”];
$regressione[$i][5]=$riga[“riferimento”];
$i++;
}
else echo “$msgerr”.mysql_error();
// prepara l’output della tabella
$tabella = ”
“;/////// calcola le statistiche per ogni comunefor ($c=0;$c<count($regressione);$c++){ // per ogni comune
$pm=0;
$sfm[$c]=0;
$mm[$c]=0;
$pm0=0;
$sfa[$c]=0;
$ma[$c]=0;
$riferimento=$regressione[$c][5];/////////////////// richiede gli ultimi 365 giorni di misura //////////
$q=”SELECT $riferimento
FROM $table
WHERE $riferimento <> 0 AND
data >= ‘$data365’ and data < ‘$datamax’ “;$result = @mysql_query($q) or die(“$provincia: errore nel recupero dati anno mobile: ” . mysql_error());
$i=0;
while ($riga = mysql_fetch_row($result)) {
$pmrif365[$i++]=$riga[0]; // serie annuale di dati per riferimento
}//////////////// richiede i dati dall’inizio dell’anno ////////////
$q=”SELECT $riferimento
FROM $table
WHERE $riferimento <> 0 AND
data >= ‘$data0’ and data < ‘$datamax’ “;$result = @mysql_query($q) or die(“$provincia: errore nel recupero dati anno : ” . mysql_error());
$i=0;
while ($riga = mysql_fetch_row($result)) {
$pmrif0[$i++]=$riga[0]; // serie annuale di dati per riferimento
}///////////// calcola le statistiche stimate //////////////////$nd365=count($pmrif365);
for($i=0;$i<$nd365;$i++) { // conteggi su anno mobile $pm=$pmrif365[$i]*$regressione[$c][1]+$regressione[$c][2]; if ( $pm >50) $sfm[$c]++; // superamenti mobile
$mm[$c] += $pm;
}
$mm[$c] = $mm[$c]/$nd365; // media mobile$nd0=count($pmrif0);
for($i=0;$i<$nd0;$i++) { // conteggi su anno corrente $pm0=$pmrif0[$i]*$regressione[$c][1]+$regressione[$c][2]; if ( $pm0 >50) $sfa[$c]++;
$ma[$c] += $pm0; //superamento annuo}
$ma[$c] = $ma[$c] / $nd0; //media annua$com=$regressione[$c][0];// prepara la riga da stampar in $tabella
if ($mm[$c]>40) $colore=”red”; else $colore=”green”;
$xmm= ““.sprintf(“%2.1f”,$mm[$c]).”“;
if ($ma[$c]>40) $colore=”red”; else $colore=”green”;
$xma= ““.sprintf(“%2.1f”,$ma[$c]).”“;
if ($sfm[$c]>35) $colore=”red”; else $colore=”green”;
$xsfm= ““.$sfm[$c].”“;
if ($sfa[$c]>35) $colore=”red”; else $colore=”green”;
$xsfa= ““.$sfa[$c].”“;$tabella .=””;
}$tabella .= ”
Comuni |
Medie Mobile |
Medie Annua |
Giorni di Superamento(ultimi 365 gg) |
Giorni di Superamento(dal 1-gennaio) |
$com | $xmm | $xma | $xsfm | $xsfa |
“;
echo $tabella;
?>
(**) ll DM 60/02 stabilisce per la protezione della salute umana, due valori limite :
- la concentrazione media annua di 40 microg/m3
- la concentrazione giornaliera di 50 microg/m3 da non superare più di 35 volte l’anno
Nella tabella sopra, la concentrazione media mobile è calcolata
con i precedenti 365 giorni e coincide con il parametro richiesto dalla legge il 31/12 di ogni anno. La colonna media annua riporta invece la media annua stimata dal 1 gennaio all’ultimo giorno disponibile.
Analogamente, per il numero di superamenti, il primo valore considera gli ultimi 365 gg, mentre il secondo valore è limitato al numero di giorni passati dal 1 gennaio dell’anno in corso.
I valori giornalieri usati per ottenere queste stime riassuntive sono valori stimati usando le relazioni statistiche ottenute dai dati sperimentali rilevati dall’Arpav.