Projekt

Obecné

Profil

« Předchozí | Další » 

Revize e1140d8a

Přidáno uživatelem horkym před téměř 7 roky(ů)

refs #6758: Cron - Uprava pro prumer dat za den

Implementovano ulozeni dat do tabulky zaznam_prum_den. Pridano pole pro sber dat za cely den.

Zobrazit rozdíly:

cron/parser.php
23 23
    // prvcich (jedenact typu vozidel). Pro kazde vozidlo je vytvoreno pole o dvou prvcich (pocet vozidel, suma rychlosti).
24 24
    private $traffic;
25 25
    
26
    // Skoro to same jako $traffic, akorat bez rozmeru pro casove intervaly.
27
    private $trafficOneDay;
28
    
26 29
    public function __construct() {
27 30
        $this->name = "DOPR_D_";
28 31
        $this->path = "http://doprava.plzensky-kraj.cz/opendata/doprava/den/".$this->name;
......
33 36
        // Naopak u zaznamu je prilis zbytecnych informaci - k predzpracovani dojit musi.
34 37
        $this->intervalMilli = (int) (24 * 3600000 / $this->HOW_MANY_INTERVALS);
35 38
        $this->traffic = array();
39
        $this->trafficOneDay = array();
36 40
    }
37 41
    
38 42
    public function doWork($date) {
......
76 80
    private function saveVehicleInfo($t) {
77 81
        // Kontrola, jestli je pro dane zarizeni vytvorene pole casu.
78 82
        if (!isSet($this->traffic[$t->device])) {
83
            // Vytvorit prvni dva rozmery pole pro dopravni data s rozdelenim na casove intervaly.
79 84
            $this->traffic[$t->device] = array();
80 85
            for ($i = 0; $i < $this->HOW_MANY_INTERVALS; $i++) {
81 86
                $this->traffic[$t->device][$i] = NULL;
82 87
            }
88
            
89
            // U pole s prumery za cely den rovnou vytvorit vsechny rozmery.
90
            $this->trafficOneDay[$t->device] = array();
91
            for ($i = 0; $i < 2; $i++) {
92
                $this->trafficOneDay[$t->device][$i] = array();
93
                for ($j = 0; $j < 11; $j++) {
94
                    $this->trafficOneDay[$t->device][$i][$j] = array(0, 0); // Pocet danych vozidel, suma jejich rychlosti.
95
                }
96
            }
97
            
83 98
        }
84 99
        
85 100
        // Zjisteni, do jakeho casoveho intervalu patri zaznam.
......
101 116
        // Ulozeni dulezitych informaci o danem zaznamu.
102 117
        $this->traffic[$t->device][$interval][$t->direction][$t->type10][0]++;
103 118
        $this->traffic[$t->device][$interval][$t->direction][$t->type10][1] += $t->speed;
119
        
120
        // Ulozeni i do pole s prumery za cely den.
121
        $this->trafficOneDay[$t->device][$t->direction][$t->type10][0]++;
122
        $this->trafficOneDay[$t->device][$t->direction][$t->type10][1] += $t->speed;
104 123
    }
105 124
    
106 125
    private function download($date, $zipUrl, $dir, $downloaded) {
......
163 182
        return $this->traffic;
164 183
    }
165 184
    
185
    public function getTrafficOneDay() {
186
        return $this->trafficOneDay;
187
    }
188
    
166 189
    public function getLocations() {
167 190
        return $this->locations;
168 191
    }

Také k dispozici: Unified diff