Question

Clip line for each overlapping polygon

  • 11 April 2019
  • 6 replies
  • 32 views

Badge

I'm trying to intersect a line with several hundred polygons the problem I'm having is there are several polygons that overlap each other, so when I run the lines and polygons through the clipper I end up with some incomplete segments. Pictured is an example where the overlapping polygon got the start of the line segment thus not a complete line for the red selected polygon.

 

I've tried a bunch of different transformers and end up with the same result or worse result no matter what.

 

Update: the help mentions intersector for my situation but I can't figure out how to get at the result I need still.


6 replies

Badge +2

In the Clipper, do you happen to have the Tolerance set to anything other then "None"? If those polygon boundaries are very close, the length of the would be segment may be shorter than the tolerance. Which is why it was not created.

 

It would really help if you could attach a small sample of your data and the workspace, so we can help figure out what's the cause of this.

Thanks @jlgvii

Badge

@xiaomengatsafe Thanks for the reply, I've uploaded some sample data in the parent post. I've messed with the tolerances and can't seem to get the needed result.

Userlevel 2
Badge +17

Which one illustrates your desired Clippers better?

Left: The line should be split into 6 parts; Right: The line should be split into 5 parts

Badge

Which one illustrates your desired Clippers better?

Left: The line should be split into 6 parts; Right: The line should be split into 5 parts

Technically only 4 as there is only 4 polygons in this case. I've attached a screenshot of something that gets the desired output and hopefully is more clear. However this method won't work for the number of polygons I'm working with. I need each polygon to contain the complete line segment.

Badge

try this method (if I understood correctly your request) and you will get a segment for every polygon.

Userlevel 2
Badge +17

try this method (if I understood correctly your request) and you will get a segment for every polygon.

The same approach, a different implementation.

Reply