Como efectua a validação de endereços?

Author: Juha Syrjälä, 2008-09-25

20 answers

Aqui está uma forma livre e "fora da caixa" de o fazer. Não é 100% perfeito, mas deve rejeitar endereços manifestamente inexistentes.

Enviar o endereço completo para o serviço web de geocodagem do Google . Este serviço tenta devolver as coordenadas exatas do local que você o alimenta, ou seja, latitude e longitude.

Segundo a minha experiência, se o endereço for inválido, obterá um resultado de 602 do serviço. Há definitivamente uma possibilidade de falsos positivos ou falsos negativos, mas usados em conjunto com outras verificações de consistência pode ser útil.

(O serviço de Geocoding do Yahoo, por outro lado, devolverá as coordenadas do centro da cidade se a cidade existir, mas o resto do endereço é falso. Potencialmente útil, desde que você preste atenção ao campo "precisão" no resultado).

 23
Author: Tim Farley, 2014-03-05 05:55:24

Há uma série de boas respostas aqui, mas a maioria deles fazem a suposição de que o usuário quer uma solução "API" onde eles devem escrever código para se conectar a um serviço de terceiros e/ou tela raspar o USPS. Tudo isto está muito bem, mas deve ser tido em conta nos requisitos de negócio e nos custos associados à implementação e depois ponderado contra os benefícios desejados.

Dependendo dos Requisitos de negócio e da forma como os dados são recebidos na sistema, uma solução de processamento de endereço em tempo real pode ser a melhor aposta. Se for necessária uma solução em tempo real, você vai querer considerar o Acordo de licença e as limitações técnicas das APIs do Google Maps/Bing/Yahoo. Eles normalmente limitam o número de chamadas que você pode fazer a cada dia. A API de ferramentas Web da USPS é a mesma em adicional que restringem como / por que você pode usar seu sistema e como você está autorizado a usar os dados depois.

Ao mesmo tempo, há um punhado de grandes serviços provedores que podem facilmente processar uma lista estática de endereços. Essencialmente, você dá ao Provedor de serviços um arquivo CSV ou Excel, eles limpam - no e levá-lo de volta para você. É um negócio único sem compromisso a longo prazo ou obrigação-geralmente. Sou o fundador da SmartyStreets. Verificamos endereços nos Estados Unidos. Nós somos facilmente capazes de CASS certificar uma lista e também oferecemos um serviço de verificação de endereço API . Não temos taxas ocultas, contratos, nem nada. Usa o nosso serviço até não precisar mais dele e pode ir-se embora. (Ao contrário das empresas de telemóveis que requerem um contrato.)
 16
Author: Jonathan Oliver, 2016-08-26 22:25:53

O USPS tem um limpador de endereços online , que alguém tem um ecrã raspado no serviço web de um homem pobre. No entanto, se você está fazendo isso muitas vezes, seria uma idéia melhor para se candidatar a uma conta do USPS e chamar o seu próprio serviço web .

 14
Author: Mark Brackett, 2016-09-27 18:02:47

Vou encaminhá - lo para o meu blog post - uma lição no armazenamento de endereços, Vou entrar em algumas das técnicas e algoritmos usados no processo de validação de endereços. Meu pensamento chave é " não seja preguiçoso com o armazenamento de endereços, ele vai lhe causar nada além de dores de cabeça no futuro!"

Além disso, há outra questão de StackOverflow que faz esta pergunta. Intitulado como devem os endereços geográficos internacionais ser armazenados numa base de dados relacional .
 10
Author: BenAlabaster, 2017-05-23 12:17:19
No decurso do desenvolvimento de um serviço interno de verificação de endereços numa empresa alemã para a qual trabalhei, encontrei várias formas de resolver este problema. Farei o meu melhor para resumir as minhas descobertas abaixo:

Software Livre E De Código Aberto

Claramente, a primeira abordagem que alguém faria é uma de código aberto (como openstreetmap.org o que nunca é má ideia. Mas se você pode realmente colocar isso em bom e confiável uso depende muito sobre o quanto você precisa confiar nos resultados. Os endereços são uma coisa incrivelmente variável. Verificar endereços dos EUA não é uma tarefa fácil, mas suportável, mas uma vez que você está indo para a Europa, especialmente o Reino Unido com seu extenso sistema de Código Postal, a abordagem de código aberto simplesmente não terá dados.

Serviços Web / APIs

Software De Classe Empresarial

O dinheiro fá-lo, obviamente. Mas nem todos os negócios ou desenvolvedores podem gastar ~ $ 0,15 Por pesquisa de endereços (são 150 dólares por 1.000 pedidos de API) - um modelo de negócio muito caro que a grande maioria das API de validação de endereços implementaram.

O que acabei por integrar:

Uma vez que não estava disposto a assumir a abordagem programática de verificar os dados de endereços manualmente, cheguei finalmente à conclusão de que precisava de uma API com um preço que não fizesse o meu chefe querer despedir-me e ainda entregar sólidos e fiáveis. resultados de verificação internacional. Resumindo, acabei por integrar uma API construída pelo apilayer, chamada "API streetlayer". Eu era facilmente convencido por uma simples integração JSON, resultados de validação surpreendentemente precisos e seus preços favoráveis ao Desenvolvedor. Além disso, 100 pedidos/mês são totalmente gratuitos. Espero que isto ajude!
 6
Author: Frank, 2017-01-19 20:34:07

Tivemos sucesso com endereço perfeito .

A base de dados deles tem todos os nomes de rua e intervalos de números de Rua dos EUA. Também atua como um analisador bastante decente para campos de endereço free-form, se você tiver a sorte suficiente para ter esse tipo de dados.
 1
Author: Jason DeFontes, 2008-09-25 19:25:02

Para Dados de endereços baseados nos EUA, a minha empresa usou GeoStan . Ele tem ligações para C E Java (e nós criamos uma ligação Perl). Note que é um produto comercial e não é barato. É bastante rápido, porém (~300 endereços por segundo) e oferece recursos como certificação CASS (desconto de correio a granel da USPS), verificação DPV (verificação do ponto de entrega), e geocoding LON/LAT.

Existe um módulo Perl Geo:: PostalAddress , mas usa heurística e não tem o outras características mencionadas para GeoStan.

Editar: alguns mencionaram 'fazê-lo você mesmo', se você decidir fazer isso, uma boa fonte de informação para começar é o US Census Tiger Data Set, que contém uma série de informações sobre os EUA, incluindo informações de endereço.

 1
Author: Kyle Burton, 2008-11-11 05:27:50

Você também pode tentar as soluções de qualidade de dados da SAP que estão disponíveis em ambas as plataformas de servidor está processando um grande número de pedidos ou como um SDK incorporável se você quiser executá-lo em processo com a sua aplicação. Nós o usamos em nossa aplicação e é muito robusto e escalável.

 1
Author: James Cheng, 2011-02-20 20:12:57

Como visto em reddit:

$address = urlencode('1600 Pennsylvania Avenue, Washington, DC');
$json = json_decode(file_get_contents("http://where.yahooapis.com/geocode?q=$address&flags=J"));
print_r($json);
 1
Author: Xeoncross, 2012-11-12 20:42:12
Pode tentar a Api "IdentifyAddress" de Pitney Bowes disponível em - https://identify.pitneybowes.com/

O serviço analisa e compara os endereços de entrada com as bases de dados de endereços conhecidas em todo o mundo para produzir um detalhe padronizado. Corrige endereços, adiciona informações postais em falta e formata-as utilizando o formato preferido pela Autoridade postal aplicável. Eu também usa bases de dados de endereços adicionais para que ele possa fornecer mais detalhes, incluindo endereço qualidade, tipo de endereço, transliteração (como de Kanji chinês para caracteres latinos) e se um endereço é validado para a premissa/número da casa, rua ou nível da cidade de informações de referência.

Você vai encontrar um monte de amostras e sdk disponíveis no site e eu achei extremamente fácil de integrar.

 1
Author: Parag Mittal, 2017-12-22 11:37:26
Há empresas que prestam este serviço. As agências de serviço que lidam com o correio em massa vão esfregar uma lista de discussão inteira para que esteja no formato adequado, o que resulta em um desconto sobre o envio. A USPS vende bases de dados de informações de endereços que podem ser usadas para desenvolver soluções personalizadas. Eles também têm listas de fornecedores aprovados que fornecem este tipo de software e serviço.

Existem alguns (mas não muitos) pacotes que têm APIs para a validação de endereços de ligação em o teu software.

No entanto, tens razão, é um problema muito desagradável.

Http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm

 0
Author: Jason, 2008-09-25 18:19:11

Como mencionado há muitos serviços lá fora, se você está procurando realmente validar o endereço inteiro, então eu recomendo ir com um serviço de tipo de serviço Web para garantir que as alterações podem ser rapidamente reconhecidas pela sua aplicação.

Para além dos serviços acima enumerados, webservice.net tem este serviço de Validação de endereços dos EUA. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24

 0
Author: Mitchel Sellers, 2008-09-25 18:31:59
Validar um endereço válido é uma coisa. Mas se você está tentando validar uma determinada pessoa vive em um determinado endereço, sua única quase-garantia seria um email de teste para o endereço, e mesmo isso não é certo se a pessoa está organizada ou conhece alguém nesse endereço. Caso contrário, as pessoas poderiam apenas especificar um endereço aleatório arbitrário que sabem que existe e que não significaria nada para si.

O melhor que podes fazer para obter resultados imediatos é pedir o usuário envia uma cópia fotografada / digitalizada do chefe de seu extracto bancário ou alguma outra prova de residência recente, porque pelo menos então eles têm que trabalhar mais para esquecê-lo, e falsificar as coisas aparecem facilmente com um nível básico de análise forense de imagem.

 0
Author: Kent Fredric, 2008-09-30 14:42:59
Não há solução global. Para qualquer país é, na melhor das hipóteses, bastante complicado.

No Reino Unido, o PostOffice controla os endereços postais e pode fornecer (a custo) informações de endereços para efeitos de validação.

([1]) as agências governamentais também mantêm uma extensa lista de endereços, e estes são reunidos centralmente no NLPG (National Land and Property Gazetteer). Validar contra estas listas é muito difícil. A maioria das pessoas nem sabe exactamente como o seu endereço tal como é mantido pelo PostOffice. Algumas empresas nem sabem que Número São numa rua em particular. A tua melhor aposta é aproximar-te de uma empresa especializada neste tipo de coisas.
 0
Author: Kramii, 2008-09-30 14:57:54

O Yahoo também tem uma API Placemaker.É bom apenas para locais, mas tem um id universal para todos os locais do mundo.

Parece que não existe nenhuma norma na lista ISO .

 0
Author: Elzo Valugi, 2009-07-23 16:05:01

NAICS.com está saindo com uma API que irá adicionar todos os tipos de dados de negócios chave, incluindo endereço de rua. Isso aconteceria no momento em que os formulários do seu site são processados. https://www.naics.com/business-intelligence-api/

 0
Author: Jillian Baker, 2017-01-10 20:43:37

Fixaddress.com o serviço está disponível que fornece os seguintes serviços,

1) Validação Do Endereço.

2) Correcção De Endereços.

3) correcção ortográfica do endereço.

4) corrigir os endereços dos erros fonéticos.

Fixaddress.com usa dados USPS e Tiger como dados de referência.

Para mais detalhes, visite abaixo do link,

Http://www.fixaddress.com/

 0
Author: Rakesh Chaudhari, 2017-06-08 04:59:32

Uma área onde as pesquisas de endereços têm de ser efectuadas de forma fiável é para os serviços VOIP E911. Conheço empresas que utilizam de forma fiável os seguintes serviços para este fim:

Bandwidth.com validação do endereço da API MSAG de acesso por 9-1-1-1

MSAG = Master Street Address Guide

Https://www.bandwidth.com/9-1-1/

SmartyStreet US Street Address API

Https://smartystreets.com/docs/cloud/us-street-api

 0
Author: Grokify, 2018-01-18 05:04:45

Para nós endereços você pode exigir um estado válido, e verificar se o zip é válido. Você pode até mesmo verificar que o código postal está no estado certo, mas além disso eu não acho que há muitos testes que você poderia executar que não iria fornecer um monte de negativos falsos.

O que estás a tentar fazer?evitar erros simples ou fazer uma verificação de identidade?
 -1
Author: Rob Walker, 2008-09-25 18:14:56