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