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 { |