Jukka,

Ok, no I was not aware of that! I will change and test. In any case the OGC 
filter works now as well as cql filter. But I do want to use cql filter 
(simpler) so will test the coordinate switch. I did not see any doc about that 
on geoserver site. I have been using CubeWerx for years and so this is a little 
new for me. Thanks for your help.

Cheers brad...

Sent from my iPhone

> On 11 Feb 2020, at 18:24, Rahkonen Jukka (MML) 
> <jukka.rahko...@maanmittauslaitos.fi> wrote:
> 
> 
> 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
> <image001.png>
> http://www.numaps.com.au/
> mob: 0404 841 131
> BradArt
>  
>  
>  
>  
>  
>  
>  
>  
> From: Jody Garnett <jody.garn...@gmail.com> 
> Sent: 10 February 2020 22:14
> To: Brad Spencer <b...@numaps.com.au>
> Cc: GeoServer Users <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> 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> 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> wrote:
> See below....
> 
> Sent from my iPhone
>  
> 
> On 10 Feb 2020, at 20:11, Jody Garnett <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> wrote:
> Jody,
>  
> Sorry about that I was not aware of these rules.
>  
> Cheers, Brad….
>  
> From: Jody Garnett <jody.garn...@gmail.com> 
> Sent: 10 February 2020 16:55
> To: Brad Spencer <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> 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> 
> Sent: 10 February 2020 12:23
> To: Brad Spencer <b...@numaps.com.au>
> Cc: 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> wrote:
> Guys,
>  
> Can anyone please shed some light on this geoserver problem for me?
>  
> Cheers, Brad….
>  
> From: Brad Spencer <b...@numaps.com.au> 
> Sent: 06 February 2020 10:44
> To: 'geoserver-users@lists.sourceforge.net' 
> <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
>  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
>  
>  
>  
>  
> _______________________________________________
> 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
> --
> --
> 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