Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Carte département français cliquable et dynamique[RESOLU]

Oula la la ... qu'est-ce qu'il va me faire encore :D
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
Message édité 14 fois, dernière édition par loic88, 16 Février 2010, 17:05     Lien vers ce message 12 Février 2010, 18:05
Bonjour bonsoir et bon week end !

Je me tourne une fois de plus vers votre savoir par rapport à un nouveau projet que j'ai nommé : "Carte département français cliquable et dynamique"

Tout en mangeant une cacahuète...(hum).


Alors voilà, sur mon site perso à cette adresse vous verrez une carte : Cartographie non dynamique

Cette carte permet de "localiser" mes balades par département. Au clic du département, une page affiche toutes les balades disponibles.

Cette carte utilise les balises html "map" et à été générée via GIMP2.

Seulement voilà, lorsque j'effectue une nouvelle balade dans un nouveau département, il faut que je rouvre GIMP et créer le nouveau polygone map et colorie le département ! Autant dire que ceci m'horrifie ! :fsb2_oui:

C'est alors qu'une idée est arrivée (roulement de tambours...) :

Et si on utilisait la librairie graphique de PHP (la fameuse librairie GD) ?

Dans ma réflexion voici comment j'aurais procédé :

1) => Je créer les polygones de tous les département avec gimp pour récupérer la géométrie de chaque département et les rentres dans la table département sous le nom de champ "geometrie"
2) => Je créer les centre dans gimp pour récupérer le x et le y de chaque centre de chaque département avec gimp et rentre le x et y dans la même table.

3) => Je prie pour que ça marche. Euh, je code en php.

Le principe est le suivant : Lorsqu'il y à une balade dans un département, je prends une logo (logo.jpg) que je vais fusionner sur l'image des départements français grâce à la fonction imagecopymerge() de la librairie GD.

Je boucle le tout pour "coller" cette icône sur tous les bons départements.

4) => Je créer les polygones de la balise map des départements grâce aux données du champs géométrie.

Au final, nous devrions donc avoir une carte des départements avec des logos de VTT sur les départements visités avec par dessus ou couche invisble représenté par la balise map qui pourra être cliquable.


Vous êtes toujours là ? Et bien voilà le code PHP !

	
<?php
header("Content-Type: image/jpeg");
	
	$racine=$_SERVER['DOCUMENT_ROOT'];//variable serveur permettant de rattaquer à partir de la racine :D
	include($racine . '/inclusion/connect.php');

$requete = 'Select num, geometrie, var_x, var_y
			FROM dptf
//marche pas ! WHERE(SELECT DISTINCT num from balade)
//marche WHERE num IN (11)'
				
	$rslt_geo = mysql_query($requete);	
	
	while($tab=mysql_fetch_array($rslt_geo))
	{
		
		$x = $tab['var_x'];
		$y = $tab['var_y'] ;
		
			// On charge d'abord les images
			$source = imagecreatefromjpeg("ico-vtt_mini.jpg"); // Le logo est la source
			$destination = imagecreatefromjpeg("france_finale.jpg"); // La photo est la destination

			// On met le logo (source) dans l'image de destination (la photo)
			imagecopymerge($destination, $source, $x, $y, 0, 0, 40, 43, 30);

			// On affiche l'image de destination qui a été fusionnée avec le logo
			imagejpeg($destination);
	}
	
	//on créer les polygones map (marche pas)
	echo '<img src=france_finale.jpg'.' width="586" height="548" border="0" usemap="#map" /> <map name="map">';
	while(mysql_fetch_array($rslt_geo))
	{
		$chaine_geometrie = $rslt_geo['geometrie']; // Changer href (num_departement)
		print '<area shape="polygon" coords="'.$chaine_geometrie.'" alt="zone" href="http://www.google.fr" />';
	}
	echo '</map>';
	
?>


Mais alors le soucis, c'est que ça ne marche pas en boucle par contre si je restreint la requête à un département (le 11 par ex), la petite icône apparaît bien. Quand à la balise map, elle n'est tout simplement pas générée.

Résultat avec le 11 (regardez au sud ouest) : Carte Bon ok c'est un peu trop bas on est dans le 66 mais l'idée est là !



