Créer un service Web de géocodage / répertoire géographique?

14

Je voudrais écrire un service web de géocodage pour la généalogie en Java. Parce que c'est pour la généalogie, je n'ai pas besoin de descendre au niveau de la rue. Je n'ai qu'à descendre dans le comté.

En regardant les données généalogiques, les noms mal orthographiés sont très courants. Les gens utilisent également beaucoup d'abréviations non standard. Par exemple pour le comté de Baltimore pourrait ressembler à:

  1. Baltimore
  2. Comté de Baltimore
  3. Baltimore Co
  4. Baltimore Cty
Jay Askren
la source

Réponses:

10

Je ne pense pas que cette question soit explicitement géographique, car vous n'êtes intéressé que par les noms, vous pouvez donc la poser sur Stack Overflow . Vous pouvez répondre à votre question avec deux informations: l'état et le nom du comté corrigé. Pour effectuer les corrections, vous voudrez probablement utiliser la distance Levenshtein ( exemple et implémentation java ) pour faire correspondre les données floues aux valeurs corrigées.

scw
la source
+1 C'est probablement vrai. Levenshtein ressemble à un bon point de départ et il semble que Postgres le supporte même. Merci.
Jay Askren
Je pense que combiner la distance de Levenshtein avec les données de Geonames ( geonames.org ) peut fonctionner pour moi. Merci.
Jay Askren
5

Un service de géocodage a besoin de données de géométrie géographique, d'un répertoire géographique associé (pour gérer les alternatives de dénomination et de nom) et d'une interface utilisateur (pour arbitrer la recherche). Pour un géocodeur inversé, vous devrez ajouter un validateur de topologie. Pour Java, la suite open source JTS Topology serait le choix naturel: http://www.vividsolutions.com/jts/jtshome.htm

Les géométries des comtés des États-Unis se trouvent au recensement: http://www.census.gov/geo/www/cob/co2000.html

Pour commencer sur le répertoire géographique, le US Board on Geographic Names a une base de données: http://geonames.usgs.gov/

La création d'une base de données solide du répertoire géographique et des algorithmes de tissage qui tolèrent les correspondances de recherche approximatives sont la partie difficile.

glennon
la source
Les algorithmes sont ce que je recherche.
Jay Askren
Les demandes de renseignements sur les algorithmes de similitude sémantique peuvent avoir plus de répondants sur le site principal de stackoverflow.
glennon
1

Google a une belle API pour le géocodage , si vous pouvez suivre leurs conditions d'utilisation. La démo de base peut être trouvée ici .

L'utilisation de leur service est soumise à certaines limitations, mais le résultat est intuitif, rapide, précis et familier à la plupart des utilisateurs. Il vous permettra de vous concentrer sur le développement de la partie généalogique de votre service.

Adam Matan
la source
J'aimerais vraiment tout héberger dans la maison et ne pas dépendre d'un api extérieur.
Jay Askren
Vous recherchez donc une base de données de géocodage sous licence open source?
Adam Matan