79 votes

Validation des adresses à l'aide de l'API Google Maps

J'ai pour tâche de valider les adresses saisies dans un système que je suis en train de créer. Le système exige que les adresses saisies soient validées par rapport à une source de données valide. Au Royaume-Uni, l'ensemble de données provient du Royal Mail et son accès est coûteux.

Les données nécessaires sont des informations sur les codes postaux pour toute l'Europe, accessibles par une API dans l'application web.

Il existe un certain nombre d'entreprises qui proposent ce service,

  1. QAS
  2. Capscan
  3. Code postal n'importe où

Ils offrent tous le service dont j'ai besoin. Cependant, ils sont coûteux et, dans certains cas, ils ne disposent pas d'un ensemble de données complet, comme par exemple l'Irlande.

Je me demandais également s'il était possible d'utiliser l'API de Google Maps pour valider ces données via le code postal et le pays.

La méthode de Google Maps est-elle possible ou dois-je m'adresser à l'une de ces sociétés coûteuses ? Avez-vous une idée de ce que je devrais faire ?

43voto

AndreiM Points 2495

La réponse dépend probablement de l'importance que vous accordez à l'assistance et à la personnalisation éventuelle de ce service.

Google peut certainement le faire. Consultez leurs API XML et de géocodage. Vous devriez être en mesure d'élaborer un message XML demandant à Google de renvoyer les coordonnées cartographiques d'une adresse donnée. Si l'adresse n'est pas trouvée (invalide), vous recevrez une réponse appropriée. Voici une page utile : http://code.google.com/apis/maps/documentation/services.html#XML_Requests

Notez que l'objectif de Google en fournissant l'API Maps est de tracer les adresses sur des cartes réelles. Si vous pouvez certainement utiliser les données à d'autres fins, vous êtes à la merci de Google si l'une de ses cartes ne correspond pas exactement à vos besoins en matière de validation d'adresses légales ou commerciales. Si vous payez pour l'un des services que vous avez mentionnés, vous serez probablement en mesure de bénéficier d'une assistance si certaines adresses ne sont pas résolues comme vous l'attendez.

En d'autres termes, vous obtenez ce pour quoi vous payez ;) . Mais si vous avez le temps, pourquoi ne pas essayer de mettre en œuvre une solution basée sur Google, puis de partir de là ? L'API a l'air bien conçue, et elle est gratuite, après tout.

3 votes

Malheureusement, il n'est pas gratuit de nos jours, et il n'est peut-être pas adapté aux grands ensembles de données (le prix peut devenir rapidement élevé).

0 votes

Oui, on dirait que ce n'est plus gratuit.

31voto

fgregg Points 558

Le site de Google api de géocodage fait ce que vous voulez. Comme le souligne Xerus, tant que vous n'utilisez pas les points géocodés sur une carte autre que Google, tout devrait bien se passer ( conditions de service ). Plus précisément,

3.1 Use without a Google Map. Customer may use Google Maps Content from the Geocoding API in Customer Applications without a corresponding Google Map.

3.3 No use with a non-Google map.  Customer must not use Google Maps Content from the Geocoding API in conjunction with a non-Google map.

0 votes

@fgregg : légèrement hors sujet, mais pensez-vous que sauvegarder la distance en voiture entre 2 points est contraire aux CGU ? à condition que cliquer sur un lien à proximité affiche effectivement une carte google ?

1 votes

Cela semble maintenant être 10.1.1(g).

2 votes

Cela semble maintenant être 10.4(d)

27voto

Adam Points 371

Je suis à la fois un développeur web et un ancien employé de l'une des entreprises que vous avez mentionnées. Je comprends parfaitement votre point de vue. La vérification des adresses semble être un problème simple à résoudre, mais c'est un véritable iceberg. Je suppose qu'une solution de contournement des contraintes juridiques des API Google ou Yahoo ! Maps consiste à demander à vos utilisateurs de vérifier leurs adresses sur une carte. Mais si j'étais à votre place, je ne choisirais pas cette solution.

