On Fri, 26 Jan 2024 at 14:51, Henning Lorenz <henning.lor...@geo.uu.se> wrote:
> Thanks, Julian! > > Your comments helped a lot. With this, the problem is reduced to the &BBOX > not working in WFS 2.0.0. I went back to OGC documentation and started out > with a query from the documentation - and it works. It turns out that the > problem is &BBOX in combination with &outputFormat=application/json. Either > on its own works fine and as expected. Both combined in the query result in > a java runtime exception "Unable to evaluate template path against the > template". > That does sound like a bug, can you open a ticket with an example query against one of the demo layers please Thanks Ian > Henning > On 2024-01-26 14:00, Julian Hollingbery wrote: > > Hi, > > > > You are mixing parameters between different versions of OGC protocols, and > this is causing at least some of your issues. > > > > - &maxfeatures is a WFS version 1.x parameter. It should not do > anything in a WMS request. For WFS 2.0.0, the corresponding parameter is > called &count. > - &filter is technically only a WFS-parameter, so for it to work in > WMS is a non-standard feature in GeoServer. > > > > /Julian > > > > *From:* Henning Lorenz <henning.lor...@geo.uu.se> > <henning.lor...@geo.uu.se> > *Sent:* Thursday, 25 January 2024 11.16 > *To:* geoserver-users@lists.sourceforge.net > *Subject:* [Geoserver-users] Features-templating and OGC services, > filters not working, errors > > > > Geoserver 2.24 and 2.21 snapshot with module app-schema and community > modules features templating, ogcapi-features (all from same build date) > > Hello, > > I have set up a seemingly functional layer with features templating. > However, I encounter a rather odd behaviour when I try to include filters > in the query URLs. Here is a summary (I paste examples below): > > WMS 1.3 requests: Simple GetMap request works. &maxFeatures works. > CQL-filters do not work. OGC-filters on attributes work. Spatial OGC-filter > returns an empty map. > > WFS 2.0.0 query: Simple Get Feature query works. &maxFeatures has no > effect. &bbox returns an error. CQL filters do not work. OGC-filters on > attributes work. Spatial OGC-filter returns error. > > No spatial filtering at all, no CQL filters, only OGC filters on > attributes work. This limits the usefulness of WMS, and WFS is almost > completely useless. I guess that something is wrong, but do not even know > where to start looking for the problem, assuming that there is a common > underlying problem. The log entries are very peculiar - not much with > CQL-filter errors. On the other hand, extensive warnings that the > OGC-filter - which actually works - could not be parsed. > java.lang.RuntimeException on the spatial filter errors > (java.lang.NullPointerException on OGC filter; Unable to evaluate template > path against the template on bbox). > > The main issue is that spatial filtering is not working (either no effect > or returns error) while all features are displayed in the correct locations > in a basic WMS map. Very peculiar is also that basic limitations like > maxFeatures do not work, as it has nothing to do with the actual content. > Any ideas on how to proceed with troubleshooting are very much appreciated. > > Thank you and best wishes, > > Henning > > --------------- > > Below the tested queries with short comments: > > WMS 1.3: > > Requesting a map without any additional parameters works as expected: > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&format=image/jpeg > > maxFeatures works: > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&maxFeatures=5&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&format=image/jpeg > > CQL-filter on an attribute does not work (displays map with all features, > unfiltered, as without filter): > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&CQL-FILTER=surveyname='1998'&format=image/jpeg > > OGC-filter on an attribute works as expected: > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" <http://www.opengis.net/gml> > ><PropertyIsEqualTo><PropertyName>surveyname</PropertyName><Literal>1998</Literal></PropertyIsEqualTo></Filter>&format=image/jpeg > > OGC spatial filter returns empty map (tested with both latlon and lonlat, > as the order of coordinates in different formats/standards (and their > combination) always appears to be a mess to me) > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" > <http://www.opengis.net/gml>><Contains><PropertyName>geometry</PropertyName><gml:Polygon><gml:exterior><gml:LinearRing><gml:posList>24 > 62 26 62 26 65 24 65 24 > 62</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Contains></Filter>&format=image/jpeg > > > http://localhost:8080/geoserver/eposgo/wms?service=WMS&version=1.3.0&request=GetMap&layers=eposgo:MagnetotelluricStationsFeature&bbox=62,21,65,26&width=700&height=600&srs=EPSG:4326&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" > <http://www.opengis.net/gml>><Contains><PropertyName>geometry</PropertyName><gml:Polygon><gml:exterior><gml:LinearRing><gml:posList>62 > 24 62 26 65 26 65 24 62 > 24</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Contains></Filter>&format=image/jpeg > > WFS 2.0: > > Query for all features works as expected: > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&outputFormat=application/json > > maxFeatures does not work, the query returns all features: > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&maxFeatures=10&outputFormat=application/json > > Filtering the query by an inline bbox results in an <ows:Exception > exceptionCode="NoApplicableCode"></ows:Exception> (from Geoserver log: > "java.lang.RuntimeException: Unable to evaluate template path against the > template"): > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&BBOX=62,21,65,26,EPSG:4326&outputFormat=application/json > > Spatial filtering the query by a CQL-BBOX does not work, it returns all > features: > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&CQL-FILTER=BBOX(62,21,65,26)&outputFormat=application/json > > Spatial filtering the query with an OGC BOX or Contains returns > <ows:Exception exceptionCode="NoApplicableCode"></ows:Exception> > (java.lang.NullPointerException): > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" <http://www.opengis.net/gml> > ><BBOX><PropertyName>geometry</PropertyName><gml:coord><gml:X>21</gml:X><gml:Y>62</gml:Y></gml:coord><gml:coord><gml:X>26</gml:X><gml:Y>65</gml:Y></gml:coord></gml:Box></BBOX></Filter>&outputFormat=application/json > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" > <http://www.opengis.net/gml>><Contains><PropertyName>geometry</PropertyName><gml:Polygon><gml:exterior><gml:LinearRing><gml:posList>21 > 62 26 62 26 65 21 65 21 > 62</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Contains></Filter>&outputFormat=application/json > > CQL-Filter on an attribute does not work, it returns all features: > > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&CQL-FILTER=surveyname='1998'&outputFormat=application/json > > OGC-filter on an attribute works as expected: > localhost:8080/geoserver/eposgo/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=eposgo:MagnetotelluricStationsFeature&FILTER=<Filter > xmlns="http://www.opengis.net/ogc" <http://www.opengis.net/ogc> xmlns:gml= > "http://www.opengis.net/gml" <http://www.opengis.net/gml> > ><PropertyIsEqualTo><PropertyName>surveyname</PropertyName><Literal>1998</Literal></PropertyIsEqualTo></Filter>&outputFormat=application/json > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så innebär > det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör > det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ > > E-mailing Uppsala University means that we will process your personal > data. For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > > > VARNING: Klicka inte på länkar och öppna inte bilagor om du inte känner > igen avsändaren och vet att innehållet är säkert. > CAUTION: Do not click on links or open attachments unless you recognise > the sender and know the content is safe. > > -- > Henning Lorenz > EPOS-Sweden (Swedish participation in EPOS-ERIC; www.epos-se.se), > infrastructure manager > Riksriggen data management and support (www.riksriggen.se) > The Swedish Scientific Drilling Program (www.ssdp.se) > > Uppsala University > Department of Earth Sciences > Villavägen 16 > 752 36 Uppsala > Sweden > mobile: +46 (0) 701 679 320 > e-mail: henning.lor...@geo.uu.se > > _______________________________________________ > 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