diff --git a/xtraplatform-features-gml/src/main/java/de/ii/xtraplatform/features/gml/domain/GeometryEncoderGml.java b/xtraplatform-features-gml/src/main/java/de/ii/xtraplatform/features/gml/domain/GeometryEncoderGml.java index 992182fb2..06f0eb131 100644 --- a/xtraplatform-features-gml/src/main/java/de/ii/xtraplatform/features/gml/domain/GeometryEncoderGml.java +++ b/xtraplatform-features-gml/src/main/java/de/ii/xtraplatform/features/gml/domain/GeometryEncoderGml.java @@ -495,9 +495,7 @@ public Void visit(Polygon geometry) { if (useSurfaceAndCurve) { writeStartTagObject(RING, true); writeStartTagProperty(CURVE_MEMBER); - writeStartTagDataType(LINE_STRING_SEGMENT); - writePositionList(ring.getValue().getCoordinates(), geometry.getAxes()); - writeEndTag(); + ring.accept(encodeAsEmbeddedGeometry.orElse(this)); writeEndTag(); } else { writeStartTagObject(LINEAR_RING, true); diff --git a/xtraplatform-features-gml/src/test/groovy/de/ii/xtraplatform/features/gml/domain/GeometrySpec.groovy b/xtraplatform-features-gml/src/test/groovy/de/ii/xtraplatform/features/gml/domain/GeometrySpec.groovy index bc5acd08a..5c6ed3ceb 100644 --- a/xtraplatform-features-gml/src/test/groovy/de/ii/xtraplatform/features/gml/domain/GeometrySpec.groovy +++ b/xtraplatform-features-gml/src/test/groovy/de/ii/xtraplatform/features/gml/domain/GeometrySpec.groovy @@ -445,7 +445,7 @@ class GeometrySpec extends Specification { String gmlOut = sw.toString() then: - gmlOut == "0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0" + gmlOut == "0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0" } def 'CURVEPOLYGON XY with USE_SURFACE_RING_CURVE'() {