2009-03-25 51 views
53

Tengo una tarea para validar las direcciones ingresadas en un sistema que estoy creando actualmente. El sistema requiere que la dirección ingresada sea validada contra una fuente de datos válida. En el Reino Unido, el conjunto de datos proviene del Royal Mail y su acceso es costoso.Validación de dirección con Google Maps API

Los datos necesarios son información de código postal para toda Europa para empezar, accedido por una API a la aplicación web.

Hay una serie de empresas que ofrecen este servicio,

  1. QAS
  2. CapScan
  3. Código Postal en cualquier lugar

Todos ellos ofrecen el servicio que requiero. Sin embargo, esto es costoso y en algunos casos no es un conjunto completo de datos. p.ej. no Irlanda

También me preguntaba si habría una manera de utilizar la API de Google Maps para validar estos datos a través de código postal y país.

¿Sería posible el método de google maps o tendré que pasar por la línea de una de estas costosas compañías? Cualquier idea sobre qué línea debería tomar.

Respuesta

34

La respuesta probablemente dependa de cuán importante es para usted recibir soporte y posible personalización para este servicio.

Google puede hacer esto. Mire en sus API XML y de Geocodificación. Debería poder crear un mensaje XML pidiéndole a Google que devuelva las coordenadas del Mapa para una dirección determinada. Si no se encuentra la dirección (inválida), recibirá una respuesta apropiada. Aquí hay una página útil: http://code.google.com/apis/maps/documentation/services.html#XML_Requests

Tenga en cuenta que el objetivo de Google al proporcionar la API de Maps es trazar direcciones en mapas reales. Si bien puede utilizar los datos para otros fines, está a merced de Google si alguno de sus mapas no se corresponde exactamente con sus necesidades de validación de direcciones legales o comerciales. Si pagó por uno de los servicios que mencionó, es probable que pueda recibir asistencia en caso de que ciertas direcciones no se resuelvan de la manera que usted espera.

En otras palabras, obtienes lo que pagas;). Sin embargo, si tienes tiempo, ¿por qué no intentas implementar una solución basada en Google que va desde allí? La API parece bastante resbaladiza, y es gratis, después de todo.

28

geocoding api de Google parece querer querer, pero desafortunadamente este uso también parece violar el terms of service de la API. En concreto, la estipulación de que es posible que no

10,12 utilizar o mostrar el contenido sin el correspondiente mapa de Google, a menos que esté explícitamente permitido hacerlo en la documentación API de Google Maps, la API de Street View documentación, o por medio de permiso por escrito de Google (por ejemplo, no debe usar códigos geográficos obtenidos a través del Servicio, excepto en combinación con un mapa de Google, pero la documentación de la API de Street View le permite mostrar imágenes de Street View sin un mapa de Google correspondiente); o

+0

@fgregg: un poco fuera de tema, pero ¿cree que guardar la distancia de conducción entre 2 puntos va en contra del ToS? siempre que haciendo clic en un enlace cercano realmente muestre un mapa de Google? – mpen

+1

Esto ahora parece ser 10.1.1 (g). – Ricky

+2

Esto ahora parece ser 10.4 (d) – dhavald

22

Soy desarrollador web y ex empleado de una de las empresas que mencionas. Entiendo completamente de dónde vienes. Verificar direcciones parece ser un problema simple de abordar, pero es mucho más un iceberg.Supongo que una solución a las limitaciones legales de Google o Yahoo! La API de Maps es para solicitar a los usuarios que verifiquen sus direcciones en un mapa. Sin embargo, si yo estuviera en tu lugar, no iría por esa ruta.

El motivo por el cual los servicios de verificación de direcciones son tan caros es que requieren licencias y relaciones continuas con las autoridades postales gruñones y burocráticas (incluido el Correo Real). Lamentablemente, las autoridades postales son las mejores (y, a menudo, la única) fuente de datos con las que verificar las direcciones, por lo que realmente no hay otra forma de hacerlo. La conclusión es que debe sopesar el costo de las direcciones incorrectas (por lo general, una cuestión de volumen de correo) frente al costo del software para verificarlas. Los datos postales irlandeses son incluso más basura que los formatos postales irlandeses (que a menudo omiten los números de construcción), por lo que hay poco que puede hacer con esas direcciones.

+1

