mercredi 16 mai 2012

Géocoder des adresses simplement avec Google Spreadsheet

17 commentaires
NOUVEAU, vous pouvez essayer notre Add-on ezGeocode. 1 click pour l'installer et 1 click pour lancer le géocodage.
google sheets addon pour géocoder des adresses


Géocoder simplement des adresses avec Google Spreadsheet et l'API Google Maps sans API key grâce au script "Geocoding by Just Docs It".
Que ce soit pour placer des points sur une carte Google Maps ou alors pour un besoin plus professionnel, l'API Google Maps permet de faire cela et en plus dans sa version 3 on n'a plus besoin d'une API key. Avec google Spreadsheet on peut interroger l'API Google Maps pour géocoder des adresses et stocker le résultats dans une feuille de calcul. Ensuite il suffit d'exporter les résultat au format Excel ou CSV pour récupérer le résultat.
English version : mass geocoding

Géocodage d'adresse
Le fichier Spreadsheet plus bas permettra de géocoder en masse une liste d'adresses. L'application normalise l'adresse, renvoie la latitude et la longitude, le niveau de précision (Type) et en dernière colonne (Warning) indique si d'autres adresses sont renvoyées. Cette dernière colonne est importante car si Google Maps trouve plusieurs résultats, il les renvoie tous donc il faut contrôler si l'adresse géocodée est bien unique.
Le géocodage des adresses est fait sans code Maps API Key.

Comment ça marche

Après l'ouverture de la spreadsheet un menu "Geocoding by JustDocsIt" se crée après le menu Aide.
Setup : Créera une feuille pour ajouter vos adresses et permettre le géocodage.
Start Geocoding : Lancera le géocodage des adresses se trouvant en colonne A.
Single Geocode : Permet de gécoder une ligne (une adresse) en indiquant son numéro de ligne.
Get Adresses : Permet de connaitre les adresses si une adresse renvoie plusieurs résultats. Voir colonne warning.
Help : Ce menu permet de se rendre sur la page d'aide.

Performance
J'ai fait un test sur 870 adresses et elles ont été géocodées en environ 230 secondes donc moins de 4 minutes. C'est à titre d'exemple car les performances peuvent varier mais cela me semble raisonnable.

Essayez l'add-on ezGeocode :
géocoder des adresses en masse


Le fichier
Vous devez avoir un compte Google et être connecté.
Faites une copie du fichier "Fichier" puis "Créer une copie".
Lors de l'exécution de la macro la première fois il faudra valider les permissions.
Lien : Geocoding by Just Docs It

J'ai repris le fichier pour ajouter une fonction "Start Geocoding 2". La première utilise les API de Google maps et dès fois les performances ne sont pas top. Si c'est le cas essayez la fonction 2.

Regarder la vidéo de démonstration

17 Responses so far

  1. MrZruek says:

    Bonjour, bizarrement je rencontre des erreurs à partir d'un moment, formatted adress illisible, un truc du genre.

  2. Anonyme says:

    Bonjour, je rencontre le même type de problème : assez rapidement, le geocodage ne fonctionne plus...

  3. st3ph says:

    Bonjour

    Ça dépend quoi comme erreur. J'ai modifié le fichier donc il faut télécharger la dernière version. Si il ya trop de lignes il fait couper le fichier en morceaux.

    Stephane

  4. Anonyme says:

    Bonjour,
    l'erreur affichée pour toutes les lignes est : "ERROR : Cannot read property "formatted_address" from undefined.", et il ne me propose aucune adresse alternative quand je vais dans le menu "get adresses". Je n'ai poutant que 168 lignes à géocoder..
    Je vous remercie pour votre aide,

    Sandra

  5. st3ph says:

    Pour sandra

    J'ai modifié le script si tu peux le récupérer de nouveau sur le lien du billet. J'ai ajouté un petit délai lors de la récupération des infos de google maps et ça semble passer mieux.

    Stéphane

  6. Anonyme says:

    Merci Stéphane,
    le géocodage fonctionne de façon aléatoire.
    Peut-être ai-je un problème en interne, ce qui expliquerait le message "ERROR : Cannot read property "formatted_address" from undefined." qui revient souvent.
    Sandra

  7. st3ph says:

    J'ai fais un test quand j'ai fais la modification sur 250 adresses et ça a tourné.
    J'ai ajouté un temps entre deux requêtes car j'ai l'impression que c'est cela qui gène. Si tu vas dans le menu outils puis editeur de script en ligne 18 il y a Utilities.sleep(500);
    Passe de 500 à 1000.

    Regardes si ça marche mieux mais ils ont du changer un truc car avant ça marchait nickel.

    Stéphane

  8. Anonyme says:

    Effectivement, cela semble fonctionner de nouveau!
    Merci beaucoup pour ton support.

    Sandra

  9. Anonyme says:

    Bonjour, j'ai découvert votre fichier google et suis très intéressé pour l'utiliser. J'ai le même problème que les autres utilisateurs : ERROR : Cannot read property "formatted_address" from undefined. L'adresse rentrée est simple du genre 13 , rue d'Antibes, 06400, CANNES. J'ai mis plusieurs séparateurs virgules, blanc .... et rentré l'adresse en colonne A et j'obtiens systématiquement le même résultat ... (ayant récupéré le lien aujourd'hui le 6/1/2014 ... est ce la bonne version ?)

    Pascal

  10. st3ph says:

    Même réponse que précédement il faut augmenter le délai.

  11. Est-ce qu'il existe des scripts sur Maps Engine Lite ?
    https://mapsengine.google.com/map/?pli=1

  12. Le fichier Geocoding by ..." fonctionne très bien. Par contre depuis quelques jours, les adresses formatées retournées sont en Anglais. Alors qu'avant elles étaient en Francais. Quelqu'un a t'il une idée du paramètrage à modifier pour retrouver le Français.

  13. Bonjour, j'ai un problème dès le lancement du fichier qui me bloque complètement. En gros, dès que je crée une copie du fichier, j'ai un message d'erreur Google drive qui apparaît "Une erreur s'est produite avec le serveur. Cliquer sur Actualiser dans votre navigateur" (+ "user uknown"). Ensuite, j'ai beau actualiser comme demandé, quand je clique sur "Set up", ça rester à processer de façon interminable ("exécution du script") et je ne peux aller plus loin. Quelqu'un aurait-il une idée de solution?

  14. st3ph says:

    Bonjour

    Pour l'erreur lors de la copie c'est peut être un pb temporaire. Je viens de faire un test et ça s'est copié sans pb.

    Pour le script il faut bien faire attention il y a une pop up qui s'ouvre pour valider les autorisations. Vos n'avez pas bloqué l'ouverture des pop ups ? Vous n'avez pas une fenêtre qui s'est ouverte et qui est en arrière plan, regardez vos onglets en bas ?

    stéphane

  15. Merci de votre réponse.
    L'erreur de départ persiste de mon côté, avec une mention "utilisateur anonyme 16, utilisateur 26" qui apparaît en rouge au niveau de la cellule A1. Je ne comprends par car mon compte gmail est bien connecté par ailleurs.
    Quant au souci sur "Set up", je n'ai en effet aucune fenêtre pop up qui apparaît. Sauriez-vous comment débloquer l'ouverture des pop up sur google chrome?

  16. st3ph says:

    Pour l'erreur chrome je ne sais pas faudrait tester en mode navigation privée. Si pas le souci en navigation privée ce dot être lier au fichier temporaire ou le cache.

    Pour les pop up c'est dans les paramètres faut faire une recherche sur Google

Leave a Reply