2009-03-25 5 views
53

J'ai pour tâche de valider les adresses entrées dans un système que je suis en train de créer. Le système exige que les adresses entrées soient validées par rapport à une source de données valide. Au Royaume-Uni, l'ensemble de données provient de Royal Mail et est cher d'accès.Validation d'adresse à l'aide de l'API Google Maps

Les données nécessaires sont des informations de code postal pour l'ensemble de l'Europe pour commencer par l'accès par une API dans l'application web.

Il y a un certain nombre d'entreprises qui offrent ce service,

  1. QAS
  2. Capscan
  3. Code postal partout

Ces dernières offrent le service que je demande. Cependant, ceci est coûteux et, dans certains cas, n'est pas un ensemble de données complet. par exemple. Je me demandais aussi s'il serait possible d'utiliser l'API Google Maps pour valider ces données par code postal et par pays.

Est-ce que la méthode google maps serait possible ou est-ce que je dois descendre dans l'une de ces compagnies chères? Des pensées sur quelle ligne je devrais prendre.

Répondre

34

La réponse dépend probablement de l'importance de la prise en charge et de la personnalisation possible de ce service.

Google peut certainement le faire. Regardez dans leurs API XML et géocodage. Vous devriez être en mesure d'élaborer un message XML demandant à Google de retourner les coordonnées de la carte pour 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 Google Maps est de tracer des adresses sur des cartes réelles. Bien que vous puissiez certainement utiliser les données à d'autres fins, vous êtes à la merci de Google si l'une de leurs cartes ne correspond pas exactement à vos besoins de validation d'adresse légale ou commerciale. Si vous avez payé pour l'un des services que vous avez mentionnés, vous serez probablement en mesure de recevoir de l'aide si certaines adresses ne répondent pas à vos attentes. En d'autres termes, vous obtenez ce que vous payez;). Si vous avez le temps, cependant, pourquoi ne pas essayer de mettre en œuvre une solution basée sur Google, puis aller de là? L'API est très élégante et, après tout, gratuite.

28

Le geocoding api de Google semble vouloir faire ce que vous voulez, mais malheureusement, cette utilisation semble également enfreindre les terms of service de l'API. Plus précisément, la stipulation que vous ne pouvez pas

10,12 utiliser ou afficher le contenu sans carte Google correspondant, sauf si vous êtes explicitement autorisé à le faire dans les cartes API Documentation, la fonctionnalité Street View API Documentation, ou par autorisation écrite de Google (par exemple, vous ne devez pas utiliser les géocodes obtenus via le Service, sauf avec une carte Google, mais la documentation de l'API Street View vous permet explicitement d'afficher des images Street View sans carte Google correspondante); ou

+0

@fgregg: un peu hors sujet, mais pensez-vous que sauvegarder la distance de conduite entre 2 points est contre les ToS? à condition de cliquer sur un lien à proximité pour afficher une carte google? – mpen

+1

Cela semble maintenant être 10.1.1 (g). – Ricky

+2

Cela semble maintenant être 10.4 (d) – dhavald

22

Je suis à la fois développeur Web et ancien employé de l'une des entreprises que vous avez mentionnées. Je comprends complètement d'où tu viens. La vérification des adresses semble être un problème simple à aborder, mais c'est vraiment un iceberg.Je suppose qu'une solution de contournement aux contraintes légales de Google ou Yahoo! Les API Google Maps demandent à vos utilisateurs de vérifier leurs adresses sur une carte. Si j'étais à votre place, je n'irais pas dans cette direction. La raison pour laquelle les services de vérification d'adresse sont si chers est qu'ils nécessitent des licences et des relations continues avec les autorités postales grincheuses et bureaucratiques (y compris Royal Mail). Malheureusement, les autorités postales sont les meilleures (et souvent les seules) sources de données pour vérifier les adresses, il n'y a donc pas d'autre moyen de s'y prendre. L'essentiel est que vous devez peser le coût des mauvaises adresses (généralement une question de volume de courrier) par rapport au coût du logiciel pour les vérifier. Les données postales irlandaises sont encore plus fouillées que les formats postaux irlandais (qui omettent souvent les numéros de construction), de sorte que vous ne pouvez pas faire grand-chose à propos de ces adresses.

+1

En outre, pour les petites entreprises intéressées par la validation uniquement aux États-Unis, vous pouvez utiliser gratuitement certains des services Web d'USPS (https://www.usps.com/business/webtools). htm). – Adam

+4

