Il faut en effet comparer les noms une fois abrégés (l'inverse pose
beaucoup trop de problèmes).

Pour cela je suis en train de terminer un requête SQL qui fait ça à l'aide
de string_split_to_table + un LEFT JOIN sur une table d'abréviation + un
string_agg pour recoller les morceaux. Le problème c'est qu'il faut les
remettre dans l'ordre original, donc besoin d'une séquence pour cela.

Au final ça donne un truc comme:

select insee,rivoli,string_agg(mot,' ' order by num),
string_agg(coalesce(abrege,mot),' ' order by num) from (select
insee,rivoli, regexp_split_to_table(nom_voie, E'\\s+') as mot,
nextval('mot') as num from dgfip_fantoir_voies where insee='94068') as mots
left join abbreviations on (upper(unaccent(complet))=upper(unaccent(mot)))
group by insee,rivoli;

Ah oui, unaccent (qui supprime les accents) provient d'une extension
postgres... pour y avoir accès il suffit de faire un : CREATE EXTENSION
unaccent;


Le 19 janvier 2014 19:28, Vincent de Château-Thierry <v...@laposte.net> a
écrit :

> Bonsoir,
>
> Le 19/01/2014 18:41, Tyndare a écrit :
>
>
>> J'ai mis à jour l'outil (et désactivé l'ancien pour l'instant):
>> http://37.187.60.59/cadastre-housenumber/adresses.php
>> (Il est encore plus lent, je crois que si on voulait faire une
>> extraction massive du cadastre il lui faudrait plusieurs années...)
>>
>> J'ai gardé un fixme uniquement dans les cas suivants:
>>   - numéro sans rue (j'ai pas trouvé de parcelle correspondante)
>>   - numéro sans position exacte (j'ai une adresse de parcelle mais je
>> n'ai pas trouvé le numéro sur le dessin du cadastre donc je l'ai mis au
>> milieu de la parcelle.
>>   - numéro associé à plusieurs rues... oui ça arrive qu'une parcelle ait
>> plusieurs adresses avec le même numéro, donc ne sachant pas choisir,
>> j'associe chacun des numéros à chacune des rues.
>>   - numéro trouvé à plus de 10m de la parcelle (donc il faut mieux
>> vérifier)
>> Dites moi si la limite des 10m vous parait suffisante ou pas.
>>
>> Voici un exemple de résultat
>> http://37.187.60.59/cadastre-housenumber/data/026/CL281/
>> CL281-adresses.osm
>>
>> il y a quand même plus de 600 fixme... cad 7%
>>
>> Un exemple plus simple:
>> http://37.187.60.59/cadastre-housenumber/data/050/KN078/
>> KN078-adresses.osm
>>
>>
>> Petit bonus:
>>   - j'ai créé des place=neighbourhood pour les adresses sans numéro
>> comme suggéré par Mickaël
>>   - si le numéro est à moins de 2 m de la parcelle, je le déplace sur la
>> limite de la parcelle
>>   - j'ai essayé d'améliorer la reconnaissance des lettres jusqu'à S pour
>> Évry.
>>
>> Il faut encore que je modifie les lettre B T Q en bis ter quart si
>> approprié comme tu l'a proposé Christian.
>>
>> Vincent, est-ce que tu pourras adapter ton script au nouveau format du
>> fichier que je génère ?
>>
>
> Oui, volontiers !
>
>
>  Et dans ton fichier les nom de rue contiennent toujours des
>> abréviations, est-ce qu'il y a moyen de trouver le nom complet dans OSM ?
>>
>
> C'est pile là-dessus que j'ai voulu avancer (un peu) aujourd'hui : grâce à
> la position des nodes, je télécharge les way highway=* dans l'emprise de la
> relation associatedStreet et je cherche à matcher les ways avec le même nom
> (aux écarts d'écriture qu'on connaît : accents, abrev., majuscules, etc.)
> histoire de placer l'ID des ways reconnus dans la relation, avec un rôle
> 'street'. Et quand ça matche, c'est le nom récupéré sur les ways qui
> devient le 'name' de la relation, plutôt que le nom du cadastre. Si ça ne
> matche pas, alors pas de rôle 'street' dans la relation, c'est lors de
> l'intégration qu'il faut aller piocher les bonnes portions de voie.
> Pour avancer là-dessus, il faut que j'intègre le dictionnaire des
> abréviations de Christian, et que je télécharge les highways dans l'emprise
> d'une relation admin, afin de limiter les appels. Pour mes premiers tests
> je fais un appel par rue, ça pourra pas durer longtemps comme ça :-).
>
> On avance et on s'amuse :-)
>
>
> vincent
>
> _______________________________________________
> dev-fr mailing list
> dev-fr@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/dev-fr
>



-- 
Christian Quest - OpenStreetMap France
_______________________________________________
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr

Reply via email to