Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1516 → Rev 1517

/trunk/scripts/modules/codeinseecommune/Codeinseecommune.php
39,10 → 39,18
$cmd = $this->getParametre('a');
switch ($cmd) {
case 'tout' :
// à effectuer manuellement au premier lancement du script
$this->creerColonne();
$this->calculerCodeInsee();
$this->modifierCodeInsee();
// modifierCodeInsee semble poser problème sur le serveur après beaucoup de requetes
//$this->modifierCodeInsee();
break;
case 'sanscorrespondance' :
// devrait être être l'option utilisée dans le cron quotidien
$this->calculerCodeInseeSansCorrespondance();
// modifierCodeInsee semble poser problème sur le serveur après beaucoup de requetes
//$this->modifierCodeInsee();
break;
case 'colonne' :
$this->creerColonne();
break;
63,8 → 71,23
$this->dao->creerColonneCodeInseeCalculee();
}
private function calculerCodeInseeSansCorrespondance() {
$liste_coordonnees = $this->dao->rechercherCoordonneesSansCorrespondances();
$this->traiterCoordonnees($liste_coordonnees);
}
private function calculerCodeInsee() {
$liste_coordonnees = $this->dao->rechercherCoordonnees();
$this->traiterCoordonnees($liste_coordonnees);
}
private function traiterCoordonnees($liste_coordonnees) {
echo "-------------------------------------------------------------------\n";
echo " Traitement et calcul des codes INSEE (".count($liste_coordonnees)." coordonnées en tout) ... \n";
echo "-------------------------------------------------------------------\n";
$debut = microtime(true);
$i = 0;
$total = count($liste_coordonnees);
foreach ($liste_coordonnees as $coordonnees) {
if ($this->testerCoordonneesWgsFrance($coordonnees['latitude'], $coordonnees['longitude'])) {
$code_insee = $this->chercherCodeCommune('osm', $coordonnees['latitude'], $coordonnees['longitude']);
77,7 → 100,15
}
}
}
$i++;
$this->afficherAvancement(' Lignes traitées ', $i);
}
echo "\n";
$fin = microtime(true);
echo "-------------------------------------------------------------------\n";
echo " Fin du traitement, ".($fin - $debut)." secondes écoulées \n";
echo "-------------------------------------------------------------------\n";
echo "\n";
}
private function modifierCodeInsee() {
88,6 → 119,7
$code_insee = '';
$url_service = "www.tela-botanica.org/service:eflore:0.1/{$projet}/nom-commune".
"?lat={$latitude}&lon={$longitude}";
$url_service = str_replace(',', '.', $url_service);
$ch = curl_init($url_service);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
97,6 → 129,7
$code_insee = $reponse->codeINSEE;
}
curl_close($ch);
return $code_insee;
}
152,12 → 185,5
}
return $ligneDecoupe;
}
/*SELECT distinct `ce_zone_geo`,`zone_geo`,`ce_zone_geo_calculee` FROM `cel_obs`
WHERE `ce_zone_geo_calculee`!= "" and `ce_zone_geo`!= "" and
`ce_zone_geo` != concat("INSEE-C:",`ce_zone_geo_calculee`)
*/
 
 
}
?>
/trunk/scripts/modules/codeinseecommune/bibliotheque/Dao.php
1,8 → 1,5
<?php
class Dao extends Bdd {
 
 
public function rechercherCoordonnees() {
$requete = "SELECT longitude, latitude
FROM `cel_obs`
11,6 → 8,15
return $resultat;
}
public function rechercherCoordonneesSansCorrespondances() {
$requete = "SELECT longitude, latitude
FROM `cel_obs`
WHERE code_insee_calcule = ''
GROUP BY `longitude` , `latitude`";
$resultat = $this->recupererTous($requete);
return $resultat;
}
public function creerColonneCodeInseeCalculee() {
$create = "ALTER TABLE `cel_obs` ADD `code_insee_calcule` VARCHAR( 5 ) NOT NULL";
$this->requeter($create);
18,17 → 24,14
public function ajouterCodeInseeCalculee($latitude, $longitude, $code_insee) {
$insert = "UPDATE `cel_obs` SET `code_insee_calcule` = '$code_insee' ".
"WHERE latitude = '$latitude' AND longitude = '$longitude'";
"WHERE latitude = $latitude AND longitude = $longitude";
$this->requeter($insert);
}
public function modifierCodeInsee() {
$update = "UPDATE `cel_obs` SET ce_zone_geo=concat('INSEE-C:' ,`code_insee_calcule`) ".
"WHERE ce_zone_geo= '' ";
$update = "UPDATE `cel_obs` SET `ce_zone_geo` = concat('INSEE-C:' , `code_insee_calcule`) ".
"WHERE ce_zone_geo = '' ";
$this->requeter($update);
}
 
 
}
?>