Skip to main content

Hi, I've got a polygon feature as clipper, which has several polygons with no gaps and overlaps. After 500 meter buffering operation, there're some overlaps, and I'd like to use each buffered polygon to clip source data. But it seems that Clipper transformer couldn't perform such operation, in the help document it said "A feature can be clipped multiple times, but not iteratively (for example, if a line passes through two overlapping polygons, you don’t get a separate clipped line for the overlap - just one per polygon)."

So I'm asking is there any way to perform a iterative clip?

BTW, I use dynamic writer to output data, can I change output feature type name? I tried @jdh 's method, it worked but somehow, all fields of all features are same, but the original feature schema isn't that way. Is there a alterative method?

Please help me out, much thanks!

@takashi @mark2atsafe @markatsafe @jdh @david_r @erik_jan

 

I would need more details on the dynamic writer to speculate what's going on.

 

 

For the overlapping clippers one of the ways to do so is as follows.

 

 

Counter on the clippers to get a UniqueID

 

SpatialRelator with clippees as Requestor and clippers as Candidates, intersects, in the generate list include the UniqueID.

 

ListExploder (clippees), you now have multiple copies of the clippee features when there are multiple clippers that intersect it.

 

Clipper with Group-By set to UniqueID.

Note that this method is not advised when you also required processing of the Outside features of the Clipper.

 

 

The alternate method is:

 

Counter on the clippers to get a UniqueID

 

AreaOnAreaOverlayer of the clippers (generate list, UniqueID) -- No more overlapping clippers

 

AttributeKeeper on the clippers to keep only the list of UniqueIDs

 

Clipper (Merge Attributes)

 

ListExploder (Inside)

 

Dissolver with a group-by set to UniqueID

I would need more details on the dynamic writer to speculate what's going on.

 

 

For the overlapping clippers one of the ways to do so is as follows.

 

 

Counter on the clippers to get a UniqueID

 

SpatialRelator with clippees as Requestor and clippers as Candidates, intersects, in the generate list include the UniqueID.

 

ListExploder (clippees), you now have multiple copies of the clippee features when there are multiple clippers that intersect it.

 

Clipper with Group-By set to UniqueID.

Note that this method is not advised when you also required processing of the Outside features of the Clipper.

 

 

The alternate method is:

 

Counter on the clippers to get a UniqueID

 

AreaOnAreaOverlayer of the clippers (generate list, UniqueID) -- No more overlapping clippers

 

AttributeKeeper on the clippers to keep only the list of UniqueIDs

 

Clipper (Merge Attributes)

 

ListExploder (Inside)

 

Dissolver with a group-by set to UniqueID

Nice trick, problem solved, got exactly what I wanted, thank you very much!

Due to confidentiality agreement where I work, I can't upload my data online. I tried reproduce the rename error with some other data, and oddly I got it work. I'm going to test my data again tomorrow to find which parameter I set incorrectly.