Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 1065 → Rev 1066

/branches/v5.7-arrayanal/services/modules/0.1/osm/ZoneAdmin.php
32,6 → 32,7
 
private $lat = null;
private $lon = null;
private $zone = null;
 
public function __construct(Bdd $bdd) {
$this->bdd = $bdd;
42,6 → 43,7
$this->verifierParametres();
$this->lat = $this->parametres['lat'];
$this->lon = $this->parametres['lon'];
$this->zone = isset($this->parametres['zone']) ? $this->parametres['zone'] : null;
 
$zoneTrouveeInfos = $this->localiserPointLatLon();
$corps = $this->formaterResultats($zoneTrouveeInfos);
92,6 → 94,7
 
private function localiserPointLatLon() {
$osmIdsInClause = $this->getOsmIdsDesCentresAProximites();
$zone = isset($this->zone) ? $this->bdd->proteger($this->zone) : null;
 
$requete = 'SELECT id_zone_geo AS codeZoneGeo, intitule, code_iso_3166_1 AS codeIso31661, '.
'code_iso_3166_2 AS codeIso31662, code_insee AS codeInsee, code_nuts as codeNuts, '.
98,6 → 101,7
'nom_en AS nomEn, nom_es AS nomEs, wikipedia, niveau '.
'FROM osm_zones_admin '.
"WHERE st_within(GEOMFROMTEXT('POINT($this->lon $this->lat)'), polygone) = 1 ".
(isset($zone) ? "AND zone = $zone " : '').
"AND osm_id IN ($osmIdsInClause) ".
' -- '.__FILE__.' : '.__LINE__;
$resultat = $this->bdd->recupererTous($requete);
126,10 → 130,12
}
 
private function construireRequeteUnion() {
$zone = isset($this->zone) ? $this->bdd->proteger($this->zone) : null;
$requeteTpl = 'SELECT osm_id, '.
"(($this->lon - centre_lng) * ($this->lon -centre_lng) + ($this->lat - centre_lat) * ($this->lat - centre_lat)) AS distance ".
'FROM osm_zones_admin '.
'WHERE niveau = %s '.
(isset($zone) ? "AND zone = $zone " : '').
'ORDER BY distance ASC '.
"LIMIT %s ";
$niveaux = array(2,3,4,5,6,7,8);
/branches/v5.7-arrayanal/scripts/modules/osm/config.ini
1,5 → 1,5
; Base de données contenant les infos provenant d'OSM
bdd_osm_nom = "osm"
bdd_osm_nom = "tb_osm"
 
; Ajouter les nouvelles version à la suite dans versions et versionsDonnees.
version = "2.0"
/branches/v5.7-arrayanal/scripts/modules/osm/ZonesAdmin.php
66,7 → 66,7
"CONCAT('OSM-ID:',osm_id)))))), ".
'osm_id, osm_version, osm_timestamp, '.
"if(name_fr != '', name_fr, name), ".
'shape, shape_centroid, Y(shape_centroid), X(shape_centroid), '.
'shape, shape_centroid, Y(shape_centroid), X(shape_centroid), zone, '.
'admin_level, iso3166_1, iso3166_2, ref_insee, ref_nuts, '.
'name, name_fr, name_en, name_es, wikipedia '.
"FROM {$this->bddOsmNom}.multipolygons_ref ".