Analyseur d'adresse standard

Idées générales

Le but est de créer un parseur PHP associé à des tables (tables de pays, tables de villes) qui puisse reconnaître et comprendre automatiquement une adresse. Dans la pratique, on analysera seulement jusqu'au niveau de la ville.

L'idéal serait de pouvoir comprendre une adresse, même si elle est n'est pas complètement correct. Cela demande de traiter beaucoup de cas particuliers et le code risque de continuer à évoluer pendant lontemps, mais cet analyseur pourrait permettre de récupérer les adresses existantes dans de grandes bases.

La table des villes utilisées ici est la même que pour le formulaire, elle vient de geoloc.org. Pour la questionner, l'url est :

http://www.geoloc.org/cityinput/cityFinder.php?idCountry={code du pays}&searchStr={recherche}

Dans certaines adresses des informations peuvent être en double puisque l'information dans la base est à la fois stockée dans le champ adresse littérale et le dans un champ à part (code postal, pays, ville, ...). Il faudra donc pouvoir repérer ces cas et éliminer les doublons.

Application

L'application qui suit ne gère pas tous les cas particuliers, mais essaie de régler pas mal de problèmes. A chaque nouvelle adresse qui ne fonctionne pas, j'essaie d'adapter l'analyseur tout en conservant les types d'analyse déjà acquis (XP, merci mad)

Comme un facteur qui lit une enveloppe, on part de la fin et on remonte en essayant de préciser les informations. A chaque étape on élimine de l'adresse à lire les informations déjà reconnues.