Carte géographique de la France

Résolu
Signaler
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010
-
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
-
Bonsoir,

Je dois créer une carte géographique en php/mysql. Si on clique sur une ville, affichage du nombre d'habitants, densité,département,région.

Merci de votre aide

18 réponses

Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
Je te donnes un coup de main : va voir mon profil....

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
42
salut

tu peux commencer par chercher sur php.net, j'en ai deja vu.
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonjour,

Je n'ai pas trouvé ce que je cherchais sur php.net. Pouvez-vous m'indiquer qu'est-ce que vous avez ça avec précision. Indiquez-moi les rubriques. Le chemin à suivre.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
42
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonsoir,Flachy Joe

Quand j'ai testé votre carte sous easyphp en mettant tous les fichiers et le repertoire carte dans www, la carte s'affiche avec les principales villes, mais:

- Lorsque je zoome sur une ville, rien ne s'affiche, la carte disparait, sauf les orientations géographiques.
- Si je tape le nom d'une commune(AAST) comme exemple dans la rubrique recherche, voici l'erreur qui s'affcihe:
Erreur lors de l'execution de la requete : SELECT * FROM communes WHERE nom LIKE 'AAST' AND cp LIKE '%' AND cp LIKE '%___' ORDER BY cp ASC
La table 'carte.communes' n'existe pas

