/trunk/scripts/modules/baseflor/Baseflor.php |
---|
42,13 → 42,14 |
case 'genererChamps' : |
$this->genererChamps(); |
break; |
case 'chargerTous': |
case 'chargerTous': |
$this->chargerStructureSql(); |
$this->chargerMetadonnees(); |
$this->chargerOntologies(); |
$this->chargerDonnees(); |
$this->genererChamps(); |
$this->insererDonneesBaseflorRangSupEcolo(); |
$this->insererDonneesBaseflorRangSupEcolo(); |
$this->insererDonneesIndex(); |
break; |
case 'insererDonneesRangSup' : |
$this->insererDonneesBaseflorRangSupEcolo(); |
62,6 → 63,9 |
case 'voirRangSupEcologie' : |
$this->voirRangSupEcologie(); |
break; |
case 'insererDonneesIndex' : |
$this->insererDonneesIndex(); |
break; |
default : |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!"); |
} |
70,16 → 74,16 |
} |
} |
//-- traitement de la table baseflorRangSupInsertion --// |
private function getClasseBaseflorRangSupInsertion() { |
$conteneur = new Conteneur(); |
require_once dirname(__FILE__)."/BaseflorRangSupInsertion.php"; |
$rangSupInsert = new BaseflorRangSupInsertion($conteneur);///? |
$rangSupInsert = new BaseflorRangSupInsertion($conteneur, $this->getBdd()); |
return $rangSupInsert; |
} |
private function insererDonneesBaseflorRangSupEcolo(){ |
$rangSupInsert = $this->getClasseBaseflorRangSupInsertion(); |
$rangSupInsert->insererDonnees(); |
96,7 → 100,23 |
} |
//-- traitement de la table baseflorIndex --// |
private function getClasseBaseflorIndex() { |
$conteneur = new Conteneur(); |
require_once dirname(__FILE__)."/BaseflorIndex.php"; |
$Index = new BaseflorIndex($conteneur, $this->getBdd()); |
return $Index; |
} |
private function insererDonneesIndex(){ |
$Index= $this->getClasseBaseflorIndex(); |
$Index->insererDonnees(); |
} |
//-- traitement de la table generer champs --// |
private function genererChamps(){ |
$this->initialiserGenerationChamps(); |
$this->ajouterChamps(); |
277,7 → 297,8 |
} |
private function supprimerTous() { |
$requete = "DROP TABLE IF EXISTS baseflor_meta, baseflor_ontologies, baseflor_v2012_03_19"; |
$requete = "DROP TABLE IF EXISTS baseflor_meta, baseflor_ontologies, baseflor_v2012_03_19,". |
" baseflor_rang_sup_ecologie_v2012_03_19, baseflor_index_v2012_03_19 "; |
$this->getBdd()->requeter($requete); |
} |
/trunk/scripts/modules/baseflor/BaseflorIndex.php |
---|
New file |
0,0 → 1,71 |
<?php |
/** |
* |
* @author Mathilde SALTHUN-LASSALLE <mathilde@tela-botanica.org> |
* |
* |
*/ |
class BaseflorIndex { |
private $conteneur; |
private $efloreCommun; |
private $message; |
private $dossierBase; |
private $valeurs_insertion = array(); |
private $Bdd; |
public function __construct(Conteneur $conteneur, Bdd $Bdd) { |
$this->conteneur = $conteneur; |
$this->Bdd = $Bdd; |
$this->efloreCommun = $conteneur->getEfloreCommun(); |
$this->message = $conteneur->getMessages(); |
$this->dossierBase = dirname(__FILE__).'/'; |
} |
public function insererDonnees(){ |
$this->efloreCommun->chargerFichierSql('chemins.index_sql'); |
$this->recupererDonneesBaseflor(); |
$this->recupererDonneesRangSup(); |
$this->insererDonneesIndex(); |
} |
private function recupererDonneesBaseflor() { |
$table = Config::get('tables.donnees'); |
$requete = "SELECT cle, num_nomen, BDNT FROM $table ;"; |
$resultat = $this->Bdd->recupererTous($requete); |
$this->valeurs_insertion['baseflor'] = $resultat; |
$this->valeurs_insertion['rangSup'] = $resultat; |
} |
private function recupererDonneesRangSup() { |
$table = Config::get('tables.rang_sup'); |
$requete = "SELECT cle, num_nomen, bdnt FROM $table ;"; |
$resultat = $this->Bdd->recupererTous($requete); |
$this->valeurs_insertion['rangSup']= $resultat; |
} |
private function insererDonneesIndex() { |
$table = Config::get('tables.index'); |
$requete_truncate = 'TRUNCATE TABLE '.$table; |
$this->Bdd->requeter($requete_truncate); |
foreach ($this->valeurs_insertion as $tab => $res){ |
if ($tab == 'baseflor') { |
foreach ($res as $valeurs ) { |
$requete = "INSERT INTO $table VALUES('',{$valeurs['cle']},null,'".strtolower($valeurs['BDNT']).".nn:{$valeurs['num_nomen']}')"; |
$this->Bdd->requeter($requete); |
$this->message->afficherAvancement('Insertion des valeurs issues de baseflor en cours'); |
} |
} else { |
foreach ($res as $valeurs ) { |
$requete = "INSERT INTO $table VALUES('',null,{$valeurs['cle']},'{$valeurs['bdnt']}.nn{$valeurs['num_nomen']}')"; |
$this->Bdd->requeter($requete); |
$this->message->afficherAvancement('Insertion des valeurs issues des rangs supérieurs en cours'); |
} |
} |
} |
} |
} |
?> |
/trunk/scripts/modules/baseflor/baseflor.ini |
---|
2,6 → 2,7 |
dossierTsv = "{ref:dossierDonneesEflore}baseflor/2012-03-19/" |
dossierSql = "{ref:dossierTsv}" |
dossierRangSup = "{ref:dossierDonneesEflore}baseflor/2012-03-19/rang_sup/" |
dossierIndex = "{ref:dossierDonneesEflore}baseflor/2012-03-19/index/" |
[tables] |
donnees = "baseflor_v{ref:version}" |
9,6 → 10,7 |
metadonnees = "baseflor_meta" |
rang_sup = "baseflor_rang_sup_ecologie_v{ref:version}" |
taxons = "bdtfx_v1_02"; |
index = "baseflor_index_v{ref:version}"; |
19,6 → 21,7 |
donnees_verif = "baseflor_verif.txt" |
ontologies = "baseflor_ontologies.tsv" |
rang_sup_sql = "baseflor_rang_sup_ecologie.sql" |
index_sql = "baseflor_index.sql" |
[chemins] |
structureSql = "{ref:dossierSql}{ref:fichiers.structureSql}" |
27,7 → 30,9 |
ontologies ="{ref:dossierTsv}{ref:fichiers.ontologies}" |
metadonnees = "{ref:dossierSql}{ref:fichiers.metadonnees}" |
rang_sup_sql = "{ref:dossierRangSup}{ref:fichiers.rang_sup_sql}" |
index_sql = "{ref:dossierIndex}{ref:fichiers.index_sql}" |
[services] |
url_base="http://localhost/" |
url_service_base="{ref:url_base}service:eflore:0.1/" |
/trunk/scripts/modules/baseflor/BaseflorRangSupInsertion.php |
---|
1,8 → 1,7 |
<?php |
/** |
* |
* /opt/lampp/bin/php -d memory_limit=3500M ~/web/eflore-projets/scripts/cli.php baseflor/Baseflor_rang_sup_insertion |
* -a insererDonnees |
* |
* @author Mathilde SALTHUN-LASSALLE <mathilde@tela-botanica.org> |
* |
* |
20,10 → 19,12 |
private $nn_courant; |
private $nn_superieur; |
private $champs_ecologiques = array(); |
private $Bdd; |
public function __construct(Conteneur $conteneur) { |
public function __construct(Conteneur $conteneur, Bdd $bdd) { |
$this->conteneur = $conteneur; |
$this->Bdd = $bdd; |
$this->efloreCommun = $conteneur->getEfloreCommun(); |
$this->message = $conteneur->getMessages(); |
$this->outils = $conteneur->getOutils(); |
32,7 → 33,7 |
public function insererDonnees(){ |
echo "Chargement de la structure en cours \n" ; |
$this->efloreCommun->chargerStructureSql('chemins.rang_sup_sql'); |
$this->efloreCommun->chargerFichierSql('chemins.rang_sup_sql'); |
echo "Récupération des données de baseflor en cours \n"; |
$this->recupererDonneesInitiales(); |
echo "Calcul des valeurs pour les rangs supérieurs en cours \n"; |
45,9 → 46,9 |
private function insererDonneesRangSup() { |
$table = Config::get('tables.rang_sup'); |
$requete_truncate = 'TRUNCATE TABLE '.$table; |
$this->efloreCommun->getBdd()->requeter($requete_truncate); |
$this->Bdd->requeter($requete_truncate); |
foreach ($this->valeurs_insertion as $nn => $valeurs){ |
$requete = "INSERT INTO $table VALUES($nn, 'bdtfx', '{$valeurs['ve_lumiere']['min']}', ". |
$requete = "INSERT INTO $table VALUES('',$nn, 'bdtfx', '{$valeurs['ve_lumiere']['min']}', ". |
"'{$valeurs['ve_lumiere']['max']}','{$valeurs['ve_temperature']['min']}',". |
"'{$valeurs['ve_temperature']['max']}','{$valeurs['ve_continentalite']['min']}',". |
"'{$valeurs['ve_continentalite']['max']}','{$valeurs['ve_humidite_atmos']['min']}',". |
58,7 → 59,7 |
"'{$valeurs['ve_salinite']['max']}','{$valeurs['ve_texture_sol']['min']}',". |
"'{$valeurs['ve_texture_sol']['max']}','{$valeurs['ve_mat_org_sol']['min']}',". |
"'{$valeurs['ve_mat_org_sol']['max']}');"; |
$this->efloreCommun->getBdd()->requeter($requete); |
$this->Bdd->requeter($requete); |
$this->message->afficherAvancement('Insertion des valeurs pour les rangs supérieurs en cours'); |
} |
} |
160,7 → 161,7 |
$requete = 'SELECT A.num_nom AS nn, B.num_tax_sup AS nn_sup, A.rang '. |
"FROM $table A JOIN $table B ON (A.num_nom_retenu = B.num_nom) ". |
'WHERE B.num_nom = B.num_nom_retenu '; |
$resultat = $this->efloreCommun->getBdd()->recupererTous($requete); |
$resultat = $this->Bdd->recupererTous($requete); |
foreach ($resultat as $res) { |
$this->infos_taxon[$res['nn']] = array('nn_sup' => $res['nn_sup'], 'rang' => $res['rang'] ); |
} |
176,7 → 177,7 |
" AND (ve_lumiere != '' OR ve_mat_org_sol != '' OR ve_temperature != '' ". |
" OR ve_continentalite != '' OR ve_humidite_atmos != '' OR ve_humidite_edaph != '' ". |
" OR ve_nutriments_sol != '' OR ve_salinite != '' OR ve_texture_sol != '' OR ve_reaction_sol != '' )"; |
$resultat = $this->efloreCommun->getBdd()->recupererTous($requete); |
$resultat = $this->Bdd->recupererTous($requete); |
foreach ($resultat as $res) { |
$this->donnees_initiales[$res['num_nomen']] = array( |
've_lumiere' => array('min' => $res['ve_lumiere'], 'max' => $res['ve_lumiere']), |