Thanks again :) I did escapee the request (the paste was decoded for
readability in here, also I removed some stuff).
However, I figured it out, the solution was simple, and came to me from the
code:
List filters = KvpUtils.readFlat((String)
req.getRawKvp().get("filter"),
KvpUtils.OUTER_DELIMETER); params.put("filter",
(String)filters.get(index));
I only need the outer delimiter on each filter, which was "()"so:
filter=(filterForLayer0)(filterForLayer1)
CheersAleksander Vines
carlo cancellieri <[email protected]> , 3/28/2014 4:08 PM:
Aleksander, looking at the request and the error seems that you have not
escaped the request:<< When used in a GET request, the XML tag brackets must be
URL-encoded.>> You could try this:
http://meyerweb.com/eric/tools/dencoder/
to escape the url
Cheers,Carlo
2014-03-28 15:45 GMT+01:00 Aleksander Vines <[email protected]>:
Thanks for the replies,
Carlo: comma did not work either :(
http://localhost:8090/geoserver/greensad/wms?LAYERS=layer1,layer2&QUERY_LAYERS=layer1,layer2&STYLES=,&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&BBOX=-138.689604,-68.094802,163.689604,83.094802&FEATURE_COUNT=2000&HEIGHT=400&WIDTH=800&FORMAT=image/png&INFO_FORMAT=text/html&SRS=EPSG:4326&X=368&Y=46&FILTER=(<ogc:Filter
xmlns:ogc="http://www.opengis.net/ogc"> ... </ogc:Filter>),(<ogc:Filter
xmlns:ogc="http://www.opengis.net/ogc"> ... </ogc:Filter>) -->
"org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1174; Content is
not allowed in trailing section. Content is not allowed in trailing section."
Chris: I was unclear when I mentioned CQL_FILTER, I'm using an OGC-XML-filter
(as you see from above). I was just saying that what the documentation said
about CQL_FILTERS did not work for the FILTER variable (using semicolon to
separate the filters).
Still can't seem to figure out this, and I've started to take a look at the
source code myself to try to locate it, but I'm not very familiar with the
Geoserver code :)
Many thanks,Aleksander VinesChris Snider <[email protected]> , 3/28/2014 3:26 PM: I use the CQL_FILTER= with multiple layers. For Example, layers=BASE:Countries,BASE:States_Provinces&styles=&CQL_FILTER=INCLUDE;Name=’SomeProvinceName’ If you don’t want to restrict a layer result set, use the INCLUDE filter. Or the EXCLUDE if you want to remove it completely. The filters themselves can be built up to more complexity CQL_FILTER=(MyAttribute=’Value1’ and MyOtherValue=’Value2’) or MyThirdAttribute=’Value3’ Chris Snider Senior Software Engineer Intelligent Software Solutions, Inc. From: carlo cancellieri [mailto:[email protected]] Sent: Friday, March 28, 2014 6:31 AM To: Aleksander Vines Cc: [email protected] Subject: Re: [Geoserver-users] specify a filter for each layer in a GetFeatureInfo request Aleksander, I've never used them anyhow have you tried with commas? filter=(FILTER),(FILTER),... Let me know, we can take a look at the code if needed. Cheers, Carlo 2014-03-28 12:34 GMT+01:00 Aleksander Vines <[email protected]>: Hi list, according to the documentation at http://docs.geoserver.org/stable/en/user/services/wms/vendor.html#filter : "If more than one layer is specified in the layers parameter then a separate filter can be specified for each layer." But it does not say how I can do this, on cql_filter, each filter can be seperated by ';' but it does not work like that for the filter. It further says that the filter can contain a list of several filters, enclosed in parentheses, but it seemingly has nothing to do with one filter for each layer. I've been trying several forms (yes the final requests are url-encoded): filter=(filterForFirstLayer;filterForSecondLayer) filter=(filterForFirstLayer);(filterForSecondLayer) filter=filterForFirstLayer;filterForSecondLayer I'm sure the solution is easy but I can't seem to find it. Thanks, Aleksander Vines ------------------------------------------------------------------------------ _______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users -- == Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK for more information. == Dott. Carlo Cancellieri @cancellieric Software Engineer GeoSolutions S.A.S. Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- ------------------------------------------------------------------------------ _______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users -- ==Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK for more information. == Dott. Carlo Cancellieri @cancellieric Software Engineer GeoSolutions S.A.S. Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- ------------------------------------------------------------------------------ _______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
<<inline: image001.png>>
------------------------------------------------------------------------------
_______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
