Il est devenu très fréquent de voir des données affichées dans un composant cartographique de l'IHM d'une application. Les parisiens penseront peut-être tout de suite à celui de Velib' qui permet de localiser rapidement les stations et la disponibilités des vélos. Il est clair qu'une telle présentation est beaucoup plus ergonomique que le rendu dans une grille.
Pour atteindre un tel résultat, il convient de pouvoir répondre à 2 questions:

  • Comment géotaguer ses données?
  • Comment présenter ses données?


Comment géotaguer?
Il existe plusieurs services permettant de géotaguer ces données c'est à dire associer une longitude et latitude à une entité localisable (adresse, code postal,etc) . On recommendera ceux de Geonames.org et Google. Les formats de sortie sont au choix xml ou json.
On notera en particulier l'existence d'un service très intéressant de conversion de feed RSS vers geoRSS. C'est ce service qui est utilisé dans notre application sur les indices boursiers (voir billet précédent) ou bien pour localiser les dernières news planétaires.
Il peut parfois être intéressant de faire du géocodage inversé, c'est à dire associer une addresse (souvent approximative) à un couple (latitude, longitude). On trouvera ici plusieurs services intéressants. Notez que google ne propose pas (encore) de tels services.
Un autre besoin peut consister à localiser des addresses IP. Il existe là encore plusieurs services dont IP2Location utilisé par le fameux wikiscanner.


Nota: Pour des besoins locaux, Les BD sous-jacentes peuvent souvent être installées en local moyennant leur achat.

Comment présenter ses données?
L'insertion d'entités géotaguées dans une carte est assez direct chez Google map comme chez Yahoo! map. L'API Google utilise un objet GGeoXml dont le constructor prend le fichier de données géotaguées en paramètre. L'objet YGeoRss fait de même chez Yahoo! map.