Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 296 Rev 297
Line 33... Line 33...
33
    
33
    
34
    private function getElementParDefaut() {
34
    private function getElementParDefaut() {
35
    	return $this->getInformationsPourCoordonnees();
35
    	return $this->getInformationsPourCoordonnees();
Line 36... Line 36...
36
    }
36
    }
Line 37... Line 37...
37
    
37
    
38
    private function getInformationsPourCoordonnees($params) {
38
    public function getInformationsPourCoordonnees($params) {
Line 39... Line 39...
39
    	
39
    	
-
 
40
    	$lat = $_GET['lat'];
-
 
41
    	$lon = $_GET['lon'];
40
    	$lat = $_GET['lat'];
42
    	
-
 
43
    	// les erreurs sont mises sous silence car le cas où file_get_contents ne retourne rien
Line 41... Line 44...
41
    	$lon = $_GET['lon'];
44
    	// correspond à un cas valide où l'on a pas de données sur ses coordonnées
42
    	
45
    	// (ce cas est traité dans formaterTableauInformationsCoordsPourEnvoi)
-
 
46
    	$url_atitude = "http://api.tela-botanica.org/service:eflore:0.1/nasa-srtm/altitude?lon=".urlencode($lon)."&lat=".urlencode($lat);
Line 43... Line 47...
43
    	$infos_altitude_json = file_get_contents('http://maps.googleapis.com/maps/api/elevation/json?sensor=false&locations='.$lat.','.$lon);
47
    	$infos_altitude_json = @file_get_contents($url_atitude);
Line 44... Line 48...
44
    	$infos_commune_json = file_get_contents("http://api.geonames.org/findNearbyJSON?featureClass=ADM4&lat=".urlencode($lat)."&lng=".urlencode($lon)."&style=full") ;
48
 
45
 
49
		$url_commune = "http://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon=".urlencode($lon)."&lat=".urlencode($lat);
Line 56... Line 60...
56
    	$commune = $_GET['commune'];
60
    	$commune = $_GET['commune'];
Line 57... Line 61...
57
    	
61
    	
Line 58... Line 62...
58
    	$commune = $this->remplacerNomCommunePourRecherche($commune);
62
    	$commune = $this->remplacerNomCommunePourRecherche($commune);
59
    	
-
 
60
    	$requete_infos_communes = 'SELECT * FROM ods_communes WHERE oc_nom LIKE '.$this->proteger($commune).' ORDER BY oc_nom LIMIT 0,10';
63
    	
61
    
64
    	$requete_infos_communes = 'SELECT * FROM ods_communes WHERE oc_nom LIKE '.$this->proteger($commune).' ORDER BY oc_nom LIMIT 0,10';
62
    	$infos_communes = $this->executerRequete($requete_infos_communes);
65
    	$infos_communes = $this->executerRequete($requete_infos_communes);
Line 63... Line 66...
63
    	
66
 
64
		$infos_communes_formatees = $this->formaterTableauInformationsCommunePourEnvoi($infos_communes);   	
67
		$infos_communes_formatees = $this->formaterTableauInformationsCommunePourEnvoi($infos_communes);   	
Line 112... Line 115...
112
    
115
    
Line 113... Line 116...
113
    private function formaterTableauInformationsCoordsPourEnvoi($infos_altitude_json, $infos_commune_json) {
116
    private function formaterTableauInformationsCoordsPourEnvoi($infos_altitude_json, $infos_commune_json) {
114
    	
117
    	
115
    	$infos_altitude = json_decode($infos_altitude_json);
-
 
116
    	$infos_commune = json_decode($infos_commune_json);
-
 
117
    	    	
-
 
118
    	$altitude = $infos_altitude->results[0]->elevation;
-
 
119
    	$altitude = number_format($altitude, 0, '', '');
-
 
120
    	
-
 
121
    	$lat = $infos_altitude->results[0]->location->lat;
-
 
122
    	$lon = $infos_altitude->results[0]->location->lng;
-
 
123
    	
-
 
124
    	$commune = $infos_commune->geonames[0]->adminName4;
-
 
125
    	$dpt = $infos_commune->geonames[0]->adminCode2;
-
 
126
    	
-
 
127
    	$cp_recherche = $dpt;
-
 
128
		if(strlen($cp_recherche) == 4) {
-
 
129
			$cp_recherche = '0'.$cp_recherche;
-
 
130
		}
-
 
131
		
-
 
132
		$commune_phenoclim = $this->estUneCommunePhenoclim(array('code_postal' => $cp_recherche));
-
 
Line -... Line 118...
-
 
118
    	$infos_altitude = json_decode($infos_altitude_json);
-
 
119
    	$infos_commune = json_decode($infos_commune_json);
-
 
120
    	
-
 
121
    	$altitude = "";
-
 
122
    	$dpt = "";
-
 
123
    	$lat = "";
-
 
124
    	$lon = "";
-
 
125
    	$altitude = "";
-
 
126
    	$code_insee = "";
-
 
127
    	$commune = "";
-
 
128
    	$commune_phenoclim = false;
-
 
129
    	
-
 
130
    	
-
 
131
    	if(is_object($infos_altitude)) {    	    	
-
 
132
    		$altitude = $infos_altitude->altitude;
-
 
133
    		$altitude = number_format($altitude, 0, '', '');
-
 
134
    		$lat = $infos_altitude->latitude;
-
 
135
    		$lon = $infos_altitude->longitude;
-
 
136
    	}
-
 
137
    	
-
 
138
    	if(is_object($infos_commune)) {
-
 
139
	    	$commune = $infos_commune->nom;
-
 
140
	    	$dpt = $infos_commune->codeINSEE;
-
 
141
	    	
-
 
142
	    	$cp_recherche = $dpt;
-
 
143
			if(strlen($cp_recherche) == 4) {
-
 
144
				$cp_recherche = '0'.$cp_recherche;
-
 
145
			}
-
 
146
			
-
 
147
			$commune_phenoclim = $this->estUneCommunePhenoclim(array('code_postal' => $cp_recherche));
133
 
148
	
134
		$cp_recherche = substr($cp_recherche,0,2);
149
			$cp_recherche = substr($cp_recherche,0,2);
135
    	
150
	    	
136
		$code_insee = '';
151
			$code_insee = '';
-
 
152
			if($commune != null) {
Line 137... Line 153...
137
		if($commune != null) {
153
	    		$code_insee = $this->obtenirCodeInseeCommune($commune, $cp_recherche);
138
    		$code_insee = $this->obtenirCodeInseeCommune($commune, $cp_recherche);
154
			}
139
		}
155
    	}
140
    	
156
    	
Line 180... Line 196...
180
			    'alt' => $commune['oc_altitude'],
196
			    'alt' => $commune['oc_altitude'],
181
				'code_insee' => $commune['oc_code_insee'],
197
				'code_insee' => $commune['oc_code_insee'],
182
				'commune_phenoclim' => $commune_phenoclim
198
				'commune_phenoclim' => $commune_phenoclim
183
    		);
199
    		);
184
		}
200
		}
-
 
201
 
185
    	return $infos_formatees;
202
    	return $infos_formatees;
186
    }
203
    }
Line 187... Line 204...
187
    
204