Skip to main content
Question

How to remove insterction point in line


gogopotter90
Contributor
Forum|alt.badge.img+13

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 ?

4 replies

redgeographics
Celebrity
Forum|alt.badge.img+49

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?


gogopotter90
Contributor
Forum|alt.badge.img+13
  • Author
  • Contributor
  • August 13, 2023
redgeographics wrote:

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 ?


ctredinnick
Supporter
Forum|alt.badge.img+18
  • Supporter
  • August 14, 2023

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


gogopotter90
Contributor
Forum|alt.badge.img+13
  • Author
  • Contributor
  • August 14, 2023
ctredinnick wrote:

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

 


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