Skip to main content
Solved

How do you filter aggregate geometry by donut vs non-donut?


larue
Contributor
Forum|alt.badge.img+8
  • Contributor

I have some aggregate geometry in Multicurve form. Is there a way to filter out features where it looks like a donut from ones where the geometries are separate? Please see attached screenshots of both types.

 

The goal is to extract donut holes (after converting to area) and making them a separate attribute in the same feature. The problem is that converting to areas deaggregates the non-donut geometry. These need to be kept intact and treated separately.

 

Thanks,

@larue​ 

 

 

Best answer by nielsgerrits

larue wrote:

Hi @nielsgerrits​ ,

Not sure what you mean by "all". Are you saying convert all to areas?

Attached is what I think it is supposed to be, but not getting the desired result:

 

DonutVsNo3 DonutVsNo4 

The first Deaggregator separates Point geometry from the rest of the aggregate. The visual preview is taken from Geometry Replacer. I was hoping that the two "P1" objects would be as one, like in the original screenshot.

Thanks,

@larue​ 

I think I would put the GeometryExtractor more upstream, before the Deaggregator. This way you can process all data and when the conclusion is, no donut, you "undo" the spatial changes by replacing the modified geometry with the original geometry.

View original
Did this help you find an answer to your question?

5 replies

nielsgerrits
VIP
Forum|alt.badge.img+54

I would do all and restore the geometries which had no donuts using the geometryextractor (before deaggregating) and the geometryreplacer (after tester for donuts, testing on fme geometry)


larue
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • June 6, 2021

Hi @nielsgerrits​ ,

Not sure what you mean by "all". Are you saying convert all to areas?

Attached is what I think it is supposed to be, but not getting the desired result:

 

DonutVsNo3 DonutVsNo4 

The first Deaggregator separates Point geometry from the rest of the aggregate. The visual preview is taken from Geometry Replacer. I was hoping that the two "P1" objects would be as one, like in the original screenshot.

Thanks,

@larue​ 


nielsgerrits
VIP
Forum|alt.badge.img+54
  • Best Answer
  • June 7, 2021
larue wrote:

Hi @nielsgerrits​ ,

Not sure what you mean by "all". Are you saying convert all to areas?

Attached is what I think it is supposed to be, but not getting the desired result:

 

DonutVsNo3 DonutVsNo4 

The first Deaggregator separates Point geometry from the rest of the aggregate. The visual preview is taken from Geometry Replacer. I was hoping that the two "P1" objects would be as one, like in the original screenshot.

Thanks,

@larue​ 

I think I would put the GeometryExtractor more upstream, before the Deaggregator. This way you can process all data and when the conclusion is, no donut, you "undo" the spatial changes by replacing the modified geometry with the original geometry.


nielsgerrits
VIP
Forum|alt.badge.img+54
nielsgerrits wrote:

I think I would put the GeometryExtractor more upstream, before the Deaggregator. This way you can process all data and when the conclusion is, no donut, you "undo" the spatial changes by replacing the modified geometry with the original geometry.

I added a workspace demonstrating this.


larue
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • June 7, 2021
nielsgerrits wrote:

I think I would put the GeometryExtractor more upstream, before the Deaggregator. This way you can process all data and when the conclusion is, no donut, you "undo" the spatial changes by replacing the modified geometry with the original geometry.

Ok I see what you mean. That is a good tip to use the ExtractGeometry more upstream. Also, you used the UUID generator, which I have not tried yet. Since this Workspace is intended to accommodate different geometry conditions, this might be a great tool to keep things straight. Good stuff!

Thanks,

@larue​ 


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