Skip to main content
Question

a lines intersecting operation


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

6 replies

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • April 27, 2018

Hi @lianaolianov

Could you share us your workspace template?

Thanks,

Danilo


Forum|alt.badge.img
danilo_fme wrote:

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
jneujens wrote:

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
jneujens wrote:

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
lianaolianov wrote:
Hello,

 

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

 

 

Great to hear!

 

 


Reply


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