33,15 → 33,15 |
} |
|
private function migrerObservationsSauvages() { |
$liste_observations = $this->dao->obtenirObservationsSauvages(); |
$nb_obs = $this->dao->obtenirNbObservationsSauvages(); |
$this->traiterObservationsSauvages($liste_observations); |
} |
|
private function traiterObservationsSauvages($liste_observations) { |
private function traiterObservationsSauvages($nb_obs) { |
$debut = microtime(true); |
$nb_obs_modifiees = 0; |
$nb_obs_ignorees = 0; |
$total = count($liste_observations); |
$total = $nb_obs; |
|
if($this->mode_verbeux) { |
echo "-------------------------------------------------------------------\n"; |
53,33 → 53,38 |
$champs_etendus_a_inserer = array(); |
$nb_champs_total = 0; |
$nb_champs = 0; |
echo " Insertion des champs étendus (5 par observation) par paquet de 100 \n"; |
foreach($liste_observations as $observation) { |
|
// test si obs candidate est ok, i.e. si elle contient bien un champ station formate comme ceci |
// coordonnees_debut_de_rue;coordonnees_fin_de_rue;cote_de_la_rue |
if ($this->doitMigrerObservation($observation)) { |
$champs_etendus_a_inserer[] = $this->convertirChampsObsSauvagesEnChampsEtendus($observation); |
$nb_obs_modifiees++; |
$nb_champs += 5; |
$nb_champs_total += 5; |
} else { |
$nb_obs_ignorees++; |
} |
|
// insertion par paquets de 100 champs ou bien à la fin du parcours de la liste s'il y a moins de |
// 20 observations à traiter (20 obs * 5 champs = 100 champs) |
if($nb_champs >= 100 || ($nb_obs_modifiees + $nb_obs_ignorees >= count($liste_observations))) { |
$this->dao->ajouterChampsEtendusParLots($champs_etendus_a_inserer); |
$champs_etendus_a_inserer = array(); |
$nb_champs = 0; |
|
$pas_liste_obs = 5000; |
|
for($i = 0; $i <= $total; $i += $pas_liste_obs) { |
$liste_observations = $this->dao->obtenirObservationsSauvages($i, $pas_liste_obs); |
echo " Insertion des champs étendus (5 par observation) par paquet de 100 \n"; |
foreach($liste_observations as $observation) { |
|
if($this->mode_verbeux) { |
$this->afficherAvancement(' champs étendus insérés ', $nb_champs_total); |
// test si obs candidate est ok, i.e. si elle contient bien un champ station formate comme ceci |
// coordonnees_debut_de_rue;coordonnees_fin_de_rue;cote_de_la_rue |
if ($this->doitMigrerObservation($observation)) { |
$champs_etendus_a_inserer[] = $this->convertirChampsObsSauvagesEnChampsEtendus($observation); |
$nb_obs_modifiees++; |
$nb_champs += 5; |
$nb_champs_total += 5; |
} else { |
$nb_obs_ignorees++; |
} |
|
// insertion par paquets de 100 champs ou bien à la fin du parcours de la liste s'il y a moins de |
// 20 observations à traiter (20 obs * 5 champs = 100 champs) |
if($nb_champs >= 100 || ($nb_obs_modifiees + $nb_obs_ignorees >= count($liste_observations))) { |
$this->dao->ajouterChampsEtendusParLots($champs_etendus_a_inserer); |
$champs_etendus_a_inserer = array(); |
$nb_champs = 0; |
|
if($this->mode_verbeux) { |
$this->afficherAvancement(' champs étendus insérés ', $nb_champs_total); |
} |
} |
} |
} |
|
$fin = microtime(true); |
if($this->mode_verbeux) { |
echo "\n"; |