Rev 1090 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');// Inclusion des dépendances à Proj4Php.require 'vendor/autoload.php';/*** @api {get} /coord-transfo/point?x=:x&y=:y&epsg-src=:epsg-src&epsg-dest=:epsg-dest Transforme des coordonnées.* @apiName GetCoordTransfo* @apiGroup coord-transfo* @apiGroupDescription Transforme les coordonnées X et Y d'un point en fonction d'un EPSG source (epsg-src) et d'un EPSG de* destination (epsg-dest).* Exemples d'EPSG fonctionnels :* - Lambert 93 : 'EPSG:2154'* - WGS84 : 'EPSG:4326'** @apiParam {String} x info de l'axe des x (longitude).* @apiParam {String} y info de l'axe des y (latitude).* @apiParam {Number} epsg-src nombre entier correspondant au code EPSG du système de coordonnée source.* @apiParam {Number} epsg-dest nombre entier correspondant au code EPSG du système de coordonnée de destination.** @apiSuccess {String} x info de l'axe des x (longitude) transformé.* @apiSuccess {String} y info de l'axe des y (latitude) transformé.* @apiSuccess {String} EPSG nombre entier correspondant au code EPSG du système de coordonnée de destination.** @category eFlore* @package Services* @subpackage Coord-transfo* @version 0.1* @author Mathias CHOUET <mathias@tela-botanica.org>* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @author Aurelien PERONNET <aurelien@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>* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>*/class Point {private $parametres = array();private $ressources = array();private $coordonnees = array();public function consulter($ressources, $parametres) {$this->ressources = $ressources;$this->parametres = $parametres;$retour = null;try {$this->transformerCoordonnees();$retour = $this->coordonnees;} catch (Exception $erreur) {$retour = $erreur->getMessage();}return $retour;}private function transformerCoordonnees() {$proj4 = new Proj4php();$projSource = new Proj4phpProj('EPSG:'.$this->parametres['epsg-src'], $proj4);$projDestination = new Proj4phpProj('EPSG:'.$this->parametres['epsg-dest'], $proj4);$pointSrc = new proj4phpPoint($this->parametres['x'], $this->parametres['y']);$pointDest = $proj4->transform($projSource, $projDestination, $pointSrc);$this->coordonnees['x'] = round($pointDest->x, 5);$this->coordonnees['y'] = round($pointDest->y, 5);$this->coordonnees['EPSG'] = $this->parametres['epsg-dest'];}}