#1 Thu 11 August 2011 11:35
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Trier des lignes
Bonjour,
j'ai de la donnée sous forme de polylignes connectés et toutes saisies dans le même sens.
Je souhaiterais pouvoir trier ces objets par rapport à leur sens de saisie pour leur affecter un n° d'ordre avec un counter.
Je n'arrive pas à trouver de solution pour résoudre ce problème, le transformer sorter permet bien de trier la donnée mais par rapport à un attribut et non au sens de saisie.
J'ai essayé avec un NetworkTopologyCalculator qui me ressort bien mes lignes connectés par contre à il ne permet à priori pas de connaitre l'ordre de mes lignes par rapport à leur sens de saisie.
Quelqu'un a-t-il deja été confronté à ce genre de problème ? ou aurait une piste pour arriver à ce que je souhaite ?
Merci d'avance
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne
#2 Thu 11 August 2011 13:29
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Trier des lignes
Bonjour,
Je suis très intéressé par la démarche car je suis confronté à la même problématique.
Sauf que je pense que toutes mes lignes ne sont pas bien connectées, je crois.
Ne doit-on pas faire un NetworkTopolyBuider avantle Calculator ?
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#3 Thu 11 August 2011 13:46
Re: Trier des lignes
Peut-être que le transformer "orientationextractor" peut vous aider ?
Il sort apparemment un attribut contenant "right_hand" ou "left_hand"
Dernière modification par heretik25 (Thu 11 August 2011 13:47)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#4 Thu 11 August 2011 14:09
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Re: Trier des lignes
Dans votre cas, le TopolyBuider peut être intéressant à 2 conditions:
- les lignes si elle ne sont pas jointive doivent s'entrecouper
- avec ce transformer, tous les croisement de lignes vont former un noeud, ce qui n'est pas toujours le cas
dans votre cas, un intersector avec un linejoiner pourrait être plus intéressant.
Par contre pour ajouter un n° d'ordre aux lignes, je n'ai toujours pas trouvé d'autres pistes.
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne
#5 Thu 11 August 2011 17:12
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Re: Trier des lignes
Dans le cas ou le cheminement est le plus court (c'est mon cas car j'ai qu'un seul cheminement possible), il est possible d'utiliser le transformer ShortestPathFinder.
Il ressort par le port PATH les lignes formant le chemin le plus court dans l'ordre de parcours du graphe. J'ai rajouter un counter après pour générer le n° d'ordre.
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne
#6 Tue 23 August 2011 09:26
- MaelReboux
- Participant actif
- Lieu: Roazhon / Rennnes
- Date d'inscription: 24 Aug 2010
- Messages: 72
Re: Trier des lignes
Merci pour votre aide : j'ai à peu près réussi ce que je voulais faire.
1. sélection de 1 seule "ligne" de travail, pour ne pas traiter toute la couche
2. Intersector pour nettoyer les géométrie (marche vraiment bien ce truc !!!)
3. LineJoiner pour assembler tous les bouts
4. test pour ne garder que les lignes supérieures à 10 m (pour virer les arcs pendants)
5. re LineJoiner
Déjà là c'est bien mais je souhaitais tenter d'orienter la ligne par rapport à d'autres paramètres. Il n'y a pas vraiment le choix : il faut bien utiliser ShortestPathFinder mais ce Transformer demande un réseau mais surtout un point de départ et un point d'arrivée. J'ai donc un pré-traitement qui lui fournir ces 2 points dans un sens ou dans l'autre : D -> A = aller ou A -> D = retour.
Par contre, je récupère le PATH et le UNSUED car souvent je n'ai que une ligne entre le point de départ et d'arrivée.
6. NetworkCalculator
7. ShortestPathFinder
8. FeatureMerger sur la ligne de départ pour récupérer les infos d'origine qui ont été perdus entretemps.
Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh
Hors ligne
#7 Fri 02 September 2011 17:12
- ajrc
- Juste Inscrit !
- Lieu: Montréal
- Date d'inscription: 19 Jun 2009
- Messages: 2
Re: Trier des lignes
Bonjour Xavier,
J'ai construis un WB avec un problème similaire au tien. À savoir, je désirais ordonner les segments de rue d'une même voie (même toponyme). En le modifiant un peu pour tes besoins (que j'espère avoir compris) ça donne le WB ci-joint. Tu noteras qu'une fois le principe acquis il est simple, je crois, de l'adapter exactement à tes besoins.
P.S le WB présuppose que la connectivité des données soit impécable.
Bye
André
Hors ligne
#8 Mon 05 September 2011 11:18
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Re: Trier des lignes
Merci, je rentre tout juste de vacances, je vais essayé de regarder ca dans la semaine
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne