2009-03-12 6 views
3

J'ai une assez grande base de données d'adresses de localisation (500k +) du monde entier. Bien que beaucoup de l'adresse sont des doublons ou des quasi-doublons. Chaque fois qu'une nouvelle adresse est entrée, je vérifie si elle est déjà dans la base de données, et si c'est le cas, je prends le lat/long existant et l'applique à la nouvelle entrée. La raison pour laquelle je ne lierai pas à une table séparée est parce que les adresses ne sont pas utilisées en tant que groupe pour la recherche, et leurs différences sont souvent assez dans l'adresse que je veux les garder distinctes. Si j'ai une correspondance complète sur l'adresse, j'applique ce lat/long. Si ce n'est pas le cas, je vais au niveau de la ville et j'applique cela, si je ne peux pas trouver de correspondance, j'ai un processus séparé à exécuter.Nettoyage du géocodage manqué (ou conseils généraux sur le nettoyage des données)

Maintenant que vous avez l'arrière-plan étendu, le problème. Parfois, je me retrouve avec un lat/long qui est loin de la plage d'erreur normale acceptable. Cependant, étrangement, c'est normalement juste un ou deux de ces lat/longs qui sortent de la plage, tandis que le reste des données existe dans la base de données avec le nom de la ville correcte.

Comment recommanderiez-vous de nettoyer les données. J'ai la base de données geonames, donc théoriquement j'ai les données correctes. Ce que je lutte avec, c'est quelle est la routine que vous feriez pour y arriver.

Si quelqu'un pouvait me diriger dans le sens d'une certaine direction de scrubbing (bas niveau), ce serait génial.

+0

Je ne comprends pas très bien le problème ... Pensez-vous que vous pourriez le clarifier un peu? –

Répondre

0

C'est une vieille question, mais les vrais principes ne meurent jamais, n'est-ce pas? Je travaille dans l'industrie de la vérification d'adresses pour une entreprise appelée SmartyStreets. Lorsque vous avez une grande liste d'adresses et que vous avez besoin de les "nettoyer", polies selon les normes officielles, et que vous en dépendez pour tous les aspects de vos opérations, vous devriez regarder dans les logiciels certifiés CASS (États-Unis seulement; et beaucoup n'offrent pas un tel service officiellement).

L'USPS accorde des licences aux fournisseurs certifiés CASS pour «scrub» ou «nettoyer» (c'est-à-dire normaliser et vérifier) ​​les données d'adresse. Je suggère que vous regardez dans un service tel que LiveAddress de SmartyStreets pour vérifier des adresses ou traiter une liste tout à la fois. Il existe d'autres options, mais je pense que c'est la plus flexible et abordable pour vous. Vous pouvez nettoyer votre liste initiale puis utiliser l'API pour valider les nouvelles adresses au fur et à mesure que vous les recevez.

Mise à jour: Je vois que vous utilisez JSON pour diverses choses (j'adore JSON, au fait, c'est tellement facile à utiliser). Il n'y a pas beaucoup de fournisseurs de services dont vous avez besoin, mais SmartyStreets fait. En outre, vous serez en mesure de vous renseigner sur le sujet de la validation d'adresse en lisant certaines des ressources/articles sur ce site.

+0

Juste mis à jour; LiveAddress fournit maintenant les coordonnées de géocode. – Matt

Questions connexes