Si les services de vérification d'adresses sont si onéreux, c'est parce qu'ils nécessitent des licences et des relations permanentes avec les autorités postales (dont le Royal Mail), qui sont grincheuses et bureaucratiques. Malheureusement, les autorités postales sont les meilleures (et souvent les seules) sources de données permettant de vérifier les adresses, et il n'y a donc pas vraiment d'autre solution. En fin de compte, vous devez mettre en balance le coût des mauvaises adresses (généralement une question de volume de courrier) et le coût du logiciel permettant de les vérifier. Les données postales irlandaises sont encore plus douteuses que les formats postaux irlandais (qui omettent souvent les numéros d'immeuble), il n'y a donc pas grand-chose à faire pour ces adresses.

1 votes

Par ailleurs, pour les petites entreprises intéressées par une validation uniquement pour les États-Unis, vous pouvez utiliser gratuitement certains des services web de l'USPS ( usps.com/business/webtools.htm ).

5 votes

Notez que les conditions de l'API de l'USPS limitent effectivement le service aux entreprises qui expédient par l'intermédiaire de l'USPS : "L'utilisateur accepte d'utiliser le site Web, les API et les données de l'USPS pour faciliter les transactions d'expédition de l'USPS uniquement". Si vous souhaitez expédier vos marchandises via UPS ou Fedex, ou si votre entreprise envoie ses propres camions/chauffeurs - comme la mienne - vous devez faire appel à un tiers coûteux.

0 votes

Bien sûr, vous pouvez envoyer un document par an avec USPS, alors vous êtes un client !

14voto

Jonathan Oliver Points 3774

La réponse dépend du degré de confiance que vous accordez aux données et de l'utilisation que vous en faites. Par exemple, si vous les utilisez pour des envois postaux ou des expéditions, vous voudrez être sûr que les données sont correctes. Si vous les utilisez simplement comme un autre mécanisme de prévention de la fraude, vous pouvez potentiellement laisser un certain degré d'erreur se glisser dans les données.

Si vous souhaitez obtenir un degré de précision réel, vous devez opter pour un service qui effectue une véritable vérification des adresses et vous devrez payer pour cela. Comme l'a mentionné Adam, la vérification et la validation d'adresses semblent simples et faciles au premier abord, mais c'est un trou noir rempli de défis et, à moins que vous n'ayez des données sous-jacentes avec lesquelles travailler, c'est pratiquement impossible à faire par vous-même. Croyez-moi, vous économisez de l'argent en utilisant un service. N'hésitez pas à vous lancer dans cette aventure pour vous rendre compte de ce que je veux dire, mais je peux vous garantir que vous verrez la lumière, pour ainsi dire, après quelques heures (ou quelques jours) d'immobilisme.

Je devrais mentionner que je suis le fondateur de SmartyStreets. Nous faisons validation des adresses et les adresses de vérification et nous offrons ceci pour les Etats-Unis et le Canada. international également. Je me ferai un plaisir de répondre personnellement à toutes vos questions sur le nettoyage, la normalisation et la validation des adresses.

2 votes

À l'OP et à tous ceux qui lisent ces lignes, maintenant que plusieurs années se sont écoulées depuis la publication de cette question. J'ai testé le service de smartystreets. Il semble très correct, tant pour la vérification des adresses aux États-Unis qu'à l'étranger. Je ne peux pas me porter garant de l'exactitude de leurs données (comment pourrais-je le confirmer ?), mais je n'ai aucune raison de penser que cela pourrait être un problème. Il s'agit d'une entreprise commerciale qui, je suppose, prendrait toutes les mesures possibles pour fournir des données exactes, puisque c'est de cela que dépend son activité.

4voto

Usarian Points 11

Une autre option est YADDRESS .

0 votes

USA seulement ? Échec sur mon adresse professionnelle (Royaume-Uni), et ne comprend pas de champ Pays dans l'adresse décomposée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X