Skip to main content

I have self interaction in line .

line has id but it make circle and intersect itself .

how could I remove the intersection point at same line ?

my problem : after using intersection lines ,I found this line divide to 3 lines ,because it intersect itself in point .

will be possible to let intersector Transformator to create find intersection lines but between different id and ignore the intersection lines for line that has specific id .

Could I specific it in parameter ,to find intersection lines only for different id ?

Could you draw a picture of what you want to ideally get out of this? The Intersector will indeed split the line into 3 parts, but if I understand you correctly you want to retain it as a single line, but not have it self-intersect. So do you want it to cross instead of intersect at that point?


Could you draw a picture of what you want to ideally get out of this? The Intersector will indeed split the line into 3 parts, but if I understand you correctly you want to retain it as a single line, but not have it self-intersect. So do you want it to cross instead of intersect at that point?

U understood correctly .

i would like it to cross instead of intersect

 

2F01CD2B-498C-4536-8D65-D264B4A487EF.how could I achieve it ?


It sounds like you could use a SpatialRelator, compare the whole dataset to itself, then exclude the instances where the ID matches.

So on the SpatialRelator, add to a list the IDs of every overlap, then explode that list, then test where IDs are different. You may be careful to exclude cases where lines meet/touch ends but don't overlap.

 

If you have lines and they loop back on themselves and you want to remove the vertex where the line crosses itself, you can use a Chopper (1 vertex), DuplicateFilter on X and Y, then PointConnector to rebuild the line


It sounds like you could use a SpatialRelator, compare the whole dataset to itself, then exclude the instances where the ID matches.

So on the SpatialRelator, add to a list the IDs of every overlap, then explode that list, then test where IDs are different. You may be careful to exclude cases where lines meet/touch ends but don't overlap.

 

If you have lines and they loop back on themselves and you want to remove the vertex where the line crosses itself, you can use a Chopper (1 vertex), DuplicateFilter on X and Y, then PointConnector to rebuild the line

Thanks for ur suggestion .i have attached image about my problem .

i have tested this method for one line crosses itself and it works

but I have still question should I do this method for all lines that crosses itself by using spatial realtor predicate crosses then ur method

what i have did till now

i would like to remove the vertex where lines crosses .

so i did as u suggested for one line and used chopper ,then matcher ,

output port : not matched point are points

but I have to reorder points first so I have added counter. After chopper and at end line builder .

i have build the line again without cross vertex .thanks a lot ,it works great

 


Reply