Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 742 | Rev 1091 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 742 Rev 743
Line 1... Line 1...
1
<?php
1
<?php
Line -... Line 2...
-
 
2
 
-
 
3
/**
-
 
4
 * Classe unique du web service nasa-srtm qui détermine l'altitude d'un point à partir de ses coordonnees
-
 
5
 * Les coordonnees sont definies dans des fichiers au format HGT dans un dossier specifique
-
 
6
 * (dont le chemin est defini dans le fichier de configuration propre au web service).
-
 
7
 * Les ressources utilisees sont les donnees issues du programme SRTM-3 de la NASA qui couvre
-
 
8
 * l'ensemble terrestre du monde. La precision des points dont on renvoie l'altitude est de 90 metres.
-
 
9
 * Chaque fichier couvre un secteur de 1 degre sur 1 degre et contient un tableau de 1201 lignes
-
 
10
 * (axe des latitudes) sur 1201 colonnes (axe des longitudes) contenant l'altitude en metres
-
 
11
 * correspondant a des point precis. L'ecart entre chaque entree des tableaux est constant, ce qui
-
 
12
 * permet de calculer la latitude et la longitude de chaque point. L'altitude du point le plus proche
-
 
13
 * de celui passe en parametres sera renvoyee au client.
-
 
14
 * 
-
 
15
 * Parametres du web service :
-
 
16
 *   - latitude : latitude du point dont on recherche les coordonnees
-
 
17
 *   - longitude : longitude du point dont on recherche les coordonnees
-
 
18
 * 
-
 
19
 * @package framework-0.4
-
 
20
 * @author Alexandre GALIBERT <alexandre.galibert@tela-botanica.org>
-
 
21
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
-
 
22
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
-
 
23
 * @version $Id$
-
 
24
 * @copyright 2013 Tela Botanica (accueil@tela-botanica.org)
-
 
25
 *
-
 
26
 */
-
 
27
 
2
 
28
 
Line 3... Line 29...
3
class Altitude {
29
class Altitude {
4
	
30
	
5
	private $parametres = array();
31
	private $parametres = array();
Line 25... Line 51...
25
		}
51
		}
26
		return $retour;
52
		return $retour;
27
	}
53
	}
Line 28... Line 54...
28
	
54
	
29
	private function traiterCoordonnees() {
55
	private function traiterCoordonnees() {
30
		if ($this->estParametreExistant('latitude') && $this->estParametreExistant('longitude')) {
56
		if ($this->estParametreExistant('lat') && $this->estParametreExistant('lon')) {
31
			$longitude = $this->parametres['longitude'];
57
			$longitude = $this->parametres['lon'];
32
			$latitude  = $this->parametres['latitude'];
58
			$latitude  = $this->parametres['lat'];
33
			if ($this->estUnFloat($longitude) && $this->estUnFloat($latitude)) {
59
			if ($this->estUnFloat($longitude) && $this->estUnFloat($latitude)) {
34
				$this->verifierValiditeCoordonnees($longitude, $latitude);
60
				$this->verifierValiditeCoordonnees($longitude, $latitude);
35
			} else {
61
			} else {
36
				$message = "La valeur des coordonnées longitude ou latitude n'est pas correcte. ".
62
				$message = "La valeur des coordonnées longitude ou latitude n'est pas correcte. ".