Géolocaliser des informations Wikipédia dans une carte Google Maps
Ouseful a publié un didacticiel réellement intéressant sur la façon de récupérer dans Google Docs un tableau visible sur Wikipédia puis de l'intégrer à un Pipes Yahoo! afin de géolocaliser les données sur une carte Google Maps. Je vous en propose une traduction ainsi que quelques explications complémentaires…
Lancez Google Docs puis créez une nouvelle feuille de calcul.
Utilisez la fonction =importHTML pour récupérer les données présentes dans un tableau.
Par exemple :
=ImportHtml("http://fr.wikipedia.org/wiki/Grandes_villes_de_France";"table";2)
Cliquez sur le bouton Partager puis Publier en tant que page Web.
Cochez la case Republier automatiquement après chaque modification.
Cliquez sur le lien Autres options de publication.
Dans la liste déroulante Format de fichier, sélectionnez cette option : CSV.
Sélectionnez l'option Feuille "Feuille 1" uniquement.
Dans la zone de texte Quelles cellules, saisissez cette plage de cellules : A1:F35
Cliquez sur le bouton Générer une URL afin de la récupérer.
Elle va ressembler à celle-ci : http://spreadsheets.google.com/pub?key=pPyZ8K-yzjREqzt1mxLz7ew&output=csv&gid=0&range=A1:F35
Vous pouvez l'afficher tel quel dans votre navigateur…
Le problème que vous allez pouvoir vous poser est que les données ne sont pas toujours correctement formatées. Vous pouvez créer un nouveau tableau dans Google Tableur en ne copiant que les valeurs seules puis procédez à quelques modifications comme, par exemple, enlever les astérisques qui encadrent les noms des villes.
Accédez maintenant à Yahoo! Pipes.
La procédure d'inscription est expliquée dans cet article sur Yahoo! Pipes et Google Maps.
Cliquez sur le bouton Create a pipe.
Ajoutez un module "Sources" appelé Fetch CSV.
Collez l'adresse URL que nous venons de récupérer.
Dans la zone de texte Skip the first rows saisissez le chiffre 0.
Cochez le bouton radio Use the following column names puis indiquez ces trois en-têtes de colonnes : rang, ville, col_6.
Ajoutez un module "Operators" appelé Rename.
Définissez ces trois champs :
Item.ville : title
Item.col_6 : description
Item.rang : ranking
Ilvous suffit de sélectionnez ces trois éléments en cliquant sur le petit Plus afin d'ajouter un champ puis en vous servant des listes déroulantes.
Nous allons renommer les données récupérées afin de les rendre compatibles avec un fichier KML (Title et Description).
Reliez ce module au module Fetch CSV.
Ajoutez un module "Operators" appelé Regex.
Dans la liste déroulante In, sélectionnez cette option : item.description.
Dans la zone de texte Replace, saisissez ceci : (.*)
Dans la zone de texte Population saisissez ceci : Population: $1 personnes
Reliez ce module au module Rename.
Cela nous permet de rendre l'aspect des info-bulles un peu plus "parlant". On utilise donc une expression régulière…
Ajoutez un module "Operators" appelé Location Extra.
Reliez ce module au module Regex.
Cette étape est nécessaire afin de nous permettre de géolocaliser les noms des villes. Si vous cliquez sur l'onglet Debugger puis que vous choisissez la commande Location Extractor, vous aurez dans les arborescences affichées cette indication : y:location.
Reliez enfin le module Location Extra au module Pipe Output.
Cliquez sur le lien Refresh.
Développez le premier nœud afin de vérifier que tout fonctionne correctement.
Cliquez sur le bouton Save puis indiquez un nom pour votre Pipe.
Cliquez sur le bouton Run Pipe…
Signalons que la carte Yahoo! qui va s'afficher ne fonctionne jamais de manière réellement correcte : certains repères seront aux abonnés absents...
Cliquez sur le lien More Options.
Sous Internet Explorer, il faut réduire la taille du texte afin d'accéder à ce bouton.
Cliquez avec le bouton droit de la souris sur la commande Get as KML puis sur Propriétés.
L'adresse URL du fichier KML sera de ce type : http://pipes.yahoo.com/pipes/pipe.run?_id=2e7e503ee4bec2cb9694279a2f5cbb47&_render=kml.
Lancez Google Maps puis collez le contenu du Presse-papiers.
Votre carte va s'afficher.
Bien entendu, vous pouvez l'enregistrer dans vos cartes personnalisées et la récupérer dans Google Docs en utilisant la fonction =importHTML… La boucle est bouclée !
0 commentaires:
Enregistrer un commentaire