Skip to main content

Hello Forum.

 

I have two polygon datasets (see attached image). I'd like to create a third polygon dataset showing me the sections of A that do not overlap with B. So, it would create me the polygons as highlighted in C in attached image.

I could do this via a few steps in a desktop GIS but I need to include it as part of a larger automated data flow in FME Desktop (Form).

 

Thanks,Swk_clip_polygons

Clip polygon A with Polygon B and keep the output from the Outside Port, followed by a deaggregator


I would use an AreaOnAreaOverlayer, generating a list on the attribute that uniquely identifies if the area is A or B (this could be the fme_basename format attribute, if they are from different datasets). Then, feed those results into a Tester or TestFilter where the condition would be _overlaps = 1, AND _list{0}.identifier = A.


I would use an AreaOnAreaOverlayer, generating a list on the attribute that uniquely identifies if the area is A or B (this could be the fme_basename format attribute, if they are from different datasets). Then, feed those results into a Tester or TestFilter where the condition would be _overlaps = 1, AND _list{0}.identifier = A.

Thanks for that, ddb.

I’ve added the areaOnAreaOverlayer and a TestFilter. I’ve added the first test condition into TestFilter of @value(_overlaps_) = 1. However I cannot see a value called _list{0}. Where does that come from?

Thanks,
Stuart
Thanks for that, ddb.

I’ve added the areaOnAreaOverlayer and a TestFilter. I’ve added the first test condition into TestFilter of @value(_overlaps_) = 1. However I cannot see a value called _list{0}. Where does that come from?

Thanks,
Stuart

You'll need to make sure you set it up in the transformer. _list is the List Name that you give it.image


Thanks for that, ddb.

I’ve added the areaOnAreaOverlayer and a TestFilter. I’ve added the first test condition into TestFilter of @value(_overlaps_) = 1. However I cannot see a value called _list{0}. Where does that come from?

Thanks,
Stuart
Thanks.

“You'll need to make sure you set it up in the transformer” In the Test Filter of AreaOnAreaOverlayer?
Thanks for that, ddb.

I’ve added the areaOnAreaOverlayer and a TestFilter. I’ve added the first test condition into TestFilter of @value(_overlaps_) = 1. However I cannot see a value called _list{0}. Where does that come from?

Thanks,
Stuart

In the AreaOnAreaOverlayer. Although, the solution from @ebygomm​ is a really good one as well. I'm used to working with extremely dense data, and sometimes the Clipper can struggle with it. So I usually default to the AreaOnAreaOverlayer method.


Thanks for that, ddb.

I’ve added the areaOnAreaOverlayer and a TestFilter. I’ve added the first test condition into TestFilter of @value(_overlaps_) = 1. However I cannot see a value called _list{0}. Where does that come from?

Thanks,
Stuart
Thanks.

Reply