QGIS WFS 2.0.0 incorrectly interpreting 3D & 4D geometries as 2D

LinestringZ, LinestringZM geometries published by Geoserver and consumed by QGIS are incorrectly interpreted as 2D geometries. Connecting to the source database (PostGIS) correctly shows Z values for each vertex.

As far as I can tell, geoserver is publishing the data correctly with 3D coordinates.

Firstly the DescribeFeatureType request identifies that GML3.2 is being used and that the geometry field is of type curve:

name=“geom” nillable=“true” type=“gml:CurvePropertyType”

GML3.2 specifies that a CurvePropertyType can be one of the following:

  • AbstractCurve

  • LineString

  • Curve

  • OrientableCurve

  • CompositeCurve

And in the GetFeature request below we see that the geometry is indeed a LineString with dimension=3

The following is a test WFS GetFeature request response showing srsDimension=“3” and the correct coordinates in the list.

As far as I can tell, geoserver is publishing the data correctly with 3D coordinates.
Firstly the DescribeFeatureType request identifies that GML3.2 is being used and that the geometry field is of type curve:
name=“geom” nillable=“true” type=“gml:CurvePropertyType”

GML3.2 specifies that a CurvePropertyType can be one of the following:
AbstractCurve
LineString
Curve
OrientableCurve
CompositeCurve
And in the GetFeature request below we see that the geometry is indeed a LineString with dimension=3

The following is a snippet from a test WFS GetFeature request response showing srsDimension=“3” and the correct coordinates in the list.

<wfs:member>
	<test:Conduit gml:id="Conduit.2">
		<test:Id>2</test:Id>
		<test:Diameter>100</test:Diameter>
		<test:nominal_depth>0.7</test:nominal_depth>
		<test:geom>
			<gml:LineString srsName="urn:ogc:def:crs:EPSG::7856" srsDimension="3" gml:id="Conduit.2.geom">
				<gml:posList>545065 6891857 1 545075 6891857 1.2 545079 6891865 1 545095 6891827 1.2</gml:posList>
			</gml:LineString>
		</test:geom>
	</test:Conduit>
</wfs:member>

So I believe that GeoServer is publishing the data correctly but that when adding the layer to QGIS it is dropping the z values (although correctly interpreting the sequence of values).

Any & all help gratefully accepted
regards
Mike

So I believe that GeoServer is publishing the data correctly but that when adding the layer to QGIS it is dropping the z values (although correctly interpreting the sequence of values).

Any & all help gratefully accepted

regards

Mike