I am trying to do a getFeature request using a CQL_FILTER. The filter has
two components a spatial filter defined as Within(geometry,POLYGON((144.7434
-37.9707,144.7434 -37.6572,145.1608 -37.6572,145.1608 -37.9707,144.7434
-37.9707))) plus an attribute filter component persons_usually_resident >
400. This should return over 100 polygon features. I get zero features
returned when I should get over 100 returned.

http://13.55.5.169:8008/geoserver/abs/wfs?REQUEST=GetFeature&SERVICE=WFS&VER
SION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&CQL_FILTE
R=Within(geometry,POLYGON((144.7434 -37.9707,144.7434 -37.6572,145.1608
-37.6572,145.1608 -37.9707,144.7434 -37.9707))) AND persons_usually_resident
> 400

I have also trued URL encoded CQL_Filter:

http://13.55.5.169:8008/geoserver/abs/wms?REQUEST=GetFeature
<http://13.55.5.169:8008/geoserver/abs/wms?REQUEST=GetFeature&SERVICE=WFS&VE
RSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&CQL_FILT
ER=Within(geometry%2CPOLYGON((144.7434%20-37.9707%2C144.7434%20-37.6572%2C14
5.1608%20-37.6572%2C145.1608%20-37.9707%2C144.7434%20-37.9707)))%20AND%20com
ponent%20persons_usually_resident%20%3E%20400>
&SERVICE=WFS&VERSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=applicatio
n/json&CQL_FILTER=Within(geometry%2CPOLYGON((144.7434%20-37.9707%2C144.7434%
20-37.6572%2C145.1608%20-37.6572%2C145.1608%20-37.9707%2C144.7434%20-37.9707
)))%20AND%20component%20persons_usually_resident%20%3E%20400

I know the spatial data is correct as I have used a BBOX CQL_FILTER with the
same geometry and it works fine returning the correct data number of
features and no urlencoding. That also validates we are looking at the
correct layer and geometry. This also returns about the same number of
features as the spatial filters should be returning - there will be minor
differences tho due to the Within is a little different to BBOX.

http://13.55.5.169:8008/geoserver/abs/wfs?REQUEST=GetFeature
<http://13.55.5.169:8008/geoserver/abs/wfs?REQUEST=GetFeature&SERVICE=WFS&VE
RSION=1.0.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&CQL_FILT
ER=BBOX(geometry,144.7434,-37.9707,145.1608,-37.6572)%20AND%20persons_usuall
y_resident%20%3E%20400>
&SERVICE=WFS&VERSION=1.0.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=applicatio
n/json&CQL_FILTER=BBOX(geometry,144.7434,-37.9707,145.1608,-37.6572)%20AND%2
0persons_usually_resident%20%3E%20400

I have also checked the syntax of the WKT POLYGON((144.7434
-37.9707,144.7434 -37.6572,145.1608 -37.6572,145.1608 -37.9707,144.7434
-37.9707)) via https://arthur-e.github.io/Wicket/sandbox-gmaps3.html so I
feel confident that is correct.

In addition I tried an OGC filter with no luck.

http://13.55.5.169:8008/geoserver/abs/wfs?REQUEST=GetFeature&SERVICE=WFS&VER
SION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&FILTER=<F
ilter><And><PropertyIsGreaterThan><PropertyName>persons_usually_resident</Pr
opertyName><Literal>400</Literal></PropertyIsGreaterThan><Within><PropertyNa
me>geometry</PropertyName><Polygon><outerBoundaryIs><LinearRing><coordinates
decimal='.' cs=':' ts=' '>144.7434:-37.9707 144.7434:-37.6572
145.1608:-37.6572 145.1608:-37.9707
144.7434:-37.9707</coordinates></LinearRing></outerBoundaryIs></Polygon></Wi
thin></And></Filter>

I need to be able to support either a OGC or CQL spatial filter with a
variable sized search polygon which could be a circle of 40 points or a user
digitized arbitrary area. I can do this on a Cubewerx WFS service using OGC
Filter but am really struggling with Geoserver 2.11.2.

The only thing I can think of is that the access control setting on our
geoserver may be set incorrectly. 

http://13.55.5.169:8008/geoserver/abs/wfs?request=getcapabilities
<http://13.55.5.169:8008/geoserver/abs/wfs?request=getcapabilities&service=W
FS> &service=WFS

specifically...

<fes:Constraint name="ImplementsSpatialFilter">
<ows:NoValues/>
<ows:DefaultValue>FALSE</ows:DefaultValue>
</fes:Constraint>

If this is a problem how can I change this default constraint?

We are also thinking of upgrading to a newer version of geoserver but cannot
understand why these requests are ignoring the spatial filters?

Cheers, 

Brad Spencer

Managing Director



 <http://www.numaps.com.au/> http://www.numaps.com.au/

mob: 0404 841 131

 <https://www.facebook.com/pg/numaps.com.au/photos/?ref=page_internal>
BradArt

 

 

 

 

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to