Guides

Géocoder une feuille de calcul d'adresses en une seule requête par lot

Une feuille de calcul remplie d'adresses n'a pas besoin d'une boucle. Chaque endpoint de My Geocode accepte une requête POST avec un tableau JSON à la place des paramètres de requête, et l'endpoint de géocodage direct accepte toute une colonne d'adresses à la fois, en renvoyant un résultat géocodé par ligne, dans l'ordre où vous les avez envoyées.

Construire la requête

Exportez la colonne d'adresses de votre feuille de calcul sous forme de simple tableau de chaînes, puis envoyez-la en POST à /v1/forward. Chaque élément du tableau est traité comme une recherche distincte et renvoie son propre résultat, dans l'ordre où vous les avez envoyés.

POST /v1/forward
Content-Type: application/json

["221B Baker Street, London", "1600 Pennsylvania Avenue, Washington"]
{
  "status": "ok",
  "results": [
    {"formatted": "221B Baker Street, London, UK", "lat": 51.5237, "lon": -0.1585, "type": "address", "precision": "house", "confidence": 0.95, "place_id": "abc123", "components": {}},
    {"formatted": "1600 Pennsylvania Avenue, Washington, DC", "lat": 38.8977, "lon": -77.0365, "type": "address", "precision": "house", "confidence": 0.97, "place_id": "def456", "components": {}}
  ]
}

Affiner les résultats avec une liste de pays mélangés

Si votre feuille de calcul couvre plusieurs pays, un simple tableau de chaînes fonctionne toujours, mais des noms de rue ambigus dans différents pays peuvent être résolus vers le mauvais. Lorsque votre feuille de calcul comporte une colonne de pays distincte, envoyez les lignes de chaque pays dans un lot séparé avec le paramètre countries réglé sur le code ISO correspondant, plutôt que de mélanger les pays dans un seul appel en espérant que le texte de l'adresse suffise à les distinguer.

Ce que cela coûte

Une requête groupée est facturée à l'élément, pas à l'appel. Deux adresses dans un seul POST consomment deux requêtes de votre quota quotidien, exactement comme si vous aviez envoyé deux requêtes GET séparées. Une feuille de calcul de 500 lignes coûte 500 requêtes, largement dans les 2 500 requêtes gratuites par jour fournies avec chaque clé, ou même sans clé.

Faire correspondre les lignes

Les résultats reviennent dans le même ordre que le tableau envoyé : conservez donc l'index de ligne d'origine à côté de chaque adresse avant d'envoyer la requête. Une fois la réponse reçue, faites correspondre les résultats aux lignes de votre feuille de calcul par position, et non en comparant le texte, car l'adresse formatée dans la réponse sera rarement identique à ce que vous avez saisi.

Gérer les échecs partiels

Une ligne sans résultat, avec un score de confiance faible ou une précision inférieure à vos besoins doit être signalée plutôt qu'acceptée automatiquement. Vérifiez le champ confidence de chaque élément et envoyez tout ce qui se situe sous votre propre seuil vers une liste de vérification manuelle.

Un cas limite : les lignes vides

Un export de feuille de calcul contient souvent quelques lignes entièrement vides vers la fin du fichier, restes d'une mise en forme ou d'un filtre qui incluait autrefois des cellules vides. Une chaîne vide dans le tableau compte quand même comme un élément et renvoie généralement un résultat vide ou de très faible confiance, qu'il faut ensuite filtrer avant qu'il n'atteigne votre table de données : supprimez donc les lignes vides au moment de l'export plutôt que de les envoyer dans le lot.

Une erreur à éviter

Envoyer deux fois la même adresse, une fois depuis une liste de clients actifs et une autre depuis un ancien export jamais nettoyé, est un moyen facile de gaspiller une partie de votre quota quotidien en travail en double. Dédoublonnez la colonne d'adresses avant de construire le tableau, et ne relancez que les lignes modifiées depuis le dernier export, plutôt que de géocoder à nouveau toute la feuille de calcul chaque fois que quelques lignes sont ajoutées.

Découper les gros fichiers

Les très gros fichiers sont plus faciles à gérer par blocs de quelques centaines à quelques milliers de lignes. Le découpage permet aussi de vérifier facilement vos en-têtes de quota entre les lots et de vous arrêter avant de dépasser votre quota gratuit ou votre crédit prépayé.

Si votre feuille de calcul compte plus de quelques lignes, c'est la différence entre une seule requête et des centaines d'allers-retours. La structure complète de la requête et de la réponse est documentée sur la page du géocodage direct.