Notez que les termes de l'API USPS limitent effectivement le service aux entreprises qui expédient via USPS: "L'utilisateur accepte d'utiliser le site Web USPS, les API et les données USPS pour faciliter les transactions d'expédition USPS uniquement." Si vous voulez expédier par UPS ou Fedex, ou si votre entreprise expédie ses propres camions/chauffeurs - comme le mien - vous devez utiliser une tierce partie coûteuse. – HiredMind

+0

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

2

Validez le avec l'API de FedEx. Ils ont une API pour générer des étiquettes à partir du code XML. Le processus implique une étape pour valider l'adresse.

+7

Sauf si vous prévoyez d'expédier via FedEx, vous enfreignez [leurs conditions d'utilisation] (http://www.fedex.com/cgi-bin/global_legal.cgi?cc=us&sc=/legal/). – Matt

+0

... et leur base de données de validation d'adresses est nulle. – ColinM

0

Google base (gratuit) ne fournit pas de vérification d'adresse (géocodage) car il n'y a pas de licence de code postal au Royaume-Uni.

Cela signifie que les recherches de codes postaux sont très précises. La recherche de proximité est très mauvaise, même pour les recherches en ville, souvent en ne reconnaissant pas les lieux. C'est pourquoi Google dispose d'une solution de premier plan et d'entreprise toujours plus chère et moins performante que les spécialistes de la cartographie commerciale comme bIng et Via Michelin qui ont également des API.

En tant que développeur free-lance, une entreprise aussi sérieuse utiliserait Google car le système est faible et fournit vraiment une solution édulcorée.

1

Je sais que cet article est un peu vieux, mais au cas où quelqu'un trouverait cela pertinent, vous voudrez peut-être consulter les services de géocodage gratuits offerts par l'USC College. Cela inclut la validation d'adresse via des appels ajax et statiques. Le seul hic, c'est qu'ils demandent un lien de retour et n'offrent que des attributions de 2500 appels. Plus que juste. https://webgis.usc.edu/Services/AddressValidation/Default.aspx

+2

J'ai essayé d'utiliser cela et les données sont extrêmement anciennes. La version AJAX a également été cassée pendant un certain temps. –

5

Une autre option est YADDRESS.

+0

États-Unis seulement? Échec de l'adresse de mon entreprise (Royaume-Uni) et n'inclut pas de champ Pays dans l'adresse décomposée. –

+0

Correct, États-Unis uniquement. –

5

La réponse dépend du degré de confiance que vous placez dans les données et de la façon dont vos données sont utilisées. Par exemple, si vous l'utilisez pour le publipostage ou l'expédition, vous devez être sûr que les données sont correctes. Si vous l'utilisez simplement comme un autre mécanisme de prévention de la fraude, vous pourriez potentiellement laisser un certain degré d'erreur s'infiltrer dans les données.

Si vous voulez un degré de précision réel, vous avez besoin d'un service de vérification d'adresse et vous devrez payer pour cela. Comme l'a mentionné Adam, la vérification et la validation des adresses semblent simples et faciles au premier abord, mais c'est un trou noir plein de défis et, à moins que vous ayez des données sous-jacentes à travailler, pratiquement impossible à faire vous-même. Croyez-moi, vous économisez de l'argent en utilisant un service. Vous êtes invités à parcourir cette route pour découvrir ce que je veux dire, mais je peux vous garantir que vous verrez la lumière, pour ainsi dire, après quelques heures (ou jours) de rotation de vos roues.

Je devrais mentionner que je suis le fondateur de SmartyStreets. Nous faisons address validation et les adresses de vérification et nous offrons cela pour les États-Unis et international ainsi. Je suis plus qu'heureux de répondre personnellement à toutes vos questions sur le nettoyage, la normalisation et la validation des adresses.

+0

Pour OP et toute autre personne lisant ceci, maintenant que c'est quelques années après que ce Q a été posté. J'ai testé le service de smartystreets. Il semble très décent, à la fois pour la vérification des adresses US et Intl. Je ne peux pas garantir l'exactitude de leurs données (comment puis-je confirmer cela?), Mais je n'ai aucune raison de penser que cela pourrait être un problème. Ils exploitent une entreprise commerciale qui, à mon avis, prendrait toutes les mesures possibles pour fournir des données exactes, puisque c'est de cela que dépend leur entreprise. – inspirednz

0

Vous pouvez envisager d'utiliser l'API PAV-I de CDYNE qui valide les adresses internationales. international-address-verification Ils couvrent plus de 240 pays, il devrait donc couvrir tous les pays pour lesquels vous cherchez à valider.

+5

Notez que ce service a été interrompu depuis mars 2013. –