J'essaie d'obtenir une fonctionnalité / des fonctionnalités d'une petite zone à l'aide du filtre BBOX (ou INTERSECTS) dans ma requête WFS. Je ne devrais m'attendre qu'à un petit ensemble de fonctionnalités ou à une seule fonctionnalité et pourtant la requête en renvoie un assez beau bouquet.
J'ai GeoServer version 2.2.2 avec un magasin de données Oracle. J'ai désactivé la sélection de la «bbox en vrac», ce qui ne devrait pas être la cause du problème.
Voici la requête avec un filtre BBOX:
<wfs:GetFeature
xmlns:wfs="http://www.opengis.net/wfs"
service="WFS"
version="1.1.0"
outputFormat="json"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="LiVi:LIIKENNE_ELEMENTTI" srsName="EPSG:3067" xmlns:LiVi="http://172.17.14.211:8080/LiVi">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:BBOX>
<ogc:PropertyName>GEOMETRY</ogc:PropertyName>
<gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3067">
<gml:lowerCorner>316600 6838986</gml:lowerCorner>
<gml:upperCorner>327696 6844298</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
Le problème persiste avec le filtre INTERSECTS. La taille du polygone est d'environ 10 x 10 mètres.
<wfs:GetFeature
xmlns:wfs="http://www.opengis.net/wfs"
service="WFS"
version="1.1.0"
outputFormat="json"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="LiVi:LIIKENNE_ELEMENTTI" srsName="EPSG:3067" xmlns:LiVi="http://172.17.14.211:8080/LiVi">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:Intersects>
<ogc:PropertyName>GEOMETRY</ogc:PropertyName>
<gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3067">
<gml:exterior>
<gml:LinearRing>
<gml:posList>308082.07106781186 6833724.928932188 308082.07106781186 6833739.071067812 308067.92893218814 6833739.071067812 308067.92893218814 6833724.928932188 308082.07106781186 6833724.928932188</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</ogc:Intersects>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
Éditer:
Voici une autre demande (cette fois une demande GET):
Même si la zone BBOX est assez petite, je récupère 1263 fonctionnalités, dont la plupart ne tombent même pas dans les limites spécifiées dans la demande. Par exemple, à partir d'une des fonctionnalités de la réponse:
<gml:boundedBy>
<gml:Envelope srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#3067">
<gml:lowerCorner>317629.69841038 6841957.478078741</gml:lowerCorner>
<gml:upperCorner>317902.64972173725 6841987.000123474</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>