Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 26 January 2018 16:51

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Découpage de ligne selon des points de début et de fin

Bonjour @ tous.

Je possède un fichier de points en XY et un fichier de lignes.

Ces points se trouvent sur les lignes (merci AnchoredSnapper), et chaque point posséde comme attribut : s'il s'agit d'un point de début ou d'un point de fin et un numéro unique identique entre le point de début et le point de fin.

L'idée c'est de pouvoir extraire les lignes présentes entre ces points de début et de fin afin de faire un calcul de longueur.

J'arrive avec PointOnLineOverlayer à découper ma ligne, mais je ne distingue pas ce qu'il faut enlever de ce qu'il faut conserver.

Un dessin valant parfois mieux qu'un long discours, vous trouverez en pièce jointe une explication de mon problème.

Merci par avance de votre aide.

Geo-x


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Fri 26 January 2018 22:06

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Bonsoir intéressant comme problème.

Je n'ai pas trop réfléchi et un jeu de données test m'aiderais sûrement mais comme ça à chaud : pourquoi ne pas tester via un spatialrelator le lien entre la ligne et les points pour ensuite chercher la ligne récupérant deux attributs identiques.

Ex si la ligne touche deux points à 10 je la garde sinon je la supprime.

A voir si ça peut jouer.

Bonne soirée.


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#3 Mon 29 January 2018 10:53

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Bonjour Loïc et merci de votre réponse.

J'ai du mal à voir comment cela est possible en utilisant le transformer spatialrelator quelque part ce que vous me dites :

si la ligne touche deux points à 10 je la garde sinon je la supprime.


c'est déjà quelque chose que je fais en utilisant PointOnLineOverlayer.

J'ai fait un exemple test en pièce jointe si vous souhaitez tester, de mon côté, je n'ai pas plus avancé sur le problème, il doit me manquer quelques connaissances sur les transformers capables de répondre à mes interrogations.

Je continue à regarder...

Geo-x


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Mon 29 January 2018 11:16

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Bonjour Geo-x,

Est-ce que quelque chose comme ça répond au besoin ?


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#5 Mon 29 January 2018 13:25

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Alors déjà merci d'avoir "planché" si gentiment sur mon problème.

La piste semble bonne,, je n'arrive pas à restaurer votre FMW sur ma version de FME qui est antérieur à la vôtre alors j'ai tenté plusieurs solutions d'adaptation du transformer spatialrelator mais dans tous les cas que j'ai étudié, il ne prend pas en compte les numéros des points.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#6 Mon 29 January 2018 13:38

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

En fait voyant le résultat que cela donne il faudrait que je fasse une fusion des lignes ayant la même géométrie et le même numéro et que je rejette les autres, c'est ce qui me permettrait d'arriver au résultat escompté.

Hors ligne

 

#7 Mon 29 January 2018 13:38

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

C'est avec plaisir que je vous donne un coup de main,

si vous attendez le résultat en pj mon workbench est le bon, il suffit juste d'ajouter un duplicatefilter sur la fin sur les attributs code + numero


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#8 Mon 29 January 2018 13:41

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

C'est ce qu'on appel de la synchronisation !

Et bien enchanté à duplicatefilter c'est exactement lui que je cherchais sachant que j'étais parti sur du spatialfilter...

Encore un grand merci pour votre aide ! (Qui dure depuis plusieurs années maintenant)

Geo-x

Hors ligne

 

#9 Mon 29 January 2018 13:42

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Parfait et au plaisir de vous aider encore quelques années sur Georezo ;-)

DuplicateFilter est un excellent ami sur FME !


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#10 Tue 30 January 2018 12:55

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Bonjour Loïc.

En regardant de plus près, je me suis rendu compte que certaines de mes données "s'entrecroisent", c'est à dire que les ponctuelles ne sont pas forcément dans un ordre :

ID10 début ----- ID10 fin ----- ID20 début ----- ID20 fin

mais peuvent être dans l'ordre :

ID10 début ----- ID20 fin ----- ID10 fin ----- ID20 début

voir même :

ID10 début ----- ID20 fin ----- ID10 fin ----- ID30 début ----- ID20 début ----- ID30 fin

J'ai mis en pièce jointe un exemple du problème et du workbench en cours sachant que je l'ai un peu travaillé depuis nos derniers échanges.

Geo-x


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#11 Tue 30 January 2018 13:12

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Il y a également quelque chose que j'ai du mal à comprendre, c'est comment fonctionne le DuplicateFilter pour moi il s'agit de filtrer les éléments ayant une géométrie identique et un attribut commun.

Hors je me rend compte, dans mon traitement, que certains éléments passent alors qu'ils n'ont que la géométrie en commun...

Hors ligne

 

#12 Tue 30 January 2018 14:01

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Bonjour Geo-x,

Le DuplicateFilter effectue un tri sur les attributs et non sur la géométrie. Dans le process et vu que le le couple Numero + Code n'est pas unique je propose d'ajouter un Counter après SpatialRelator pour ensuite ajouter l'attribut _count en plus de Numero et Code dans DuplicateFilter.

