Question

When I Working with IFMEPolygon and IFMEMultiArea encounter some trouble


Badge

I create two ploygon,one is IFMEPolygon,the other is IFMEMultiArea (2 Parts). After that, work with the Extruder transformer, but only the the polygon of IFMEPolygon had been extruded, what can i do to help it ?


10 replies

Userlevel 2
Badge +17

Hi @keplerleee, the Extruder creates a MultiSolid from a MultiArea generated by the Clipper, but the resulting MultiSolid cannot be transformed to either a CompositeSurface or a MultiArea with the GeometryCoercer. If you set 'No' to the Create Aggregates parameter in the Clipper, it would decompose aggregates into individual parts (non-multi areas) before outputting.

Badge

Hi @keplerleee, the Extruder creates a MultiSolid from a MultiArea generated by the Clipper, but the resulting MultiSolid cannot be transformed to either a CompositeSurface or a MultiArea with the GeometryCoercer. If you set 'No' to the Create Aggregates parameter in the Clipper, it would decompose aggregates into individual parts (non-multi areas) before outputting.

Thank you very much. I encountered such a situation while doing other work, so I wrote this example.When I stretched polygons, I encountered a MultiSolid type. These geometry can not be stretched into a three-dimensional body, but just a three-dimensional surface, so I asked this question.I also need your help to solve this problem

 

 

Userlevel 2
Badge +17

Hi @keplerleee, the Extruder creates a MultiSolid from a MultiArea generated by the Clipper, but the resulting MultiSolid cannot be transformed to either a CompositeSurface or a MultiArea with the GeometryCoercer. If you set 'No' to the Create Aggregates parameter in the Clipper, it would decompose aggregates into individual parts (non-multi areas) before outputting.

Have you set 'No' to the Create Aggregates parameter in the Clipper and run?

 

 

Badge
Have you set 'No' to the Create Aggregates parameter in the Clipper and run?

 

 

Yes, it's already set up, and it's working.

 

Please wait a moment, I will do another example to show you.

 

 

Badge
Have you set 'No' to the Create Aggregates parameter in the Clipper and run?

 

 

solidtest2.fmw

 

test.zip

 

Badge
Have you set 'No' to the Create Aggregates parameter in the Clipper and run?

 

 

In fact, what I encountered was the data of a shp file with MultiSolid,that can't export to 3D body.

 

 

Userlevel 2
Badge +17
Have you set 'No' to the Create Aggregates parameter in the Clipper and run?

 

 

The condition is different from the original question, but the theory is the same. You can just insert the Deaggregator between the Extruder and the GeometryCoercer to decompose the MultiSolid into individual solids (Extrusion). Alternatively, you can also insert the Deaggregator before the Extuder to decompose the MultiArea into individual polygon before extrusion.

 

Badge
The condition is different from the original question, but the theory is the same. You can just insert the Deaggregator between the Extruder and the GeometryCoercer to decompose the MultiSolid into individual solids (Extrusion). Alternatively, you can also insert the Deaggregator before the Extuder to decompose the MultiArea into individual polygon before extrusion.

 

Thanks,I don't want to use this Deaggregator because I want to keep this MultiArea type and let it work with the Extuder.

 

 

Userlevel 2
Badge +17
The condition is different from the original question, but the theory is the same. You can just insert the Deaggregator between the Extruder and the GeometryCoercer to decompose the MultiSolid into individual solids (Extrusion). Alternatively, you can also insert the Deaggregator before the Extuder to decompose the MultiArea into individual polygon before extrusion.

 

No way unless you de-aggregate the multi geometry. A workaround is, use a Counter to add temporary ID to each feature, Deaggregator, Extruder, GeometryCoercer x 2, then use the Aggregator (Group By: the temporary ID) to restore the multi.

 

 

Userlevel 2
Badge +17
The condition is different from the original question, but the theory is the same. You can just insert the Deaggregator between the Extruder and the GeometryCoercer to decompose the MultiSolid into individual solids (Extrusion). Alternatively, you can also insert the Deaggregator before the Extuder to decompose the MultiArea into individual polygon before extrusion. 

 

Sorry, I was wrong. There is a way without Deaggregator. Try setting this Test Clause to the Geometry XQuery parameter in the first Geometry Coercer.

 

This part  Geometry Type  =  IFMEExtrusion 

 

 

Reply