Además, para las pequeñas empresas interesadas en la validación solo en EE. UU., Puede utilizar algunos de los servicios web de USPS de forma gratuita (https://www.usps.com/business/webtools. htm). – Adam

+4

Tenga en cuenta que los términos de la API de USPS restringen eficazmente el servicio a las empresas que envían a través de USPS: "El usuario acepta utilizar el sitio web de USPS, las API y los datos de USPS para facilitar las transacciones de envío de USPS únicamente". Si desea enviar a través de UPS o Fedex, o su empresa despacha sus propios camiones/conductores, como lo hace la mía, tiene que utilizar un tercero costoso. – HiredMind

+0

por supuesto, puede enviar un documento por año con USPS, ¡entonces usted es un cliente! – Dawesi

2

Validarlo contra la API de FedEx. Tienen una API para generar etiquetas desde el código XML. El proceso implica un paso para validar la dirección.

+7

A menos que tenga pensado enviar por FedEx, violaría [sus términos de servicio] (http://www.fedex.com/cgi-bin/global_legal.cgi?cc=us&sc=/legal/). – Matt

+0

... y su base de datos de validación de direcciones apesta. – ColinM

0

Google basis (gratuito) no proporciona la verificación de dirección (Geocodificación) ya que no hay una licencia de código postal del Reino Unido.

Esto significa que las búsquedas de códigos postales son muy precisas. La búsqueda de proximidad es muy pobre, incluso para búsquedas en ciudades, a menudo sin reconocer ubicaciones.

Esta es la razón por la cual Google tiene una solución premier y empresarial que todavía es más cara y no tan buena como los especialistas en mapeo de negocios como bIn y Vía Michelin que también tienen API.

Como desarrollador free lance, un negocio tan serio usaría Google ya que el sistema es débil y realmente proporciona una solución diluida.

1

Sé que esta publicación es un poco antigua pero, en caso de que alguien lo encuentre relevante, es posible que desee consultar los servicios gratuitos de geocodificación que ofrece USC College. Esto incluye la validación de direcciones a través de ajax y llamadas estáticas. La única pega es que solicitan un enlace y solo ofrecen asignaciones de 2500 llamadas. Más que justo. https://webgis.usc.edu/Services/AddressValidation/Default.aspx

+2

Intenté usar eso y la información es extremadamente antigua. La versión AJAX también se ha roto durante bastante tiempo. –

5

Otra opción es YADDRESS.

+0

solo en EE. UU. Falló en mi dirección comercial (Reino Unido) y no incluye un campo País en la dirección descompuesta. –

+0

Correcto, solo EE. UU. –

5

La respuesta depende del grado de confianza que coloque en los datos y cómo se utilizan sus datos. Por ejemplo, si lo está utilizando para envío por correo o envío, querrá estar seguro de que los datos son correctos. Si solo lo está usando como otro mecanismo de prevención de fraude, entonces podría permitir que un cierto grado de error se filtre en los datos.

Si quiere un grado de precisión real, necesita ir con un servicio que verifique la dirección real y tendrá que pagar por ello. Como ha mencionado Adam, la verificación y validación de direcciones al principio parece simple y fácil, pero es un agujero negro plagado de desafíos y, a menos que tengas algunos datos subyacentes para trabajar, es prácticamente imposible de hacer por ti mismo. Créeme, en realidad estás ahorrando dinero usando un servicio. Puedes pasar por este camino para experimentar lo que quiero decir, pero puedo garantizar que verás la luz, por así decirlo, incluso después de algunas horas (o días) de girar las ruedas.

Debo mencionar que soy el fundador de SmartyStreets. Hacemos address validation y direcciones de verificación y también ofrecemos esto para EE. UU. Y international. Estoy más que feliz de responder personalmente cualquier pregunta que tenga sobre el tema de limpieza de direcciones, estandarización y validación.

+0

Para OP y cualquier otra persona que lea esto, ahora que han pasado algunos años desde la publicación de esta Q. He estado probando el servicio desde smartystreets. Parece muy decente, tanto para la verificación de direcciones de EE. UU. Como para las internacionales. No puedo garantizar la exactitud de sus datos (¿cómo puedo confirmar eso?), Pero no tengo motivos para pensar que pueda ser un problema. Se trata de una operación comercial que supongo que tomará todas las medidas que puedan para proporcionar datos precisos, ya que de eso depende su negocio. – inspirednz

0

Podría considerar el uso de la API PAV-I de CDYNE que valida las direcciones internacionales. international-address-verification Cubren más de 240 países, por lo que debería abarcar todos los países que desea validar.

+5

Tenga en cuenta que este servicio se ha suspendido desde marzo de 2013. –