Pour ceux qui souhaitent savoir comment est fait une balise map voici le code source de la carte actuelle.


	<!--inclusion de la France -->
	<img src="france_map_vtt.jpg" width="589" height="548" border="0" usemap="#map" />

	<map name="map">

	<area shape="poly" coords="458,144,453,146,452,147,450,149,448,150,446,149,441,149,441,147,440,147,438,149,436,151,433,151,427,150,425,151,423,152,422,154,419,154,416,154,413,153,413,150,413,148,412,147,411,147,408,147,407,148,405,149,404,149,404,147,403,149,399,150,399,152,396,153,394,153,395,155,398,156,400,157,403,160,404,160,405,162,407,162,407,166,405,169,405,170,408,172,410,175,411,178,415,178,415,176,417,177,419,177,420,174,423,175,426,178,429,179,430,177,434,177,436,180,438,181,440,179,442,179,448,181,451,183,452,184,454,182,453,173,456,172,459,169,460,167,459,164,463,155,459,154,458,149,459,143" alt="Vosges" target="_parent" onmouseover="red" onmouseout="green" href="http://www.partir-en-vtt.com/balades_vtt/departements/index.php?dep=Vosges&amp;numdep=88" />
	<area shape="poly" coords="253,488,253,492,259,494,261,494,261,497,262,499,265,501,269,499,273,496,276,496,280,498,285,501,287,503,291,501,293,500,297,496,301,495,305,494,309,496,313,497,313,493,312,488,310,488,309,472,300,467,297,468,295,472,279,472,279,475,280,478,274,481,271,481,265,481,264,483,262,483,257,486,253,487,252,490" alt="Pyrénées Orientales" target="_parent" href="http://www.partir-en-vtt.com/balades_vtt/departements/index.php?dep=Pyrénnées_Orientales&amp;numdep=66" />
	<area shape="poly" coords="324,208,318,209,312,208,309,206,306,205,303,205,302,205,304,209,303,211,302,213,302,216,304,218,306,221,306,224,306,226,307,231,309,240,309,242,309,246,309,249,311,250,314,250,317,250,318,250,320,251,321,250,323,252,324,251,327,247,330,249,333,247,337,249,342,247,346,244,344,238,343,237,343,234,344,233,343,231,343,229,345,226,349,225,351,224,347,222,346,217,344,219,340,217,339,215,335,215,331,214,329,212,327,211,324,210" target="_parent" alt="Nievre" href="http://www.partir-en-vtt.com/balades_vtt/departements/index.php?dep=Nievre&amp;numdep=58" />
	<area shape="poly" coords="401,218,400,226,398,229,395,230,395,234,396,237,399,239,402,240,401,242,400,245,398,245,398,248,400,251,401,253,400,257,399,258,401,260,401,264,398,265,402,271,403,272,406,268,410,269,412,271,416,272,422,266,423,263,425,258,423,256,423,253,423,251,423,248,426,247,427,247,429,246,427,244,425,243,422,243,420,242,419,235,417,235,413,234,410,234,410,230,411,227,412,224,409,222,408,220" target="_parent" alt="Jura" href="http://www.partir-en-vtt.com/balades_vtt/departements/index.php?dep=Jura&amp;numdep=39" />
	<area shape="poly" coords="275,438,286,439,288,440,287,443,288,447,292,447,293,449,294,450,299,448,301,445,311,453,310,456,306,454,304,456,303,459,306,462,307,471,301,466,299,466,296,468,296,471,278,471,278,475,278,478,273,479,269,475,265,476,260,473,265,473,265,462,264,456,262,454,254,451,253,448,256,443,258,440,260,442,264,439,269,441,272,442,275,443" target="_parent" alt="Aude" href="http://www.partir-en-vtt.com/balades_vtt/departements/index.php?dep=Aude&amp;numdep=11" />
	</map>



Ce morceau de code appel deux tables :

dptf => num_dep | geometrie | x | y
balade => num_dep

C'est donc num_dep le champ "clé" qui me permet de voir quel département est couvert par une balade.

Si vous n'avez pas tout compris ou souhaite plus de détail (backup de ma base..) faites moi signe.

Merci à ceux et celles qui pourront m'aider !

Loïc.


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
  Lien vers ce message 12 Février 2010, 23:59
Anyone can help me with my pblm ? :D


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Brasier
Avatar de Deathy
  • Age : 21 ans
  • Messages : 782
  • Inscrit : 18 Septembre 2006
  Lien vers ce message 13 Février 2010, 20:14
C'est un peu hard en même temps ce que tu demandes la :P


http://www.cyberlife.be/ressources/newsignature.png
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
  Lien vers ce message 14 Février 2010, 12:34
Oh allons je suis sûre que vous pouvez m'aider !


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
Message édité 3 fois, dernière édition par loic88, 16 Juin 2010, 7:35     Lien vers ce message 14 Février 2010, 19:31
Bonsoir,

C'est avec plaisir que je vous annonce que cela fonctionne.

J'ai juste quelques soucis pour placer correctement les petit vtt sur les bons département (une histoire qui se règle facilement)

Le résultat pour tous les départements ou j'ai effectués les balades (vtt ou à pied)


Cartographie dynamique et base de données mysql avec auto génération des balises map :)


Je reviens vers vous quant ce sera tout propre ;)

Edit: et voilà c'est fonctionnel enjoy !

