Skip to content

Commit

Permalink
[WFS] Fix filter for geometryTypeFilter='GeometryCollection' layers
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Jan 3, 2023
1 parent 027e95a commit a5f28d0
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 37 deletions.
2 changes: 1 addition & 1 deletion src/providers/wfs/qgswfsprovidermetadata.cpp
Expand Up @@ -161,7 +161,7 @@ QString QgsWFSProvider::buildGeometryCollectionFilter( const QgsWfsCapabilities:
for ( const QString &function : { QStringLiteral( "IsPoint" ), QStringLiteral( "IsCurve" ), QStringLiteral( "IsSurface" ) } )
{
QDomElement propertyIsEqualToElem = doc.createElement( filterPrefix + QStringLiteral( ":PropertyIsEqualTo" ) );
filterElem.appendChild( propertyIsEqualToElem );
andElem.appendChild( propertyIsEqualToElem );
QDomElement functionElem = doc.createElement( filterPrefix + QStringLiteral( ":Function" ) );
propertyIsEqualToElem.appendChild( functionElem );
QDomAttr attrFunctionName = doc.createAttribute( QStringLiteral( "name" ) );
Expand Down
72 changes: 36 additions & 36 deletions tests/src/python/test_provider_wfs.py
Expand Up @@ -5956,25 +5956,25 @@ def testDeegreeServerWithUnknownGeometryType(self):
<fes:ValueReference>geometry</fes:ValueReference>
</fes:PropertyIsNull>
</fes:Not>
<fes:PropertyIsEqualTo>
<fes:Function name="IsPoint">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsCurve">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsSurface">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:And>
<fes:PropertyIsEqualTo>
<fes:Function name="IsPoint">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsCurve">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsSurface">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:Filter>
"""), 'wb') as f:
f.write("""
Expand Down Expand Up @@ -6002,25 +6002,25 @@ def testDeegreeServerWithUnknownGeometryType(self):
<fes:ValueReference>geometry</fes:ValueReference>
</fes:PropertyIsNull>
</fes:Not>
<fes:PropertyIsEqualTo>
<fes:Function name="IsPoint">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsCurve">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsSurface">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:And>
<fes:PropertyIsEqualTo>
<fes:Function name="IsPoint">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsCurve">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:Function name="IsSurface">
<fes:ValueReference>geometry</fes:ValueReference>
</fes:Function>
<fes:Literal>false</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:Filter>
&RESULTTYPE=hits"""), 'wb') as f:
f.write("""<wfs:FeatureCollection
Expand Down

0 comments on commit a5f28d0

Please sign in to comment.