gisgml-geographic-markup-lanfme

Change GML geometry attribute from Linestring to Multicurve in FME


I am currently converting a shapefile into a GML file for an online Mapviewer. this application requires the geometry to be in a seperate attribute and needs to consist of multicurve features.

using GeometryExtractor, i get the following:

<rrgs:geometrie>
        <gml:LineString gml:id="id-9f7691bb-868d-457e-9061-aceb37980a59-0" srsName="EPSG:28992" srsDimension="2">
                    <gml:posList>260471.21250000037 591380.1363999993 260457.43054999973 591385.7507499998</gml:posList>
        </gml:LineString>
</rrgs:geometrie>

however, the application for uploading onto the online mapviewer requires the geometry as follows:

<rrgs:geometrie>
        <gml:MultiCurve gml:id="…" srsName="EPSG:28992" srsDimension="2">
                    <gml:curveMember>
                                <gml:LineString gml:id="id-9f7691bb-868d-457e-9061-aceb37980a59-0">
                                           <gml:posList>260471.21250000037 591380.1363999993 260457.43054999973 591385.7507499998</gml:posList>
                                </gml:LineString>
                    </gml:curveMember>
        </gml:MultiCurve>
</rrgs:geometrie>

would it be possible in FME to convert linestring features into multicurve features?

Thanks in advance!


Solution

  • I would try just setting an Aggregator before writing so all geometries are multi-geometries. You would need to use an attribute with a unique value in the Group By parameter so the different features aren't grouped together. If there's none try the UUIDGenerator.