renvoie un graphique avec les données connues * * * @package eflore-projets * @author Jean-Pascal MILCENT * @author Mathilde SALTHUN-LASSALLE * @license GPL v3 * @license CECILL v2 * @version 1.0 * @copyright 1999-2011 Tela Botanica (accueil@tela-botanica.org) */ class GraphiquesBaseflor extends CommunGraphiques{ public function definirTable($version){ $this->table = Config::get('bdd_table')."_v".$version; } //+--------------------------traitement ressources ou paramètres -------------------------------------------+ public function traiterReferentieletNum(){ if (!empty($this->ressources[1])) { if(preg_match('/^(.+)\.nn:([0-9|,]+)$/', $this->ressources[1], $retour) == 1){ switch ($retour[1]) { case 'bdtfx' : $this->requete_condition[]= "num_nomen = ".$retour[2]." AND bdnt = 'bdtfx' "; break; case 'bdafx' : $this->requete_condition[] = "num_nomen = ".$retour[2]." AND bdnt = 'bdafx' "; break; case 'bdbfx' : $this->requete_condition[] = "num_nomen = ".$retour[2]." AND bdnt = 'bdbfx' "; break; default : $e = "Le référentiel {$retour[1]} n'existe pas."; throw new Exception( $e, RestServeur::HTTP_CODE_MAUVAISE_REQUETE); break; } }else { $e = "Erreur dans l'url de votre requête :". " précisez le référentiel et le numéro nomenclatural sous la forme {bdnt}.nn:{nn}."; throw new Exception( $e, RestServeur::HTTP_CODE_MAUVAISE_REQUETE); } } else { throw new Exception( "Erreur dans l'url de votre requête :". " précisez le référentiel et le numéro nomenclatural sous la forme {bdnt}.nn:{nn}.", RestServeur::HTTP_CODE_MAUVAISE_REQUETE); } } public function traiterTypeGraphique(){ if (!empty($this->ressources[0])) { switch ($this->ressources[0]) { case 'climat' : $this->requete_champs = ' ve_lumiere , ve_temperature, ve_continentalite, ve_humidite_atmos' ; $this->nomGraphique= 'climat'; break; case 'sol' : $this->requete_champs = ' ve_humidite_edaph , ve_reaction_sol, ve_nutriments_sol, ve_salinite,' .'ve_texture_sol, ve_mat_org_sol' ; $this->nomGraphique = 'sol'; break; default : $e = "Erreur dans l'url de votre requête :". "
precisez le graphique -> \"sol\" ou \"climat\"."; throw new Exception($e, RestServeur::HTTP_CODE_MAUVAISE_REQUETE); break; } }else { throw new Exception("Erreur dans l'url de votre requête :". "
precisez le graphique -> \"sol\" ou \"climat\".", RestServeur::HTTP_CODE_MAUVAISE_REQUETE); } } //+-------------------------- formatage du résultat -------------------------------------------+ /// ++++ svg +++++ /// public function changerValeursSVG(){ $Dompath = new DOMXPath($this->dom); foreach ($this->valeurs_en_pourcentage as $cle => $val) { if ($val !== null) { // sinon valeur inconnue donc pas de point rouge $val = preg_replace('/,/','.', $val); $grad_id = array_search($val,$this->graduations_id); $element = $Dompath->query("//*[@id='".$grad_id."']")->item(0); if($element != null) { $pos_x = $element->getAttribute('x1'); $curseur = $Dompath->query("//*[@id='".$cle."']")->item(0); $curseur->setAttribute('cx', $pos_x); $curseur->setAttribute('class', 'curseur'); $this->ajouterInfoAuSurvol($curseur); } } } $this->ajusterFormatSVG(); } public function ajouterInfoAuSurvol($curseur){ $champs = $curseur->getAttribute('id'); $valeurTexte = $this->recupererOntologies($this->valeurs_champs[$champs], $champs ); if ($valeurTexte !== false) { $valeurTexte = $this->traiterIntermediaires($valeurTexte->nom, $champs, $champs); $curseur->setAttribute('title',$this->valeurs_champs[$champs].": ".$valeurTexte ); } } } ?>