[OSM-dev-fr] outil adresse du plugin JOSM cadastre-fr

Tyndare tyndare at wanadoo.fr
Mar 28 Jan 15:52:21 UTC 2014


Le 28 janvier 2014 14:47, V de Chateau-Thierry <vdct at laposte.net> a écrit :

> Argh. J'espère que ça ne t'as pas pris trop de temps. Car pour avancer
> sans rien casser,
> je travaille désormais sur un autre script, issu du précédent mais avec
> une grosse remise
> à plat :
>
> https://github.com/vdct/associatedStreet/blob/master/addr_fantoir_building.py
>

Je vais suivre ça.
Si tu peut faire an sorte que je puisse faire un import python de ton
script pour pouvoir en réutiliser les fonctions sans forcément le lancer
depuis une ligne de commande ça pourrait m'aider ;-)


> Il n'est pas encore opérationnel mais il permettra deux approches, compte
> tenu des
> discussions ici :
> - soit l'adresse comme point sur le way building (tiercé 1),
> - soit l'adresse comme tag du building (tiercé 2).
> Ceci bien sûr quand le building n'a qu'une seule adresse affectée.
>
> Le bémol : j'ai recours à PostGIS en coulisses pour les opérations de
> rapprochement entre
> adresses et buildings. Je dis bémol car ça alourdit la solution, mais
> c'est quand même
> très pratique, aussi.
>

Juste à récemment je ne savais même pas à quoi correspondait lo nom
PostGIS, tout ça pour dire que ce n'est pas trop mon domaine, mais si tu
cherches quelque chose de plus léger, je me suis de mon côté mis à utiliser
la bibliothèque python Shapely que je trouve très pratique:
https://pypi.python.org/pypi/Shapely


>
> Dans le cas 1), le choix de l'endroit où placer le point adresse peut
> donner matière à
> discussion. Pour amorcer, je pense partir sur : le mi-chemin du plus
> proche segment du

point adresse initial.
>

Pour info j'avais déjà essayé d'implémenter le cas 1) dans le script
https://www.gitorious.org/cadastre-housenumber/cadastre-housenumber/source/fusion_osm_avec_housenumbers.py
Ce script n'est pas à jour, il ne marche qu'avec un fichier d'entré ne
contenant que des noeuds addr:housenumber (sans relation ni rien), et il
n'utilise ni les info de parcelles ni la lib Shapely (j'y penserais si j'y
retravaille dessus).

Mes expérimentations m'avait amené à choisir de faire uniquement des
projections orthogonales vers un segment d'un building ou d'une barrier le
plus proche. Et donc de ne pas intégrer le numéro au building si il n'était
pas en face ! (si la projection orthogonale tombe en dehors des extrémités
du segment). Dans la majorité des cas ça donnait le résultat que te
trouvais le plus satisfaisant, et ça évitait aussi d'intégrer le numéro au
building des voisins (dans le cas ou il était plus proche de la route) car
sans les adresses des parcelles je n'avait pas à l'époque de moyen de
vérification.

Une erreur que faisait mon script c'était d'intégrer le numéro à un segment
du building même si à la base il était dessiné à l'intérieur du building,
c'était un très mauvais choix car si le numéro est dessiné à l'intérieur il
est forcément très mal placé, donc dans ce cas là il faut bien mieux le
laisser là où il est, cela sera plus facile de l'intégrer manuellement au
bon segment par la suite.
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20140128/376c5276/attachment.html>


Plus d'informations sur la liste de diffusion dev-fr