Si vous voulez une explication plus approfondie contactez moi : admin(at)partir-en-vtt(point)com

@ Bientôt.


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
Message édité 2 fois, dernière édition par loic88, 06 Aout 2010, 14:37     Lien vers ce message 06 Aout 2010, 14:36
Bonjour un peu de nouvelles concernant cette partie de mon site Internet : La cartographie.

J'ai réussi à "Géolocaliser" les photos que je prend durant mes balades.

Mon appareil photo ajoute la date de prise sous forme d'un datetime (il s'agit des données EXIF). A côté de cela, mon GPS de randonnées créer des points (x,y) et enregistre aussi un Datetime.

En cherchant à comparer ces deux Datetime (photo et point gps), j'arrive à accrocher des photos à la cartographie. c'est la Géolocalisation.

une fois la photo dans la base, il ne reste plus qu'à créer un point sur la carte puis sur le clic ouvrir cette photo dans un popup. Pour se faire, j'utilise la librairie Openlayer.

Ce ne fut pas de tout repos, mais il me semble que le résultat en vaut la chandelle! :fsb2_drink:


Pour visualiser sur notre périple de 1100 km dans les Alpes : Cartographie de notre périple vélo avec photo géolocalisées

Si cela intéresse quelqu'un qu'il se manifeste!

Amicalement, Loïc


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Brasier
Avatar de Deathy
  • Age : 21 ans
  • Messages : 782
  • Inscrit : 18 Septembre 2006
  Lien vers ce message 06 Aout 2010, 15:51
Sur Google Chrome 6 Linux, je n'arrive pas à afficher les photos :(


http://www.cyberlife.be/ressources/newsignature.png
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
Message édité 1 fois, dernière édition par loic88, 06 Aout 2010, 20:05     Lien vers ce message 06 Aout 2010, 16:18
Bonjour,

Bizarre, as-tu une erreur côté javascript ?

Il me semble que cela fonctionnait sur google chrome windows.

Suite à ta réponse, si quelqu'un a une idée de débug qu'il se manifeste :D


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Equipe de support
Avatar de Soleil.R
  • Age : 31 ans
  • Messages : 291
  • Inscrit : 04 Mars 2009
  Lien vers ce message 07 Aout 2010, 9:04
J'aime beaucoup ce que tu as fait :)

J'ai testé chez moi avec ce que j'ai en navigateur et ça passe impec.

Pour info :
-Firefox 3.6.6
-Chromium 5.0.389.0
-Konquror 4.4.3

Le tout sur une Mandriva (Linux) 2010.1


Mon domaine de compétences est assez éloigné de l'informatique mais si je peux vous aider, je le ferai.
 
Brasier
Avatar de Deathy
  • Age : 21 ans
  • Messages : 782
  • Inscrit : 18 Septembre 2006
  Lien vers ce message 07 Aout 2010, 10:18
http://img841.imageshack.us/img841/8903/cran1.png
Voila une image pour que tu vois exactement ce que ça fait :) Je suis sur Kubuntu 10.04 :)


http://www.cyberlife.be/ressources/newsignature.png
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
  Lien vers ce message 08 Aout 2010, 12:07
Bonjour,

Merci à vous pour le retour d'expérience :)
-------------------------------------

Le bug est étrange Deathy, peux-tu m'envoyer le code-source de la page générée ?

Il faut savoir que j'ai forcé la réduction d'image en largeur mais pas en hauteur !

Si quelqu'un comprend pourquoi ce phénomène se produit chez toi ce serait formidable!

Loïc


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
  Lien vers ce message 03 Mars 2011, 14:08
Bug corrigé en ajoutant un width et un heigth aux images. En effet, certains navigateurs n'attendent pas d'avoir chargé l'image complète d'où le problème rencontré.

http://partir-en-vtt.com/php/g...36&numdep=1

Loïc


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Brasier
Avatar de Deathy
  • Age : 21 ans
  • Messages : 782
  • Inscrit : 18 Septembre 2006
  Lien vers ce message 05 Mars 2011, 8:04
Bravo :)


http://www.cyberlife.be/ressources/newsignature.png
 
Feu follet
Avatar de loic88
  • Messages : 248
  • Inscrit : 20 Aout 2009
  Lien vers ce message 07 Mars 2011, 17:58
Merci ;-) !


On ne va jamais aussi loin que lorsque l'on ne sait pas où l'on va.
www.partir-en-vtt.com
 
Etoile
Avatar de Spark
  • Messages : 2697
  • Inscrit : 24 Juin 2006
  Lien vers ce message 27 Avril 2011, 15:51
http://img705.imageshack.us/img705/4100/api.png


Left 4 Dead 2 2.0.8.7 réseau Hamachi
Liste de réseau Hamachi pour le jeu en réseau via Internet
 
Répondre


.