Skip to main content
Question

a lines intersecting operation

  • April 27, 2018
  • 6 replies
  • 26 views

Forum|alt.badge.img

Hello,

I have a network of (+) intersecting lines (There is no (T) intersections). I have also nodes of these + intersections also extracted.

I want that whenever there is an intersection, the shortest line to be splitted to 2 lines but the long ones remains as it is

Can anyone help me with this ?

Thank you very much

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

6 replies

danilo_fme
Celebrity
Forum|alt.badge.img+52
  • Celebrity
  • April 27, 2018

Hi @lianaolianov

Could you share us your workspace template?

Thanks,

Danilo


Forum|alt.badge.img

Hi @lianaolianov

Could you share us your workspace template?

Thanks,

Danilo

Hello,

 

Here is my worksapce hydrographic-4quadrant-splitter.fmw

 

Sorry for late reply and thank you :)

 


jneujens
Forum|alt.badge.img
  • April 30, 2018

1) get the length of your lines by using a LengthCalculator.

 

2) Use a SpatialRelator and set 'Accumulation mode' to 'Merge Attributes'. Use the nodes as requestor (and make sure they have a unique id) and the lines as supllier.

3) Then use a TestFilter to compare the 2 length attributes (which should be added to the node they intersect) to see which line is the longest for each node.

4) For the shortest lines: use a PointOnLine overlayer or Intersector to split them into two segments.

5) Use a FeatureMerger to recover the longest lines from the original dataset based on their ID.

 

 

Without seeing the data I am not sure if this would cover your question completely, but it can give you a direction on how to start.

Forum|alt.badge.img

1) get the length of your lines by using a LengthCalculator.

 

2) Use a SpatialRelator and set 'Accumulation mode' to 'Merge Attributes'. Use the nodes as requestor (and make sure they have a unique id) and the lines as supllier.

3) Then use a TestFilter to compare the 2 length attributes (which should be added to the node they intersect) to see which line is the longest for each node.

4) For the shortest lines: use a PointOnLine overlayer or Intersector to split them into two segments.

5) Use a FeatureMerger to recover the longest lines from the original dataset based on their ID.

 

 

Without seeing the data I am not sure if this would cover your question completely, but it can give you a direction on how to start.
Hello

 

Thank you for the reply

 

I am following the steps, but actually I get just One length attribute per node, how do I get the two separately ?

 

 


Forum|alt.badge.img

1) get the length of your lines by using a LengthCalculator.

 

2) Use a SpatialRelator and set 'Accumulation mode' to 'Merge Attributes'. Use the nodes as requestor (and make sure they have a unique id) and the lines as supllier.

3) Then use a TestFilter to compare the 2 length attributes (which should be added to the node they intersect) to see which line is the longest for each node.

4) For the shortest lines: use a PointOnLine overlayer or Intersector to split them into two segments.

5) Use a FeatureMerger to recover the longest lines from the original dataset based on their ID.

 

 

Without seeing the data I am not sure if this would cover your question completely, but it can give you a direction on how to start.
Hello,

 

I solved the problem by creating a list and exposing the two lengths as attributes

 

 


jneujens
Forum|alt.badge.img
  • May 2, 2018
Hello,

 

I solved the problem by creating a list and exposing the two lengths as attributes

 

 

Great to hear!