Solved

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


Badge +5

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​ 

 

 

icon

Best answer by nielsgerrits 7 June 2021, 13:11

View original

5 replies

Userlevel 6
Badge +31

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)

Badge +5

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​ 

Userlevel 6
Badge +31

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.

Userlevel 6
Badge +31

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.

Badge +5

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​ 

Reply