Skip to main content
Solved

DGN LInes câble TO SHP

  • February 10, 2025
  • 6 replies
  • 114 views

kanteyemaodo
Contributor
Forum|alt.badge.img+5

 j'ai un fichier dgn contenant les câbles de type polyligne avec leurs extrémités. -je veux extraire les câbles et les convertire en shapefile (.shp) avec les noms des extrémités.
???

 

Best answer by koulsoum

@kanteyemaodo Quand vous importez vos données il faut ajouter dans le paramétrage 'attribute format' des attribut fme, fme_string_txt ( pour récupérer les textes en l'occurrence le contenu des et igds_level_name ( le noms du niveau depuis lequel chaque éléments est issu ) . Cela se décompose en deux étapes :

  1. découper votre canalisation avec les points d’extrémités souhaité (E31...)
  1. Affectation du nom des extrémités aux lignes découpées.

Il faut commencer par filtrer les données d’un côté on récupère les étiquettes (E32,E31...), en parallèle les cercles qui représente la localisation de ces étiquettes ( avec des Tester)

Ensuite il faut associer les cercles sur la canalisation et vos étiquettes :

Avec NeighborFinder, on cherche le voisin le plus proche de chaque étiquettes, ( checker AttributeMerge) on a donc fusionné les attributs et on peut remplacer nos étiquettes par les points ( situés sur la canalisation) avec GeometryReplacer

 

En parallèle, on filtre les canalisation :

Puis on effectue la découpe avec Intersector( attention à ne pas laisser Tolerance = automatic)

Après il reste la deuxième étape, il faut créer une jointure spatiale entre les lignes découpées au port de sortie de l’intersector et les points (avec le noms des extrémités ) avec (Requestor Touches Supplier) ensuite il faut créer des attributs pour visualiser les éléments de la listes. Là on obtient les lignes avec des attributes d’extremités.

En PJ j’ai mis une capture de ce à quoi ressemble le workflow

View original
Did this help you find an answer to your question?

6 replies

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • February 17, 2025

Hi ​@kanteyemaodo 

 

I suggest first you create a polygon in texts.

 

After create a buffer and relation spatial in lines.

 

If you want share your data to make some test, feel free.

 

Thanks in Advance,

Danilo


kanteyemaodo
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • February 20, 2025

@danilo_fme 
here is my data attached. can you do the test please.
 

THANKS

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • February 21, 2025
kanteyemaodo wrote:

@danilo_fme 
here is my data attached. can you do the test please.
 

THANKS

Thanks!


koulsoum
Contributor
Forum|alt.badge.img+10
  • Contributor
  • Best Answer
  • February 21, 2025

@kanteyemaodo Quand vous importez vos données il faut ajouter dans le paramétrage 'attribute format' des attribut fme, fme_string_txt ( pour récupérer les textes en l'occurrence le contenu des et igds_level_name ( le noms du niveau depuis lequel chaque éléments est issu ) . Cela se décompose en deux étapes :

  1. découper votre canalisation avec les points d’extrémités souhaité (E31...)
  1. Affectation du nom des extrémités aux lignes découpées.

Il faut commencer par filtrer les données d’un côté on récupère les étiquettes (E32,E31...), en parallèle les cercles qui représente la localisation de ces étiquettes ( avec des Tester)

Ensuite il faut associer les cercles sur la canalisation et vos étiquettes :

Avec NeighborFinder, on cherche le voisin le plus proche de chaque étiquettes, ( checker AttributeMerge) on a donc fusionné les attributs et on peut remplacer nos étiquettes par les points ( situés sur la canalisation) avec GeometryReplacer

 

En parallèle, on filtre les canalisation :

Puis on effectue la découpe avec Intersector( attention à ne pas laisser Tolerance = automatic)

Après il reste la deuxième étape, il faut créer une jointure spatiale entre les lignes découpées au port de sortie de l’intersector et les points (avec le noms des extrémités ) avec (Requestor Touches Supplier) ensuite il faut créer des attributs pour visualiser les éléments de la listes. Là on obtient les lignes avec des attributes d’extremités.

En PJ j’ai mis une capture de ce à quoi ressemble le workflow


danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • February 22, 2025
koulsoum wrote:

@kanteyemaodo Quand vous importez vos données il faut ajouter dans le paramétrage 'attribute format' des attribut fme, fme_string_txt ( pour récupérer les textes en l'occurrence le contenu des et igds_level_name ( le noms du niveau depuis lequel chaque éléments est issu ) . Cela se décompose en deux étapes :

  1. découper votre canalisation avec les points d’extrémités souhaité (E31...)
  1. Affectation du nom des extrémités aux lignes découpées.

Il faut commencer par filtrer les données d’un côté on récupère les étiquettes (E32,E31...), en parallèle les cercles qui représente la localisation de ces étiquettes ( avec des Tester)

Ensuite il faut associer les cercles sur la canalisation et vos étiquettes :

Avec NeighborFinder, on cherche le voisin le plus proche de chaque étiquettes, ( checker AttributeMerge) on a donc fusionné les attributs et on peut remplacer nos étiquettes par les points ( situés sur la canalisation) avec GeometryReplacer

 

En parallèle, on filtre les canalisation :

Puis on effectue la découpe avec Intersector( attention à ne pas laisser Tolerance = automatic)

Après il reste la deuxième étape, il faut créer une jointure spatiale entre les lignes découpées au port de sortie de l’intersector et les points (avec le noms des extrémités ) avec (Requestor Touches Supplier) ensuite il faut créer des attributs pour visualiser les éléments de la listes. Là on obtient les lignes avec des attributes d’extremités.

En PJ j’ai mis une capture de ce à quoi ressemble le workflow

Great job ​@koulsoum 


kanteyemaodo
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • February 24, 2025

@koulsoum Merci pour votre soutien.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings