Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1056 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1056 Rev 1060
1
<?php
1
<?php
2
/**
2
/**
3
 * Création de la table osm_communes.
3
 * Création de la table osm_communes.
4
 * /opt/lampp/bin/php cli.php osm -a communes -m manuel
4
 * /opt/lampp/bin/php cli.php osm -a communes -m manuel
5
 *
5
 *
6
 */
6
 */
7
class FranceCommunes {
7
class FranceCommunes {
8
 
8
 
9
	private $conteneur;
9
	private $conteneur;
10
	private $bdd;
10
	private $bdd;
11
	private $messages;
11
	private $messages;
12
	private $mode;
12
	private $mode;
13
 
13
 
14
	private $bddOsmNom;
14
	private $bddOsmNom;
15
 
15
 
16
	public function __construct($conteneur) {
16
	public function __construct($conteneur) {
17
		$this->conteneur = $conteneur;
17
		$this->conteneur = $conteneur;
18
		$this->bdd = $this->conteneur->getBdd();
18
		$this->bdd = $this->conteneur->getBdd();
19
		$this->bddOsmNom = $this->conteneur->getParametre('bdd_osm_nom');
19
		$this->bddOsmNom = $this->conteneur->getParametre('bdd_osm_nom');
20
		$this->messages = $this->conteneur->getMessages();
20
		$this->messages = $this->conteneur->getMessages();
21
		$this->mode = $this->conteneur->getParametre('m');
21
		$this->mode = $this->conteneur->getParametre('m');
22
	}
22
	}
23
 
23
 
24
	public function executer() {
24
	public function executer() {
25
		// Lancement de l'action demandée
25
		// Lancement de l'action demandée
26
		$cmd = $this->conteneur->getParametre('a');
26
		$cmd = $this->conteneur->getParametre('a');
27
		switch ($cmd) {
27
		switch ($cmd) {
28
			case 'cm' :
28
			case 'cm' :
-
 
29
				$this->supprimerTableOsmCommunes();
-
 
30
				$this->conteneur->getEfloreCommun()->chargerStructureSql();
-
 
31
				$this->creerTableOsmCommunes();
-
 
32
				break;
-
 
33
			case 'cmCreer' :
29
				$this->creerTableOsmCommunes();
34
				$this->creerTableOsmCommunes();
30
				break;
35
				break;
31
			case 'cmSupprimer' :
36
			case 'cmSupprimer' :
32
				$this->supprimerTableOsmCommunes();
37
				$this->supprimerTableOsmCommunes();
33
				break;
38
				break;
34
			default :
39
			default :
35
				$this->messages->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
40
				$this->messages->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
36
		}
41
		}
37
 
42
 
38
	}
43
	}
39
 
44
 
40
	private function supprimerTableOsmCommunes() {
45
	private function supprimerTableOsmCommunes() {
41
		$requete = 'DROP TABLE IF EXISTS osm_communes '.
46
		$requete = 'DROP TABLE IF EXISTS osm_communes '.
42
			' -- '.__FILE__.' : '.__LINE__;
47
			' -- '.__FILE__.' : '.__LINE__;
43
		$this->bdd->requeter($requete);
48
		$this->bdd->requeter($requete);
44
	}
49
	}
45
 
50
 
46
	private function creerTableOsmCommunes() {
51
	private function creerTableOsmCommunes() {
47
		$requete = 'INSERT INTO osm_communes '.
52
		$requete = 'INSERT INTO osm_communes '.
48
			"SELECT osm_id, osm_version, osm_timestamp, name, ref_insee, shape, shape_centroid, wikipedia ".
53
			"SELECT osm_id, osm_version, osm_timestamp, name, ref_insee, shape, shape_centroid, wikipedia ".
49
			"FROM {$this->bddOsmNom}.multipolygons_ref ".
54
			"FROM {$this->bddOsmNom}.multipolygons_ref ".
50
			"WHERE zone = 'france' AND admin_level = 8 ".
55
			"WHERE zone = 'france' AND admin_level = 8 ".
51
			' -- '.__FILE__.' : '.__LINE__;
56
			' -- '.__FILE__.' : '.__LINE__;
52
		$this->bdd->requeter($requete);
57
		$this->bdd->requeter($requete);
53
	}
58
	}
54
}
59
}