/branches/v5.12-baouque/scripts/modules/vigie_flore/vigie_flore.ini |
---|
New file |
0,0 → 1,15 |
version="2015_03" |
dossierTsv = "{ref:dossierDonneesEflore}vigie_flore/{ref:version}/" |
dossierSql = "{ref:dossierTsv}" |
[tables] |
donnees = "vigie_flore_v{ref:version}" |
referentielTaxo = "bdtfx_v3_00" |
[fichiers] |
structureSql = "vigie_flore_v{ref:version}.sql" |
donnees = "vigie_flore_v{ref:version}.tsv" |
[chemins] |
structureSql = "{ref:dossierSql}{ref:fichiers.structureSql}" |
donnees = "{ref:dossierTsv}{ref:fichiers.donnees}" |
/branches/v5.12-baouque/scripts/modules/vigie_flore/VigieFlore.php |
---|
New file |
0,0 → 1,85 |
<?php |
/** Exemple lancement: |
* /opt/lampp/bin/php -d memory_limit=3500M cli.php vigie_flore -a chargerTous |
*/ |
class VigieFlore extends EfloreScript { |
public function executer() { |
// Lancement de l'action demandée |
try { |
$this->initialiserProjet('vigie_flore'); |
$cmd = $this->getParametre('a'); |
switch ($cmd) { |
case 'chargerTous' : |
$this->chargerStructureSql(); |
$this->chargerDonnees(); |
$this->genererVue(); |
$this->ajouterOntologie(); |
break; |
case 'chargerStructureSql' : |
$this->chargerStructureSql(); |
break; |
case 'chargerDonnees' : |
$this->chargerDonnees(); |
$this->genererVue(); |
$this->ajouterOntologie(); |
break; |
case 'genererVue' : |
$this->genererVue(); |
break; |
case 'ajouterOntologie' : |
$this->ajouterOntologie(); |
break; |
case 'supprimerTous' : |
$this->supprimerTous(); |
break; |
default : |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!"); |
} |
} catch (Exception $e) { |
$this->traiterErreur($e->getMessage()); |
} |
} |
protected function chargerDonnees() { |
$chemin = Config::get('chemins.donnees'); |
$table = Config::get('tables.donnees'); |
$requete = "LOAD DATA INFILE '$chemin' ". |
"REPLACE INTO TABLE $table ". |
'CHARACTER SET utf8 '. |
'FIELDS '. |
" TERMINATED BY '\t' ". |
" ENCLOSED BY '' ". |
" ESCAPED BY '\\\' ". |
'IGNORE 1 LINES'; |
$this->getBdd()->requeter($requete); |
} |
private function genererVue() { |
$referentielTaxo = Config::get('tables.referentielTaxo'); |
$donnees = Config::get('tables.donnees'); |
$requete = "CREATE VIEW vigie_flore_tapir AS |
SELECT '' as observation_id, b.nom_sci as nom_scientifique_complet, v.nom_sci as nom_sci, b.num_nom, |
v.commune as lieu_commune_code_insee, v.latitude as lieu_station_latitude, v.longitude as lieu_station_longitude, |
ref_geo AS geodeticDatum, v.date as observation_date, observateur AS observateur_nom_complet |
FROM $referentielTaxo b, $donnees v |
WHERE b.cd_nom = v.num_tax_tax_ref |
AND b.num_nom = b.num_nom_retenu;"; |
$this->getBdd()->requeter($requete); |
} |
private function ajouterOntologie() { |
$requete = "INSERT INTO `eflore_ontologies` (`id`, `classe_id`, `nom`, `description`, `code`, `complements`) VALUES |
(25, 10, 'Vigie Flore', 'données issues du <a href=\"http://vigienature.mnhn.fr/flore/vigie-flore\" title=\"Vigie-Flore\" onclick=\"window.open(this.href); return false;\">programme Vigie-Flore</a>', 'VF', 'legende=#9527BA');"; |
$this->getBdd()->requeter($requete); |
} |
private function supprimerTous() { |
$requete = "DROP TABLE IF EXISTS vigie_flore_v2015_03; DROP TABLE vigie_flore_tapir;"; |
$this->getBdd()->requeter($requete); |
Debug::printr('suppression'); |
} |
} |
?> |
/branches/v5.12-baouque/services/modules/0.1/moissonnage/cartes/SourceDonnees.php |
---|
97,6 → 97,8 |
return "(".implode(' OR ',array_unique($criteres)).")"; |
} |
public function recupererStationsMoissonnage($source) { |
$this->bdd->requeter("USE ".Config::get('bdd_nom')); |
$requete = |
110,15 → 112,27 |
return $stations; |
} |
public function recupererStationsVigieFlore() { |
$this->bdd->requeter("USE ".Config::get('bdd_nom')); |
$requete = |
"SELECT DISTINCTROW lieu_commune_code_insee AS commune, Floor(lieu_station_longitude*10)/10 as lng, Floor(lieu_station_latitude*10)/10 as lat, observation_date AS date, observateur_nom_complet AS auteur ". |
"FROM vigie_flore_tapir WHERE ".$this->construireWhereTaxonMoissonnage('vigie_flore')." ". |
"AND lieu_station_longitude BETWEEN ".$this->limitesCarte['ouest']." AND ".$this->limitesCarte['est']." ". |
"AND lieu_station_latitude BETWEEN ".$this->limitesCarte['sud']." AND ".$this->limitesCarte['nord']." ". |
" ORDER BY lat DESC, lng ASC, lieu_commune_code_insee, date"." -- " . __FILE__ . ":" . __LINE__." ". @$_SERVER['REQUEST_URI']; |
$stations = $this->bdd->recupererTous($requete); |
return $stations; |
} |
private function construireWhereTaxonMoissonnage($source) { |
$nomRang = $this->obtenirNomRang(); |
$criteres = array(); |
$criteres[] = ($source == "baznat" || $source == "ifn") ? |
$criteres[] = (in_array($source, array("baznat", "ifn", "vigie_flore")) ) ? |
"num_nom = ".$this->taxon['num_nom'] : |
"nom_scientifique_complet LIKE ".$this->bdd->proteger($this->taxon['nom_sci']) ; |
if ($this->nomRang == 'espece' || $this->nomRang == 'sous_espece') { |
foreach ($this->taxons as $sousTaxon) { |
$criteres[] = ($source == "baznat" || $source == "ifn") ? |
$criteres[] = (in_array($source, array("baznat", "ifn", "vigie_flore"))) ? |
"num_nom = ".$sousTaxon['num_nom'] : |
"nom_scientifique_complet LIKE ".$this->bdd->proteger($sousTaxon['nom_sci']) ; |
} |
/branches/v5.12-baouque/services/modules/0.1/moissonnage/cartes/FormateurSVG.php |
---|
95,19 → 95,13 |
} |
private function recupererCouleursSources() { |
$sourcesDonnees = Config::get('sourcesDonnees'); |
$codesSources = str_replace('floradata', 'cel', $sourcesDonnees).',tout'; |
$codes = explode(',', $codesSources); |
for ($index = 0; $index < count($codes); $index ++) { |
$codes[$index] = "'".$codes[$index]."'"; |
} |
$codesSources = implode(',', $codes); |
$bdd = new Bdd(); |
$requete = "SELECT code, SUBSTR(complements,9) AS couleur FROM ".Config::get('bdd_table_ontologies')." WHERE code IN ({$codesSources})"; |
$requete = "SELECT code, SUBSTR(complements,9) AS couleur FROM ".Config::get('bdd_table_ontologies')." WHERE classe_id = 10"; |
$couleurs = $bdd->recupererTous($requete); |
$listeCouleurs = array(); |
foreach ($couleurs as $couleur) { |
$couleur['code'] = $couleur['code'] == 'cel' ? 'floradata' : $couleur['code']; |
$couleur['code'] = $couleur['code'] == 'VF' ? 'vigie_flore' : $couleur['code']; |
$listeCouleurs[$couleur['code']] = $couleur['couleur']; |
} |
return $listeCouleurs; |
122,7 → 116,11 |
// (probleme de performance, qui sera réglé en reremplissant la table de moissonnage) |
if($taxon['rang'] >= 180) { |
foreach ($this->sources as $source) { |
$nomMethode = "recupererStations".($source == 'floradata' ? 'Floradata' : 'Moissonnage'); |
switch ($source) { |
case 'floradata' : $nomMethode = "recupererStationsFloradata"; break; |
case 'vigie_flore' : $nomMethode = "recupererStationsVigieFlore"; break; |
default : $nomMethode = "recupererStationsMoissonnage"; break; |
} |
$stations = $sourceDonnees->$nomMethode($source); |
$this->ajouterStations($stations, $source); |
} |
155,7 → 153,7 |
$maille = $grille->item($index); |
foreach ($stations as $station) { |
if (!isset($station['lat']) || !isset($station['lng']) || !isset($station['commune'])) { |
continue; |
continue; |
} |
$idMaille = $maille->attributes->getNamedItem('id')->value; |
$bbox = explode('_', substr($idMaille, 5)); |
212,7 → 210,7 |
$date = preg_replace("/(\d{4})-(\d{2})-(\d{2})/", "$3/$2/$1", $station['date']); |
$commentaire .= "le {$date} par {$station['auteur']}"; |
} |
$commentaires[] = trim($commentaire); |
$commentaires[] = trim($commentaire);//print_r($commentaires);echo "<br /><br />"; |
$maille->setAttribute('title', implode('; ', $commentaires)); |
} |
/branches/v5.12-baouque/services/modules |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/services/modules:r1192-1193 |
/branches/v5.12-baouque/services/configurations/config_moissonnage.ini |
---|
23,7 → 23,7 |
; Config spécifique au projet |
; Noms des services disponibles pour ce projet |
servicesDispo = "meta-donnees,aide,ontologies,cartes" |
sourcesDonnees = "floradata,sophy,baznat,ifn" |
sourcesDonnees = "floradata,sophy,baznat,ifn,vigie_flore" |
rangs = "180,220,290,320" |
; referentiels utilises pour les donnees de moissonnage |
/branches/v5.12-baouque/services/configurations |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/services/configurations:r1192-1193 |
/branches/v5.12-baouque |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk:r1192-1193 |