Subversion Repositories eFlore/Applications.cel

Rev

Rev 1997 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1997 Rev 1998
Line 31... Line 31...
31
		$this->migrerObservationsSauvages();
31
		$this->migrerObservationsSauvages();
Line 32... Line 32...
32
		
32
		
Line 33... Line 33...
33
	}
33
	}
34
	
34
	
35
	private function migrerObservationsSauvages() {
35
	private function migrerObservationsSauvages() {
36
		$liste_observations = $this->dao->obtenirObservationsSauvages();
36
		$nb_obs = $this->dao->obtenirNbObservationsSauvages();
Line 37... Line 37...
37
		$this->traiterObservationsSauvages($liste_observations);
37
		$this->traiterObservationsSauvages($liste_observations);
38
	}
38
	}
39
	
39
	
40
	private function traiterObservationsSauvages($liste_observations) {
40
	private function traiterObservationsSauvages($nb_obs) {
41
		$debut = microtime(true);
41
		$debut = microtime(true);
Line 42... Line 42...
42
		$nb_obs_modifiees = 0;
42
		$nb_obs_modifiees = 0;
43
		$nb_obs_ignorees = 0;
43
		$nb_obs_ignorees = 0;
44
		$total = count($liste_observations);
44
		$total = $nb_obs;
45
		
45
		
Line 51... Line 51...
51
		}
51
		}
Line 52... Line 52...
52
		
52
		
53
		$champs_etendus_a_inserer = array();
53
		$champs_etendus_a_inserer = array();
54
		$nb_champs_total = 0;
54
		$nb_champs_total = 0;
-
 
55
		$nb_champs = 0;
-
 
56
		
-
 
57
		$pas_liste_obs = 5000;
-
 
58
		
-
 
59
		for($i = 0; $i <= $total; $i += $pas_liste_obs) {	
55
		$nb_champs = 0;
60
			$liste_observations = $this->dao->obtenirObservationsSauvages($i, $pas_liste_obs);
56
		echo " Insertion des champs étendus (5 par observation) par paquet de 100 \n";
61
			echo " Insertion des champs étendus (5 par observation) par paquet de 100 \n";
57
		foreach($liste_observations as $observation) {
62
			foreach($liste_observations as $observation) {
58
			
63
				
59
			// test si obs candidate est ok, i.e. si elle contient bien un champ station formate comme ceci
64
				// test si obs candidate est ok, i.e. si elle contient bien un champ station formate comme ceci
60
			// coordonnees_debut_de_rue;coordonnees_fin_de_rue;cote_de_la_rue
65
				// coordonnees_debut_de_rue;coordonnees_fin_de_rue;cote_de_la_rue
61
			if ($this->doitMigrerObservation($observation)) {
66
				if ($this->doitMigrerObservation($observation)) {
62
				$champs_etendus_a_inserer[] = $this->convertirChampsObsSauvagesEnChampsEtendus($observation);
67
					$champs_etendus_a_inserer[] = $this->convertirChampsObsSauvagesEnChampsEtendus($observation);
63
				$nb_obs_modifiees++;
68
					$nb_obs_modifiees++;
64
				$nb_champs += 5;
69
					$nb_champs += 5;
65
				$nb_champs_total += 5;
70
					$nb_champs_total += 5;
66
			} else {
71
				} else {
67
				$nb_obs_ignorees++;
72
					$nb_obs_ignorees++;
68
			}
-
 
69
			
-
 
70
			// insertion par paquets de 100 champs ou bien à la fin du parcours de la liste s'il y a moins de 
-
 
71
			// 20 observations à traiter (20 obs * 5 champs = 100 champs) 
-
 
72
			if($nb_champs >= 100 || ($nb_obs_modifiees + $nb_obs_ignorees >= count($liste_observations))) {
-
 
73
				$this->dao->ajouterChampsEtendusParLots($champs_etendus_a_inserer);
-
 
74
				$champs_etendus_a_inserer = array();
-
 
Line -... Line 73...
-
 
73
				}
-
 
74
				
-
 
75
				// insertion par paquets de 100 champs ou bien à la fin du parcours de la liste s'il y a moins de 
-
 
76
				// 20 observations à traiter (20 obs * 5 champs = 100 champs) 
-
 
77
				if($nb_champs >= 100 || ($nb_obs_modifiees + $nb_obs_ignorees >= count($liste_observations))) {
-
 
78
					$this->dao->ajouterChampsEtendusParLots($champs_etendus_a_inserer);
-
 
79
					$champs_etendus_a_inserer = array();
75
				$nb_champs = 0;
80
					$nb_champs = 0;
76
				
81
					
-
 
82
					if($this->mode_verbeux) {
77
				if($this->mode_verbeux) {
83
						$this->afficherAvancement(' champs étendus insérés ', $nb_champs_total);
78
					$this->afficherAvancement(' champs étendus insérés ', $nb_champs_total);
84
					}
79
				}
85
				}
80
			}
-
 
81
		}
86
			}
82
 
87
		}
83
		$fin = microtime(true);
88
		$fin = microtime(true);
84
		if($this->mode_verbeux) {
89
		if($this->mode_verbeux) {
85
			echo "\n";
90
			echo "\n";