Skip to main content
Question

How to remove insterction point in line

  • August 12, 2023
  • 4 replies
  • 30 views

gogopotter90
Contributor
Forum|alt.badge.img+14

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+59
  • Celebrity
  • 3700 replies
  • August 12, 2023

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+14
  • Author
  • Contributor
  • 239 replies
  • August 13, 2023

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+19
  • Supporter
  • 225 replies
  • 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+14
  • Author
  • Contributor
  • 239 replies
  • 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

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