Commit d3e8ffc6 authored by JonathanMM's avatar JonathanMM

Ajout des nouvelles stats sur la page publique des stats

parent b819c3f3
......@@ -34,9 +34,15 @@ foreach($resumes as $resume)
{
$codeStation = $resume['code'];
if(!isset($stations[$codeStation]))
$stations[$codeStation] = array('pris' => 0, 'rendu' => 0, 'insee' => $resume['insee']);
$stations[$codeStation]['pris'] += $resume['nbBikePris'] + $resume['nbEBikePris'];
$stations[$codeStation]['rendu'] += $resume['nbBikeRendu'] + $resume['nbEBikeRendu'];
$stations[$codeStation] = array('pris' => 0, 'rendu' => 0, 'Epris' => 0, 'Erendu' => 0, 'bornesPerdues' => [], 'bornesPerduesMax' => 0, 'insee' => $resume['insee']);
$stations[$codeStation]['pris'] += $resume['nbBikePris'];
$stations[$codeStation]['Epris'] += $resume['nbEBikePris'];
$stations[$codeStation]['rendu'] += $resume['nbBikeRendu'];
$stations[$codeStation]['Erendu'] += $resume['nbEBikeRendu'];
if(isset($resume['nbEDockPerdusMoyenne']) && !is_null($resume['nbEDockPerdusMoyenne']))
$stations[$codeStation]['bornesPerdues'][] = $resume['nbEDockPerdusMoyenne'];
if(isset($resume['nbEDockPerdusMax']) && !is_null($resume['nbEDockPerdusMax']))
$stations[$codeStation]['bornesPerduesMax'] = max($resume['nbEDockPerdusMax'], $stations[$codeStation]['bornesPerduesMax']);
if($minDate == null || $minDate > $resume['date'])
$minDate = $resume['date'];
......@@ -66,6 +72,23 @@ $nomDept = array(
94 => 'Val-de-Marne',
95 => 'Val-d\'Oise'
);
$stationsSansMouvement = 0;
$totalPris = 0;
$totalEPris = 0;
$totalRendu = 0;
$totalERendu = 0;
$totalMoyenneBornesPerdues = 0;
$totalMaxBornesPerdues = 0;
$depts = array();
$nomDept = array(
75 => 'Paris',
78 => 'Yvelines',
91 => 'Essonne',
92 => 'Hauts-de-Seine',
93 => 'Seine-Saint-Denis',
94 => 'Val-de-Marne',
95 => 'Val-d\'Oise'
);
foreach($stations as $code => $stats)
{
if($stats['pris'] + $stats['rendu'] == 0)
......@@ -74,6 +97,8 @@ foreach($stations as $code => $stats)
{
$totalPris += $stats['pris'];
$totalRendu += $stats['rendu'];
$totalEPris += $stats['Epris'];
$totalERendu += $stats['Erendu'];
}
$deptStation = floor($stats['insee'] / 1000);
......@@ -81,11 +106,22 @@ foreach($stations as $code => $stats)
$depts[$deptStation] = array('nb' => 1, 'nom' => (isset($nomDept[$deptStation]) ? $nomDept[$deptStation] : 'Inconnu'));
else
$depts[$deptStation]['nb']++;
if(count($stats['bornesPerdues']) > 0)
$totalMoyenneBornesPerdues += array_sum($stats['bornesPerdues']) / count($stats['bornesPerdues']);
$totalMaxBornesPerdues += $stats['bornesPerduesMax'];
}
$smarty->assign(array(
'totalPris' => $totalPris,
'totalRendu' => $totalRendu,
'totalPris' => number_format($totalPris + $totalEPris, 0, ',', ' '),
'totalPrisMecanique' => number_format($totalPris, 0, ',', ' '),
'totalPrisElectrique' => number_format($totalEPris, 0, ',', ' '),
'totalRendu' => number_format($totalRendu + $totalERendu, 0, ',', ' '),
'totalRenduMecanique' => number_format($totalRendu, 0, ',', ' '),
'totalRenduElectrique' => number_format($totalERendu, 0, ',', ' '),
'bornesPerduesMax' => $totalMaxBornesPerdues,
'bornesPerduesMoyenne' => number_format($totalMoyenneBornesPerdues, 2, ',', ' '),
'totalStation' => count($stations),
'stationsSansMouvement' => $stationsSansMouvement
));
......
......@@ -11,8 +11,9 @@
</form>
<p>Sur la dernière journée ({$minDate}{$maxDate}) :</p>
<ul>
<li>Au moins {$totalPris} vélos ont été retirés;</li>
<li>Au moins {$totalRendu} vélos ont été remis;</li>
<li>Au moins {$totalPris} vélos ont été retirés (dont {$totalPrisMecanique} mécaniques et {$totalPrisElectrique} électriques);</li>
<li>Au moins {$totalRendu} vélos ont été remis (dont {$totalRenduMecanique} mécaniques et {$totalRenduElectrique} électriques);</li>
<li>Nombre moyen de bornes inutilisables : {$bornesPerduesMoyenne} (maximum de la période : {$bornesPerduesMax}).</li>
<li>Nombre de stations sans mouvement : {$stationsSansMouvement}, sur un total de {$totalStation} stations.</li>
</ul>
<p>Nombre de stations par départements :</p>
......@@ -25,6 +26,8 @@
Ainsi, le système considèrera de la même façon si deux vélos ont été pris à une station que si dans la même minute
quatres vélos ont été pris et deux rendus.
Les nombres ainsi obtenus ne sont que des minimums, et comprennent à la fois les locations comme les actions de régulations.<br />
Les bornes inutilisables correspond au calcul pour chaque station : (nombre de bornes total) - (nombre de vélos mécaniques + nombre de vélos
électriques + nombres de bornes disponibles)<br />
Le nombre de stations ne différencie pas les stations en travaux des stations ouvertes.
</p>
{include file="credits.tpl"}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment