







|
[ Forums >> Webmasters >> Les autres langages >> Essai de géo-localisation simplifiée ]
| > Essai de géo-localisation simplifiée |
[ Posté par orionis ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2009 à 15:50 | 16 messages ]
  Bonjour à tous,
Notre direction nous a demandé de développer (à moindre coût, s'entend) un mini-logiciel de géo-localisation des interventions de nos techniciens.
Le principe serait de charger sur un fond de carte et sous forme de petits symboles géographiquement bien placés, tous les clients chez qui nous sommes en cours d'intervention.
Nous possédons déjà une base de données des coordonnées géographiques de ceux-ci, il ne nous reste donc "plus" qu'à placer un symbole sur une image de fond, à l'emplacement qu'il doit occuper.
La grande question du jour est donc de savoir comment s'y prendre, si possible en PHP, sinon dans un autre langage.
Merci pour vos idées ou expériences en ce domaine.
Fabrice
 
|
[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 31-03-2009 à 10:23 | 4024 messages ]
  Une solution "simple" c'est de produire un flux rss géolocalisé et le passer à googlemaps
http://googlemapsapi.blogspot.com/2007/03/kml-and-georss-support-added-to-google.html
mais niveau confidentialité cela peut être gênant.
Sinon, il reste la solution de bricoler sa solution (1 point sur un image) ce qui peut fonctionner assez bien à l'échelle d'une ville et peut-être d'une région. Au-delà il vaut peut-être mieux se tourner vers un SIG.
Qu'est-ce que tu utilises comme géoréférence (gps, carroyage, delta p/r carte, coordonnées Lambert...) ?
A quelle échelle tu veux travailler ? (ville,région,pays,monde)
Avec quelle précision (ville, rue, mètre)
________________ V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites
Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html
| [ Posté par orionis ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 31-03-2009 à 10:43 | 16 messages ]
  Bonjour,
| mais niveau confidentialité cela peut être gênant. |
|
Oui, et il faut payer une clef. De plus, la connexion Internet n'est pas assurée sur tous les postes qui accèderont à cet utilitaire.
| Sinon, il reste la solution de bricoler sa solution (1 point sur un image) ce qui peut fonctionner assez bien à l'échelle d'une ville et peut-être d'une région. |
|
Oui, nous pensions nous orienter vers une telle solution, mais on n'a pas encore trouvé la fonction qui permet de placer un symbole PNG sur un fond de carte.
| Au-delà il vaut peut-être mieux se tourner vers un SIG. |
|
je ne connais pas?
| Qu'est-ce que tu utilises comme géoréférence (gps, carroyage, delta p/r carte, coordonnées Lambert...) ? |
|
Nous possédons une base de données des coordonnées géographique du style x=44,3333321 y=5,06669998
| A quelle échelle tu veux travailler ? (ville,région,pays,monde) |
|
Deux style de cartes nous sont demandées : une nationale et un zoom possible sur 8 grandes régions.
| Avec quelle précision (ville, rue, mètre) |
|
Moins que ça, je pense, du moins dans un premier temps.
Il faut -comme d'habitude - que ça aille vite (moins d'un mois de dvp) et que ça coûte 0... :-/
| [ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 01-04-2009 à 10:17 | 742 messages ]
  A mon avis, rien de plus simple avec du html piloté sous php.
Tu définis un div qui seras le conteneur, dans lequel il y a ton image de fond.
Ensuite dans ce div tu définis tous les div qui contiennent les "points".
Les div étant défini en position:absolute.
genre:
<div id="cont" style="position:absolute; width:200px; height:200px; top:0px; left:0px;">
//partie php qui boucle pour insérer les différentes objets
<div id="p1" style="position:absolute;
top:15px, left:12px;">
<div id="p2" style="position:absolute;
top:18px, left:36px;">
//fin de la boucle php
</div>
|
|
Ensuite, on peut créer des classes pour paramétrer chaque type d'objet plus facilement
________________ a'++'a
| [ Posté par orionis ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 01-04-2009 à 10:36 | 16 messages ]
  Merci pour vos propositions.
Nous sommes partis sur une solution en PHP, en utilisant les fonctions :
- imagecreatefrompng (chargement du fond de carte)
- imagefilledellipse (dessin d'un petit rond pour chaque intervention, avec une taille proportionnelle au nombre d'inters si ce nombre dépasse un certain seuil pour une surface géographique prédéfinie)
- imagepng (affichage de l'ensemble)
| [ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 01-04-2009 à 12:23 | 4024 messages ]
  |

<html>
<style>
div#plan a
{
position:absolute;
padding-left:10px;
/*
si on veut cacher le texte
text-indent:-10000px;
sinon on ajoute un peu d'espace entre le texte et le point
avec
padding-left:10px;
*/
background:url(dot.gif) no-repeat;
}
div#plan a.urgent
{
background:url(red.gif) no-repeat;
}
div#plan a.fait
{
background:url(green.gif) no-repeat;
}
</style>
<body>
bla <br/>
bla <br/>
bla <br/>
<div id="plan" style="position:relative;">
<img src="plan.jpg" width="200" height="200">
<!--
les coordonnées sont soient écrites directement (arrondies à une valeur entière quand même)
soient calculées avec une règle de trois
ou (plus compliqué) faire l'objet d'une projection (ex coordonnées GPS vers 2D)
http://www.rtsd.mi.th/information/upload/data/0749/Transformation.PDF
-->
<a style="top:0px;left:0px;" href="detail.php?id=1">intervention du 01/01/2009</a>
<a style="top:120px;left:10px;" href="detail.php?id=2">intervention du 11/01/2009</a>
<a class="urgent" style="top:20px;left:140px;" href="detail.php?id=3">intervention avant le 21/04/2009</a>
<a class="fait" style="top:200px;left:200px;" href="detail.php?id=4">intervention du 31/01/2009</a>
</div>
</body>
</html>
|
|
présente AMHA certains avantages par rapport à la solution proposée :
points actifs (avec ta solution on peut aussi le faire avec une image map)
plus grande flexibilité dans les symboles à afficher (possible aussi avec la bibli graphique avec des imagecopy au lieu de dessiner des ellipses)
moins de BP car fond de plan stocké en cache vs génération d'images à la volée
________________ V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites
Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html
| [ Posté par orionis ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 01-04-2009 à 15:36 | 16 messages ]
  Merci V1nce!
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|