[Geoserver-users] WFS MaxFeatures & count - can a client know?

Hi Jonathan,

This is another WFS but like this it should work

Client side maxfeatures=10, numberOfFeatures=10
http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&maxfeatures=10&request=getfeature&typename=lv:mtk_tos_viiva&resulttype=hits

No client side maxfeatures, numberOfFeatures=100000, probably the server side limit

http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&max&request=getfeature&typename=lv:mtk_tos_viiva&resulttype=hits

-Jukka Rahkonen-

···

Jonathan Moules

Hi Jukka,

Ok. It just seems like the sort of thing that would be very important for the client to know so it can tell the user “Server returned 1000 features but the server will only ever return 1000 features at a time so this may not be the entire dataset”.

Testing your suggestion, whenever I do that I always get back the exact same:

<wfs:FeatureCollection xmlns:OS_Rasters=“http://www.warwickshire.gov.uk/os_rasters” xmlns:ogc=“http://www.opengis.net/ogc” xmlns:Secure_Community=“http://www.warwickshire.gov.uk/Secure_Community” xmlns:OS_Vector=“http://www.warwickshire.gov.uk/os_vector” xmlns:wfs=“http://www.opengis.net/wfs” xmlns:ows=“http://www.opengis.net/ows” xmlns:xlink=“http://www.w3.org/1999/xlink” xmlns:Misc_Rasters=“http://www.warwickshire.gov.uk/misc_rasters” xmlns:gml=“http://www.opengis.net/gml” xmlns:Public_Data_DB=“http://www.warwickshire.gov.uk/public_data_db” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” numberOfFeatures=“0” timeStamp=“2013-11-08T14:55:55.783Z” xsi:schemaLocation=“http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd”/>

Note it’s claimed 0 features. Despite the fact the request does return 7500 features (maximum). A bug? I’ve not used that before.

Cheers,

Jonathan

On 8 November 2013 14:34, Rahkonen Jukka <jukka.rahkonen@anonymised.com6…> wrote:

Hi,

Not directly as far as I know, but by sending GetFeature without filters and with resulttype=hits it should be possible to do a good guess.

-Jukka Rahkonen-

Jonathan Moules wrote:

Hi List,

Relatively simple question, is it possible to a client to discover what the maximum number of results are that the GeoServer will return to a WFS request if the user has set “Maximum number of features”?

It doesn’t seem to be specified in the GetCapabilities explicitly. Closest I can see is the WFS 2.0 "ows:Constraint name=“CountDefault”

Does 1.0 have any way to find it out?

Thanks,

Jonathan

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

Hi Jukka,
I see what the difference is after some testing. Using the exact same URL but only changing the WFS version:

http://wppgeog3/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=Public_Data_DB:OS_ADDPOINT_WSHIRE&resulttype=hits

WFS 1.0.0 - 0 (wrong)

WFS 1.1.0 - 7500 (correct)
WFS 2.0.0 - 0 (wrong)

Looking in the spec, 1.0.0 doesn’t seem to have “resulttype” (but Geoserver tries anyway). It’s in both 1.1.0 and 2.0.0 though.

So looks like a bug, reported as http://jira.codehaus.org/browse/GEOS-6145

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

···

=====

One thought - shouldn’t resulttype=hits return the actual number of features that satisfy the user-query, not the number that satisfy the query after GeoServer has added the maxfeatures to it?

So if the limit is 7500, and my database contains 10,000,000, shouldn’t it return 10,000,000?

The specs don’t say clearly one way of the other which it should be.

Cheers,

Jonathan

On 8 November 2013 15:13, Rahkonen Jukka <jukka.rahkonen@anonymised.com> wrote:

Hi Jonathan,

This is another WFS but like this it should work

Client side maxfeatures=10, numberOfFeatures=10
http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&maxfeatures=10&request=getfeature&typename=lv:mtk_tos_viiva&resulttype=hits

No client side maxfeatures, numberOfFeatures=100000, probably the server side limit

http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&max&request=getfeature&typename=lv:mtk_tos_viiva&resulttype=hits

-Jukka Rahkonen-

Jonathan Moules

Hi Jukka,

Ok. It just seems like the sort of thing that would be very important for the client to know so it can tell the user “Server returned 1000 features but the server will only ever return 1000 features at a time so this may not be the entire dataset”.

Testing your suggestion, whenever I do that I always get back the exact same:

<wfs:FeatureCollection xmlns:OS_Rasters=“http://www.warwickshire.gov.uk/os_rasters” xmlns:ogc=“http://www.opengis.net/ogc” xmlns:Secure_Community=“http://www.warwickshire.gov.uk/Secure_Community” xmlns:OS_Vector=“http://www.warwickshire.gov.uk/os_vector” xmlns:wfs=“http://www.opengis.net/wfs” xmlns:ows=“http://www.opengis.net/ows” xmlns:xlink=“http://www.w3.org/1999/xlink” xmlns:Misc_Rasters=“http://www.warwickshire.gov.uk/misc_rasters” xmlns:gml=“http://www.opengis.net/gml” xmlns:Public_Data_DB=“http://www.warwickshire.gov.uk/public_data_db” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” numberOfFeatures=“0” timeStamp=“2013-11-08T14:55:55.783Z” xsi:schemaLocation=“http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd”/>

Note it’s claimed 0 features. Despite the fact the request does return 7500 features (maximum). A bug? I’ve not used that before.

Cheers,

Jonathan

On 8 November 2013 14:34, Rahkonen Jukka <jukka.rahkonen@anonymised.com6…> wrote:

Hi,

Not directly as far as I know, but by sending GetFeature without filters and with resulttype=hits it should be possible to do a good guess.

-Jukka Rahkonen-

Jonathan Moules wrote:

Hi List,

Relatively simple question, is it possible to a client to discover what the maximum number of results are that the GeoServer will return to a WFS request if the user has set “Maximum number of features”?

It doesn’t seem to be specified in the GetCapabilities explicitly. Closest I can see is the WFS 2.0 "ows:Constraint name=“CountDefault”

Does 1.0 have any way to find it out?

Thanks,

Jonathan

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.


November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users