You will need to modify the wfs-ng datastore to "know" that it can pass
some filters onto the underlying store, or that it can't pass maxfeatures
to the underlying store.

Look at
https://github.com/geotools/geotools/blob/master/modules/unsupported/wfs-ng/src/main/java/org/geotools/data/wfs/WFSFeatureSource.java#L118
 and
https://github.com/geotools/geotools/blob/master/modules/unsupported/wfs-ng/src/main/java/org/geotools/data/wfs/WFSFeatureSource.java#L127

Ian

On Tue, 28 May 2019 at 19:16, Wagner, Matthew (Contractor) <
mewag...@contractor.usgs.gov> wrote:

> Hello,
>
> Currently, I am using Geoserver 2.15.1, JVM 1.8.0_171 on Ubuntu 16.04.6
> LTS.
>
> I have run into an issue when making WFS calls on Geoserver to a Web
> Feature Server (NG) vector data source. In particular, it seems that
> maxFeatures is applied before Filters when making a request. This means
> that Geoserver pulls maxFeatures number of records then filters them.
> However, when I apply the same query directly to the endpoint, it seems to
> work the other way where it returns maxFeatures number of records that
> match the filter.
>
> The Web Feature Server (NG) I am using is a public USGS data store:
>
> https://cartowfs.nationalmap.gov/arcgis/services/structures/MapServer/WFSServer?request=GetCapabilities&service=WFS
>
> I have tested this with the following WFS request that was a OGC standard
> filter. I have also applied an equivalent filter to my geoserver to note
> the differences.
>
>
> https://cartowfs.nationalmap.gov/arcgis/services/structures/MapServer/WFSServer?
> service=WFS&version=1.0.0&request=GetFeature&typeName=structures:USGS_TNM_Structures
> &maxFeatures=10&FILTER=<Filter><PropertyIsEqualTo><PropertyName>structures:STATE</PropertyName><Literal>MO</Literal></PropertyIsEqualTo></Filter>
>
> Additionally, I have found a past thread in the mailing list that mentions
> this problem but doesn't mention any sort of resolution.
>
> https://sourceforge.net/p/geoserver/mailman/message/31683282/
>
> Any help with this issue would be great. The issue I am having is that the
> Web Feature Server data source that Geoserver is connecting to contains too
> much data to request in a single pull. Thus, if I want to be able to pull
> all the data in batches through Geoserver, I need to specify what data I
> need to pull. However, this may impossible if I can only request the same
> features every time due to the maxFeatures field in Geoserver.
>
> Thanks,
> -Matt
> _______________________________________________
> 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
>


-- 
Ian Turton
_______________________________________________
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