Cela devrait déjà répondre à une de vos interrogations.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#13 Tue 30 January 2018 14:10

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Pour l'autre problème j'ai pu voir qu'il y avait également 4 points ayants un id à 30 que faut-il faire dans ce cas ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#14 Tue 30 January 2018 14:12

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Il s'agit d'une erreur... désolé...

Hors ligne

 

#15 Tue 30 January 2018 15:44

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Je ne suis pas sûr de comprendre l'importance du counter dans ce cas-là.

En regardant de plus près les différents cas possible une fois le transformer ListExploder utilisé, j'ai identifié les cas suivants :

1/ 1 Ligne : Je ne la conserve pas, je n'en tient pas compte

2/ 2 Lignes avec géométries et numéros identiques : Je conserve qu'une ligne sur les deux

3/ 2 Lignes avec géométries identiques et numéros différents : Je conserve 1 ligne sur les deux

4/ 3 Lignes avec géométries identiques dont 2 lignes avec numéros identiques + 1 lignes avec un numéro différent : Je conserve 1 des 2 lignes en double

Au final, avec un AttributeFilter j'arrive à me débrouiller pour le cas 1, pour les cas 2, 3 et 4 je pense que j'arriverais à me débrouiller si j'arrivais à identifier les géoémtries en double ayant un numéro identique ou pas.

Hors ligne

 

#16 Tue 30 January 2018 15:51

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Pour trouver une geometrie en double on peut utiliser un spatialrelator sur equals


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#17 Tue 30 January 2018 16:01

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Ça voudrait dire qu'il faudrait que je fasse une même source pour le requestor et le supplier ? SpatialRelator permet également de faire un filtre sur les données répliquées dans un attribut donné ?

Hors ligne

 

#18 Tue 30 January 2018 16:15

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Oui il faut faire passer les lignes dans requestor et supplier avec le test equals. Si le champs related_candidates >= 1 c'est un objet dupliqué


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#19 Tue 30 January 2018 18:19

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

J'ai compris à quoi correspond le counter avant le ListExploder c'est exactement ce que je cherchais !

Juste pour finaliser un peu mon travail, savez-vous quel transformer utilisé pour un accrochage de point à point pour le placer juste après mon transformer AnchoredSnapper histoire de placer au même endroit les points à proximité les uns des autres ?

Encore un grand merci pour votre aide.

Geo-x

Hors ligne

 

#20 Wed 31 January 2018 09:02

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Bonjour,

Très bien si le Counter répond bien au besoin et que vous avez compris le pourquoi du comment.

Pour la dernière question l'idée est de regrouper sur un point, le nuage de point autour de ce dernier sur une distance X mètres ? Ne serait-il pas plus simple de supprimer ces derniers ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#21 Wed 31 January 2018 09:11

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Bonjour Loïc.

L'idée c'est, toujours sur ma ligne qui a "snapper" les points sur certains vertex, que les points qui sont proches puisse se snapper l'un sur l'autre ou l'autre sur l'un (l'ordre n'a pas d'importance).

J'ai bien testé AnchoredSnapper et Snapper mais je n'ai pas le résultat escompté, problème de configuration ?

Dernière modification par Geo-x (Wed 31 January 2018 09:11)

Hors ligne

 

#22 Wed 31 January 2018 09:20

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Je veux bien le workbench avec le lot de données pour regarder


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#23 Wed 31 January 2018 10:19

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Il s'agit toujours du même WorkBench par exemple sur les points donnés en exemple joint.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#24 Wed 31 January 2018 10:29

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Je viens de tester avec le transformer NeighborFinder ça ne fonctionne pas si j'appel 2 fois la même couche (Base et candidate) si j'ajoute un attribut au tout début de mon traitement pour indiquer les points de départ et de fin, et que j'applique un AttributeFilter sur ce champ créé pour avoir un Base et un candidate différent, ça fonctionne.

Est-il possible de faire un traitement similaire en ayant les mêmes Base et Candidate ?

Hors ligne

 

#25 Wed 31 January 2018 10:39

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Serait-il dommageable de ne pas les conserver ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#26 Wed 31 January 2018 10:41

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Oui il faudrait mieux que les points se superposent.

Si je sépare attributairement les points en base et candidate ça fonctionne avec AnchoredSnapper donc la seule question qu'il me reste c'est : Est-il possible d'utiliser un accrochage en ayant une couche d'entrée identique ?

Hors ligne

 

#27 Wed 31 January 2018 10:44

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Je ne sais pas si c'est possible mais n'est-il pas envisageable de modifier la couche en amont avec un champ supplémentaire pour que ça fonctionne pour qu'après on supprime l'attribut ajouté avec AttributeKeeper ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#28 Wed 31 January 2018 10:45

Geo-x
Participant assidu
Lieu: Pau
Date d'inscription: 2 Nov 2010
Messages: 215

Re: Découpage de ligne selon des points de début et de fin

Je crois que je vais faire comme ça :-) Merci de votre aide Loïc !

Hors ligne

 

#29 Wed 31 January 2018 10:48

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: Découpage de ligne selon des points de début et de fin

Avec plaisir smile


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

Pied de page des forums

Powered by FluxBB