-Meme chose dans recherche avancée, en remplissant l'un des champs, meme erreur d'affichage.
En plus, j'ai vérifie que la bibliothèqye gd est installée grace au fichier phpinfo.php. J'ai crée une base de donées nommée ville, et une table nommée communes avec la structure de la table communes, à partir de la console Invite de commandes de windows
CREATE TABLE `communes` (
  `nom` varchar(35) collate latin1_general_cs NOT NULL,
  `cp` mediumint(5) unsigned NOT NULL default '0',
  `dep` varchar(23) collate latin1_general_cs NOT NULL,
  `latitude` float(11,9) NOT NULL default '0.000000000',
  `longitude` float(11,9) NOT NULL default '0.000000000',
  `hab` mediumint(7) unsigned NOT NULL default '0',
  `pref` tinyint(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;

Cependant son contenu, je ne l'ai pas tapé. J'ai voulu importer l'importer grace à phpmyadmin, le problème c'est que le fichier communes.sql que j'ai compréssé pèse 2,62 Mo, et l'ai exécuté, il y avait erreur car autorisé, 2,048Mo.

Sachant que je débute en PHPMYSQL. Comment faire pour résoudre ce problème. Merci de votre aide

winosx01
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonsoir,Flachy Joe

Quand j'ai testé votre carte sous easyphp en
mettant tous les fichiers et le repertoire carte dans www, la carte
s'affiche avec les principales villes, mais:

- Lorsque je zoome sur une ville, rien ne s'affiche, la carte disparait, sauf les orientations géographiques.
- Si je tape le nom d'une commune(AAST) comme exemple dans la rubrique recherche, voici l'erreur qui s'affcihe:
Erreur lors de l'execution de la requete : SELECT * FROM communes WHERE nom LIKE 'AAST' AND cp LIKE '%' AND cp LIKE '%___' ORDER BY cp ASC
La table 'carte.communes' n'existe pas

-Meme chose dans recherche avancée, en remplissant l'un des champs, meme erreur d'affichage.
En
plus, j'ai vérifie que la bibliothèqye gd est installée grace au
fichier phpinfo.php. J'ai crée une base de donées nommée ville, et une
table nommée communes avec la structure de la table communes, à partir
de la console Invite de commandes de windows
CREATE TABLE `communes` (
  `nom` varchar(35) collate latin1_general_cs NOT NULL,
  `cp` mediumint(5) unsigned NOT NULL default '0',
  `dep` varchar(23) collate latin1_general_cs NOT NULL,
  `latitude` float(11,9) NOT NULL default '0.000000000',
  `longitude` float(11,9) NOT NULL default '0.000000000',
  `hab` mediumint(7) unsigned NOT NULL default '0',
  `pref` tinyint(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;

Cependant
son contenu, je ne l'ai pas tapé. J'ai voulu importer l'importer grace
à phpmyadmin, le problème c'est que le fichier communes.sql que j'ai
compréssé pèse 2,62 Mo, et l'ai exécuté, il y avait erreur car
autorisé, 2,048Mo.

Sachant que je débute en PHPMYSQL. Comment faire pour résoudre ce problème. Merci de votre aide

winosx01
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
Il y a un script d'ajout : install_bdd.php dans le même répertoire que le fichier sql. Édite le pour ajuster les user/password.

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
Et lance le depuis le navigateur....

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonsoir, Flachy Joe,

J'ai importé le fichier zippé (communes.sql.gz) et l'importation s'est bien passé. Mysql a importé la structure de la table et le contenu de la table, c'est-à-dire que la base de donnée et la table sont installées dans phpmyadmin.. Malgré tout ça, le zoomage n'affiche rien, et la recherche des communes m'affiche ceci :
Erreur lors de l'execution de la requete : SELECT * FROM communes WHERE nom LIKE 'AAST' AND cp LIKE '%' AND cp LIKE '%___' ORDER BY cp ASC
La table 'carte.communes' n'existe pas.
 
C'est urgent, je ne vois pas comment je vais résoudre ce problème. Explique-moi pourquoi, ce type d' erreur s'affiche. Je pense que j'ai tout tenté. Peut-etre, j'ai oublié quelque chose. Pourtant la table communes existe.
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
Tu as importé la table 'communes' mais est ce que ta base de donnée s'appelle bien 'carte' chez beaucoup d'hébergeur, tu n'as qu'une seule base qui porte le nom de ton compte.

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Salut, au début, j'avais nommé ma base de donnée ville. J'ai changé le nom de la base de donnée et je l'ai nomée désormais 'carte'. La recherche d'une ville par exemple (AUST) fonctionne bien et il m'affiche ceci: (64460, PYRENEES ATLANTIQUES).Si, je fais rentrer comme ville oise, ça m'affiche une liste de ville. Toutefois, il me reste toujours le problème du zoomage. Quand, je zoome sur n'importe quelle ville, rien ne s'affiche, ni la ville, ni les ville proches. Je ne sais pas pourquoi. C'est vrai, l'erreur de la recherche d'une ville au début venait que je n'ai nommé la base de donnée ville au lieu de carte, donc je ne le savais pas. Pourriez-vous m'aider afin de résoudre le problème du zoomage, SVP. Normalement, lorsque je tape le non d'une commune, en plus d'afficher ceci: (64460, PYRENEES ATLANTIQUES).
ça doit afficher aussi sur la carte le nom de la ville recherchée entourée d''un carré en pointillée avec une crois sous forme de plus,avec les villes proches. C'est ça le problème que je n'arrive pas à résoudre.
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
As tu bien installé la bibliothèque GD ?
Pour savoir si c'est ok, lance ce script :
<?php
print_r(gd_info());
?>
Si tu obtiens une erreur alors c'est qu'il faut que tu installes la bibliothèque, tu trouveras facilement des info sur le net.

Pour répondre à ton MP :
- le script d'ajout nécessite en effet un user/password pour se lancer, tu peux y mettre ce que tu veux en éditant le fichier. Si la recherche fonctionne, c'est que la base de donnée est installée, ne te souci plus de ça.
- Pour l'histoire de l'hebergeur et du nom de la base de donné, puisque tu le fait tourner en local il n'y a pas de problème de ce coté, de toute façon, si la recherche fonctionne ...

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonsoir,

J'ai lancé ce script suivant dans le web local:
<?php
print_r(gd_info());
?>
Voici ce que j'ai obtenu:
Array ( [GD Version] => bundled (2.0.28 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => 1 [GIF Read Support] => 1 [GIF Create Support] => 1 [JPG Support] => 1 [PNG Support] => 1 [WBMP Support] => 1 [XPM Support] => [XBM Support] => 1 [JIS-mapped Japanese Font Support] => )

Je pense que la bibliothèque est installée. Pourquoi le zoomage ne fonctionne pas?
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
En effet c'est installé,
 essaye d'afficher uniquement l'image dans le navigateur en récupérant le lien de l'image zoomée (clique droit copier l'adresse de l'image) par exemple :

http://localhost/carte/carte.php?mode=5&minlong=2.257260104&maxlong=2.441980104&minlat=48.795385629&maxlat=48.916215629

C'est possible que tu voit apparaître des erreurs PHP
Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

J'ai tapé cette adresse http://localhost/carte/carte.php? dans le web local, elle affiche ceci: Connexion imposibel.

Et quand j'ai tapé http://127.0.0.1/carte/carte.php? dans le web local, voici ce qu'elle affiche:
Erreur lors de l'execution de la requete : SELECT nom, latitude, longitude, hab, etape FROM communes WHERE longitude > -5.1 AND longitude < 8.2 AND latitude > 42.4 AND latitude < 51.1
Champ 'etape' inconnu dans field list

Effectivement, une erreur lors de l'exécution de la requete. Pourquoi? Je ne sais pas. Apparement, le champ 'etape' est inconnu dans le champ list. Pourquoi, il est inconnu?

Et enfin, quand j'ai zoomé sur la carte, en l'occurence sur la ville de paris, voilà ce que je constate sur URL:
http://127.0.0.1/carte/?mode=2&minlong=1.4835000000000344&maxlong=3.7001666666666346&minlat=48.083999999999996&maxlat=49.534

Meme j'ai testé ceci, ce que tu m'a envoyé, il ya quelques heures
http://127.0.01/carte/carte.php?mode=5&minlong=2.257260104&maxlong=2.441980104&minlat=48.795385629&maxlat=48.916215629
Erreur lors de l'execution de la requete : SELECT nom, latitude, longitude, hab, etape FROM communes WHERE longitude > 2.257260104 AND longitude < 2.441980104 AND latitude > 48.795385629 AND latitude < 48.916215629

Champ 'etape' inconnu dans field list

Aidez-moi à corriger ces erreurs. Bonne et heureuse année.
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
Etrange, j'avais ajouté le champ étape pour une gestion particulière, je ne pensais pas l'avoir laisé dans le code, il faudrait que je néttaoie ça à l'occaz, toujours est il que tu as le choix entre virer tout ce qui est en rapport avec ce champ dans le code php ou l'ajouter à la table dans la base de données.

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks
Messages postés
16
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 mars 2010

Bonsoir,

Puisque je n'ai pas besoin du champ etape, je l'ai viré de la Selection des villes présentes dans le cadre: $result1 = query('SELECT nom, latitude, longitude, hab FROM '.$table_villes.' WHERE longitude > '.$minlong.' AND longitude < '.$maxlong.' AND latitude > '.$minlat.' AND latitude < '.$maxlat);

Au début, ça n'a pas fonctionné, car il y avait une erreur de syntaxe (virgule, ou point). Mais, je l'ai corrigée, et ça fonctionne bien. Le zoomage est en marche. Je vais l'adapter à mon projet. Merci pour le coup de main.
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
1
De rien.
Pense à accepter une réponse pour clore le sujet.

Flachy Joe

« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<