Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 742 → Rev 743

/trunk/services/modules/0.1/nasa-srtm/Altitude.php
1,5 → 1,31
<?php
 
/**
* Classe unique du web service nasa-srtm qui détermine l'altitude d'un point à partir de ses coordonnees
* Les coordonnees sont definies dans des fichiers au format HGT dans un dossier specifique
* (dont le chemin est defini dans le fichier de configuration propre au web service).
* Les ressources utilisees sont les donnees issues du programme SRTM-3 de la NASA qui couvre
* l'ensemble terrestre du monde. La precision des points dont on renvoie l'altitude est de 90 metres.
* Chaque fichier couvre un secteur de 1 degre sur 1 degre et contient un tableau de 1201 lignes
* (axe des latitudes) sur 1201 colonnes (axe des longitudes) contenant l'altitude en metres
* correspondant a des point precis. L'ecart entre chaque entree des tableaux est constant, ce qui
* permet de calculer la latitude et la longitude de chaque point. L'altitude du point le plus proche
* de celui passe en parametres sera renvoyee au client.
*
* Parametres du web service :
* - latitude : latitude du point dont on recherche les coordonnees
* - longitude : longitude du point dont on recherche les coordonnees
*
* @package framework-0.4
* @author Alexandre GALIBERT <alexandre.galibert@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright 2013 Tela Botanica (accueil@tela-botanica.org)
*
*/
 
 
class Altitude {
private $parametres = array();
27,9 → 53,9
}
private function traiterCoordonnees() {
if ($this->estParametreExistant('latitude') && $this->estParametreExistant('longitude')) {
$longitude = $this->parametres['longitude'];
$latitude = $this->parametres['latitude'];
if ($this->estParametreExistant('lat') && $this->estParametreExistant('lon')) {
$longitude = $this->parametres['lon'];
$latitude = $this->parametres['lat'];
if ($this->estUnFloat($longitude) && $this->estUnFloat($latitude)) {
$this->verifierValiditeCoordonnees($longitude, $latitude);
} else {