Solved

FME Desktop 2022: Disaggregating two polygons gets them unexpectedly three,


Badge +5

FME Desktop 2022: Disaggregating two polygons gets them unexpectedly three,

 

In the screenshot below, I got two polygons. However, as they are disaggregated I got three while they should remain two in this case as they are physically two from their native source with no reason to become three.

 

What could be the issue here?

 

Clip_222Clip_223Clip_224 

 

Clip_225 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The data and workbench are attached

icon

Best answer by hkingsbury 14 March 2022, 19:51

View original

10 replies

Userlevel 5
Badge +29

let call the two feautres you read in from the DWG, 'G1' and 'G2'

G1:imageG2:image 

G1 is pretty simple, just a plain polygonimage 

G2 is a more complex geometry and has two parts a, polygon and a donutimage 

The polygon part of G2 is the same geometry as G1 (the red dot is the first vertex). It is by itself, a simple polygonimage 

The second part of G2 is also a complex geometry that has multiple parts to it. Because it is a donut it has also has two parts, the inside and the outside (lines).

 

So, because G1 has one part and G2 has two parts, deaggreating gets you three parts. I think whats confused you here as that there are multiple geometries representing the hole in the large geometry

Badge +5

Thank you for the very useful input.

 

But how can I end up with just having two polygons to be equivalent to what we have AutoCAD so that as we convert data from CAD to GIS they got the same?

 

Currently, if the “AreaOnAreaOverlayer” tool is applied then it ends up with having an overlap at the donut which is not equivalent to what we have in AutoCAD. In AutoCAD, we don’t have intersection between these two polygons at least at the visual level

 

Clip_228 

Clip_229 

 

 

 

 

 

 

 

 

 

Userlevel 5
Badge +29

Thank you for the very useful input.

 

But how can I end up with just having two polygons to be equivalent to what we have AutoCAD so that as we convert data from CAD to GIS they got the same?

 

Currently, if the “AreaOnAreaOverlayer” tool is applied then it ends up with having an overlap at the donut which is not equivalent to what we have in AutoCAD. In AutoCAD, we don’t have intersection between these two polygons at least at the visual level

 

Clip_228 

Clip_229 

 

 

 

 

 

 

 

 

 

I'm assuming that you're required output is the donut and the geometry . (more on that at the bottom)

 

FME is showing exactly what the geometry is, you mentioned that visually they're the same in CAD, but in FME they're not. This comes down to multiple factors, a lot of software and formats (CAD, ArcGIS, GDB, SDE, ArcGIS Online to name a few) will have data level precision's that default to a certain value, for 99.9% of use cases, these precision's are perfectly sufficient. (eg coordinates are rounded to 5 decimal places).

 

The thing with FME (to the extent of almost being a 'fault') is that it doesn't have these limits in place, if a coordinate has 10 decimal places ultimately placing it at an accuracy of a fraction of a mm, then it will do that, if you're comparing this coordinate in another piece of software that rounds it to 5 decimal places, then those two locations will be different. Again, if this coordinate exisits in a CSV and you're comparing it to the 'same' point in SDE, it is highly likely they will be 'different' yet not on a level where you can visually see it.

 

Back to the donut question. Because G2 contains two geometries, you can deaggregate that and use the two individual parts.

 

Use a PartCounter to get the counts of the number of parts, then use a tester to find which one has more than two parts. Then deaggregating the result will leave you with two geometries - the smaller polygon and the larger donut

imageimageimage

Badge +5

Thank you for the prompt help.

 

In terms of data, the polygon that has the color “90” is lost! And thus, as it’s interpreted to GIS these two polygons will have the color “40” which is inconsistent with what we have in AutoCAD data

 

What’s required here is to have just two polygons: one with color “40” and the other is with “90”

 

Clip_233Clip_234 

 

 

 

 

Userlevel 5
Badge +29

Thank you for the prompt help.

 

In terms of data, the polygon that has the color “90” is lost! And thus, as it’s interpreted to GIS these two polygons will have the color “40” which is inconsistent with what we have in AutoCAD data

 

What’s required here is to have just two polygons: one with color “40” and the other is with “90”

 

Clip_233Clip_234 

 

 

 

 

Are you expecting your large area to be a simple polygon (no hole) or a donut (has a hole)?

Badge +5

Whatever that ends up with having just two polygons after deaggregation: one with color 90 and the other with color 40 to get equivalent to what we have in AutoCAD

 

Clip_256 

Clip_257 

Clip_258 

 

 

 

 

 

 

Userlevel 5
Badge +29

Whatever that ends up with having just two polygons after deaggregation: one with color 90 and the other with color 40 to get equivalent to what we have in AutoCAD

 

Clip_256 

Clip_257 

Clip_258 

 

 

 

 

 

 

For 40, do you expect there to be a hole in it (a donut)? If you turn off 90, does 40 continue under it?

Badge +5

At all. I don’t expect to have 40 under 90.

 

 

 

Userlevel 5
Badge +29

At all. I don’t expect to have 40 under 90.

 

 

 

Have a look at the attached

Badge +5

Amazing hkingsbury. It works like a charm

Very much appreciated

Jamal

 

Clip_262

Reply