Skip to main content

Hi,

 

 

I want to make several polygon features as a single GML Surface feature. I need to convert polygons into PolygonPatches and then aggregare them into single Surface (with several polygon patches) grouped by specified attribute. How to get this done?

I tried Aggregator, GeometryCoercer, different combinations, but, nothing.

Hi,

 

 

GML MultiSurface can be created from an aggregate feature with the GeometryExtractor. I'm wondering if it can be modified into GML Surface through some XML and/or String operations.

 

 

Or, use the GeometryExtractor to create GML Surface for each single polygon; extract PolygonPatch element form the resulting Surface; and then construct the required GML Surface that contains multiple PolgyonPatch elements.

 

 

Anyway, some transformers in the XML category might help you.

 

 

Takashi

Takashi,

 

 

I already made Surface using this approach in PythonCaller. But it is 'slow' because it uses string concatenations, xml fragmentation and so on.

If there is no FME built-in transformer, I'll optimize mine a little bit more.

Thanks anyway!


Python is also good, but I think XML transformers are also worth to try.

 

e.g.

 

 

 

XQuery Expression parameter (XMLXQueryUpdater)

 

-----

 

declare namespace gml='http://www.opengis.net/gml/3.2';

 

<gml:Surface>

 

<gml:patches>

 

{//gml:PolygonPatch}

 

</gml:patches>

 

</gml:Surface>

 

------

Reply