2009/9/23 Yoann ARNAUD <yarn...@crans.org> > > A repérer des ways qui appartiennent aux mêmes relations communes, afin > de les regrouper en un seul. Il faudrait en plus tester si ces ways se > suivent pour éviter des cas de faux positifs. > > Si tu sais faire... Merci d'avance :) > > J'avais commence a écrire une requête SQL comme cela, il y a quelques temps, bases sur un schéma de type osmosis. Un schéma de type osm2pgsql ne convient pas. Enfin ma requête était pour une fusion des ways et des nodes. L'idée était la suivante et se faisait en plusieurs passes: - Création d'une table fusionnant les points avec une format du genre Nodeid, NewNode La requête était alors quelque chose du genre SELECT Nodeid, MIN(nodeId) FROM node .... GROUP BY nodeid
- Une fois que tu as cette table tu peux ensuite modifier, les différentes tables ways et effacer les nodes non utilises. Tu régénères les géométries - L'étape suivante est facile. Tu as juste a trouver les ways qui sont identiques (ce qui est le cas après fusion des points). Tu crées la encore une table intermédiaire. - Tu modifies après les relations avec les ways dont tu as besoin. J'avais implémenté la première passe sur les nodes. L'autre devrait être assez facile a implémenter aussi puisque c'est la même chose. Le cas le plus dur est quand tu as une relation et juste une way. Aussi, ce mécanisme ne permet pas de couper les ways en morceau plus petit quand c'est possible. Il y aurait sûrement moyen en jouant sur une création de polygone et de créer une séries de ways constituées de 2 points. Après, il suffit juste de fusionner les deux ways jusqu'à ce que ça forme une forme commune et correspondant aux polygones sélectionnés. Enfin c'est une des choses auxquelles je pense depuis quelques temps. Corine est bientôt fini, je vais avoir plus de temps pour faire d'autres projets amusants ;) Emilie Laffray
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr