Hi,

If you use WFS version 1.1.0 or 2.0.0 you must rewrite the polygon so that 
coordinates are in latitude-longitude order 
https://docs.geoserver.org/master/en/user/services/wfs/axis_order.html. Did you 
do that?

-Jukka Rahkonen-

Lähettäjä: Brad Spencer <b...@numaps.com.au>
Lähetetty: tiistai 11. helmikuuta 2020 1.39
Vastaanottaja: 'Jody Garnett' <jody.garn...@gmail.com>; 'GeoServer Users' 
<geoserver-users@lists.sourceforge.net>
Aihe: Re: [Geoserver-users] Geoserver 2.11.2

Jody,

Your observation about TYPENAME starting with numeric appears to be the 
problem. I changed the layer in geoserver to be ‘abs:MB2016meshblocks’ and 
voila!
The CQL_FILTER containing a WKT spatial component plus an attribute component 
worked in Geoserver CQL Filter viewer and as a URL as expected – 141 features.

http://13.55.5.169:8008/geoserver/abs/wms?REQUEST=Getfeature&SERVICE=WFS&TYPENAME=abs:MB2016meshblocks&OUTPUTFORMAT=application/json&srsName=EPSG:4326&VERSION=1.0.0&CQL_FILTER=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

However, I get zero returns if I use version 1.1.0 or 2.0.0 but it works a 
treat with 1.0.0 and that will do me for now.

I am not sure if this is a bug in 2.11.2 or not and maybe we should look to 
upgrade.
But things to note is that if you have a non OGC compliant TYPENAME (starting 
with a numeric was my case), the CQL_FILTER using BBOX spatial filter works but 
when you use a CQL_FILTER using a WKT object (Polygon, Linestring, Point, etc) 
as your spatial filter it may not work.

Thanks for all your help and patience, now I have some work my end!

Cheers,

Brad Spencer
Managing Director
[cid:image001.png@01D05769.0726F2C0]
http://www.numaps.com.au/
mob: 0404 841 131
BradArt<https://www.facebook.com/pg/numaps.com.au/photos/?ref=page_internal>








From: Jody Garnett <jody.garn...@gmail.com<mailto:jody.garn...@gmail.com>>
Sent: 10 February 2020 22:14
To: Brad Spencer <b...@numaps.com.au<mailto:b...@numaps.com.au>>
Cc: GeoServer Users 
<geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>>
Subject: Re: [Geoserver-users] Geoserver 2.11.2

bbox spatial filter uses the && operator (working on the index) rather than 
within which uses the geometries.

Check the WMS spec for ImplementsSpatialFilter, think this is a flag indicating 
spatial filters are available.
--
Jody Garnett


On Mon, 10 Feb 2020 at 11:29, Brad Spencer 
<b...@numaps.com.au<mailto:b...@numaps.com.au>> wrote:
Ok we are using postgis.
Re the typename, we could look at renaming these layers as we are on 
development right now, however, how come the CQL filter using a BBOX spatial 
filter works?
Also, have any thoughts about the Getcapabilities constraints settings?

<fes:Constraint name="ImplementsSpatialFilter">
Sent from my iPhone

On 10 Feb 2020, at 20:40, Jody Garnett 
<jody.garn...@gmail.com<mailto:jody.garn...@gmail.com>> wrote:

The data source is internal to your configuration of geoserver (shapefile, 
postgis, geomesa, etc...).

- I don't think you are doing something wrong, I am suspecting that the data 
source is not doing a good job of combining a within filter and an attribute 
filter.

I can see something unusual, your time name may not be valid for WFS:
- abs:2016meshblocks
- XML Element names must start with a letter or underscore, and this one starts 
with "2"

--
Jody Garnett


On Mon, 10 Feb 2020 at 10:26, Brad Spencer 
<b...@numaps.com.au<mailto:b...@numaps.com.au>> wrote:
See below....
Sent from my iPhone

On 10 Feb 2020, at 20:11, Jody Garnett 
<jody.garn...@gmail.com<mailto:jody.garn...@gmail.com>> wrote:

No worries, in this case it was me making the initial mistake :P

As for this trouble with CQL, please keep in mind that once the filter is 
parsed for your request, it is then packaged up by the data source (for example 
translated to SQL for a database request).

So we really need to know what data source you are using to have a better idea 
what is going on :)

The other common thing is to make sure the coordinates in your request match 
the coordinates in your


Did you try my URL links? Won’t the data source be specified in the full link 
that includes the CQL filter. Also be aware that one of these links shows a 
BBOX spatial filter in the CQL which works correctly. The BBOX filter’s 
geometry is used in the CQL Within filter to create a wkt Polygon that does not 
work. This makes no sense to me. I must be doing something wrong?
brad...
--
Jody Garnett


On Mon, 10 Feb 2020 at 09:45, Brad Spencer 
<b...@numaps.com.au<mailto:b...@numaps.com.au>> wrote:
Jody,

Sorry about that I was not aware of these rules.

Cheers, Brad….

From: Jody Garnett <jody.garn...@gmail.com<mailto:jody.garn...@gmail.com>>
Sent: 10 February 2020 16:55
To: Brad Spencer <b...@numaps.com.au<mailto:b...@numaps.com.au>>
Subject: Re: [Geoserver-users] Geoserver 2.11.2

Please keep our policy in mind about keeping communication on the list.  I am 
sorry I accidentally replied to you directly (made a mistake using my phone).

Many folks, including my employer, offer direct email support commercially.

By keeping thing on the list, like how to figure out the logs, we help people 
doing a web search and participate in the community.

On Mon, Feb 10, 2020 at 5:06 AM Brad Spencer 
<b...@numaps.com.au<mailto:b...@numaps.com.au>> wrote:
Jody,

I simply do not understand the Geoserver logs. They make no sense to me. Would 
it help if I just cut and pasted to you into an email?

Cheers, Brad….

From: Jody Garnett <jody.garn...@gmail.com<mailto:jody.garn...@gmail.com>>
Sent: 10 February 2020 12:23
To: Brad Spencer <b...@numaps.com.au<mailto:b...@numaps.com.au>>
Cc: 
geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>
Subject: Re: [Geoserver-users] Geoserver 2.11.2


Can you increase the logging and check what query is being generated. What data 
store are you using?

On Sun, Feb 9, 2020 at 11:48 PM Brad Spencer 
<b...@numaps.com.au<mailto:b...@numaps.com.au>> wrote:
Guys,

Can anyone please shed some light on this geoserver problem for me?

Cheers, Brad….

From: Brad Spencer <b...@numaps.com.au<mailto:b...@numaps.com.au>>
Sent: 06 February 2020 10:44
To: 
'geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>'
 
<geoserver-users@lists.sourceforge.net<mailto:geoserver-users@lists.sourceforge.net>>
Subject: Geoserver 2.11.2


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&VERSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&CQL_FILTER=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&SERVICE=WFS&VERSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/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&SERVICE=WFS&VERSION=1.0.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&CQL_FILTER=BBOX(geometry,144.7434,-37.9707,145.1608,-37.6572)%20AND%20persons_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&VERSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&FILTER=<Filter><And><PropertyIsGreaterThan><PropertyName>persons_usually_resident</PropertyName><Literal>400</Literal></PropertyIsGreaterThan><Within><PropertyName>geometry</PropertyName><Polygon><outerBoundaryIs><LinearRing><coordinates<http://13.55.5.169:8008/geoserver/abs/wfs?REQUEST=GetFeature&SERVICE=WFS&VERSION=1.1.0&TYPENAME=2016MBmeshblocks&OUTPUTFORMAT=application/json&FILTER=%3cFilter%3e%3cAnd%3e%3cPropertyIsGreaterThan%3e%3cPropertyName%3epersons_usually_resident%3c/PropertyName%3e%3cLiteral%3e400%3c/Literal%3e%3c/PropertyIsGreaterThan%3e%3cWithin%3e%3cPropertyName%3egeometry%3c/PropertyName%3e%3cPolygon%3e%3couterBoundaryIs%3e%3cLinearRing%3e%3ccoordinates>
 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></Within></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&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
<image001.png>
http://www.numaps.com.au/
mob: 0404 841 131
BradArt<https://www.facebook.com/pg/numaps.com.au/photos/?ref=page_internal>




_______________________________________________
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<mailto:Geoserver-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
--
Jody Garnett
--
--
Jody Garnett
_______________________________________________
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