On 15. 03. 11 09:22, rldhont wrote:
Le 15/03/2011 09:19, yvecai a écrit :
On 15. 03. 11 08:22, rldhont wrote:
Le 14/03/2011 22:59, yvecai a écrit :
Pour www.pistes-nordiques.org, je découpe les ways à chaque intersection pour permettre ensuite à l'utilisateur du site de sélectionner une à une les différentes sections et de faire son propre topo. J'ai fait un script en Python qui travaille directement sur le XML avec Etree pour çà, mais c'est un peu l'usine à gaz pour conserver les relations intactes.

Y-aurait-il un outil mieux adapté? J'ai pas trop d'idée, et aucune expérience en SQL, mais pourrais-je faire çà directement avec Postgresql ?

Il y a rien de plus simple ;-)

En fait il te faut 3 tables :
* nodes
* ways
* way_nodes

La table way_nodes possèdent 3 colonnes :
* way_id
* node_id
* sequence (index du node dans le way)

Et donc avec cette table tu peux facilement sélectionner tous les noeuds qui sont des intersections, des débuts et des fins, et donc tous les segments.
Ben avec python, j'ai bien du faire des 'tables' pour accélérer le traitement. La question pourrait se reformuler comme suit: Est-ce qu'avec un peu de connaissance en SQL je peux réussir à découper un way en deux avec un outil pour Postgreql, si oui lequel.


Dans quel sens 'découper' ?
Obtenir la nouvelle géométrie ? obtenir la nouvelle séquence des nodes ?
A partir d'un way, en faire deux.

   way0 ( node 1, node2, node3)
   relation0 ( way0)

vers:

   way1(node1, node2)
   way2(node2, node3)
   relation0(way1, way2)

et supprimer way0
Yves
_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr

Répondre à