Skip to main content
Question

PolygonPatch builder

  • October 15, 2015
  • 3 replies
  • 25 views

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.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

3 replies

takashi
Celebrity
  • October 16, 2015
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

  • Author
  • October 16, 2015

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!


takashi
Celebrity
  • October 16, 2015
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>

 

------