[OSM-talk-fr] Améliorer le Bâti
Bruno Cortial
bruno.cortial at laposte.net
Mer 31 Aou 18:36:07 UTC 2011
Bonjour,
Afin de voir où l'on en est sur la qualité des fichiers bâti issus du
cadastre, j'en ai récupéré quelques uns sur cleo, et j'ai tenté d'identifier
les pb récurrents que le contributeur doit gérer quand il se lance dans
l'aventure "import du bati":
1. Des noeuds en doubles ou très proches
2. Des chemins avec un même noeud répété
3. Des bâtiments se croisant eux-mêmes
4. Des bâtiments se chevauchant très faiblement
5. Des bâtiments adjacents, mais qui ne partagent pas leurs noeuds.
Topologiquement ils ne sont pas mitoyens, de quelques centimètres.
6. Des bâtiments en double
7. Des bâtiments inclus dans d’autres, ou se superposant franchement
8. Des bâtiments découpés par les limites de parcelle
9. Des bâtiments avec un nombre exubérant de nœuds
10. Validator c’est long et ça rate des anos en plus !
11. Des bâtiments qui existent déjà dans OSM
12. Des bâtiments sur les highway existantes
Vous en avez d’autres ?
J'ai écrit 2 scripts python. Ce n’est pas très pythonique, pas très
performant, mais cela règle plus d’anos que ça n’en crée (je crois pas que
cela en crée :-) ). Ils utilisent OsmSax [1], Rtree, et Shapely :
Node_simplifier.py : A partir d’un fichier .osm, crée un autre .osm en
éliminant les nœuds en double, ou proches, et nettoie les chemins des nœuds
se répétant.
Node_join.py : A partir d’un fichier .osm, crée un autre .osm en « J »isant
tous les nœuds. Il s’agit de la fonction J de JOSM qui intègre un nœud à un
chemin si celui-ci en est suffisamment proche. A noter que cela ne déplace
aucun point, et que l’on conserve tous les points.
Pour l’instant les paramètres de distance sont en dur (et en angulaire), et
tous les objets modifiés se voient ajouter un tag fixme pour visualiser les
modifs. Ces deux scripts, passés dans cet ordre, traitent les points
1,2,4,5. Un troisième script est en cours pour le point 9.
Je vous laisse juge de leur qualité et de leur intérêt. A vos remarques !
A final je crois qu'il faudra supprimer les dépôts type cléo, et mettre à
dispo une interface d’import différentiel tuilé, c'est-à-dire qui n'affiche
et ne renvoie qu’une portion des bâtiments à importer et, pour combler les
manques de Validator, en ajoutant les tag fixme du type : « bâtiment
superposé avec l’existant », « bâtiment superposé au cadastre », « bâtiment
sur highway », etc…afin d'aider et d'alerter le contributeur... et peut-être
aussi le réfréner ;-)
BrunoC
[1] https://gitorious.org/osmose/backend/blobs/master/modules/OsmSax.py
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20110831/ba1decfd/attachment.htm>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: node_simplifier.py
Type: text/x-python
Taille: 3915 octets
Desc: non disponible
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20110831/ba1decfd/attachment.py>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: node_join.py
Type: text/x-python
Taille: 3723 octets
Desc: non disponible
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20110831/ba1decfd/attachment-0001.py>
Plus d'informations sur la liste de diffusion Talk-fr