Bug report #14119
Ensure the OGC filter XML expression contains the GML namespace references.
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | Web Services clients/WFS | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 22121 |
Description
WFS Servers such as Geoserver won't parse the C XML filter unless it's there. Example expression that fails:
QGIS Expression: "intersects($geometry, geom_from_wkt('POLYGON)'))"
Gets converted to:
OGC XML:
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc xmlns:gml=http://www.opengis.net/ogc">
<ogc:Intersects>
<ogc:PropertyName>geometry</ogc:PropertyName>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates cs="," ts=" ">171.9043399999999906,-43.2101120000000023 172.32836199999999849,-43.2101120000000023 172.32836199999999849,-42.99926099999999707 171.9043399999999906,-42.99926099999999707 171.9043399999999906,-43.2101120000000023</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ogc:Intersects>
</ogc:Filter>
To fix this the expression to OGC XML function should add the xmlns:gml=http://www.opengis.net/ogc namespace. e.g
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc xmlns:gml="http://www.opengis.net/ogc">
<ogc:Intersects>
<ogc:PropertyName>geometry</ogc:PropertyName>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates cs="," ts=" ">171.9043399999999906,-43.2101120000000023 172.32836199999999849,-43.2101120000000023 172.32836199999999849,-42.99926099999999707 171.9043399999999906,-42.99926099999999707 171.9043399999999906,-43.2101120000000023</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ogc:Intersects>
</ogc:Filter>
Associated revisions
QgsOgcUtils: add support to generate WFS 1.1 and 2.0 filters
Fixes #14119: Ensure the OGC filter XML expression contains the GML namespace references
QgsOgcUtils: add support to generate WFS 1.1 and 2.0 filters
Fixes #14119: Ensure the OGC filter XML expression contains the GML namespace references
History
#1 Updated by Even Rouault over 8 years ago
- Status changed from Open to Closed
Fixed in changeset 9fe6a9fe48059ea10a74128a4fbf57cfa39795ce.