Hi all,
While using the cross-layer filtering plugin I have a problem performing an 'in' query using ECQL. Basically, I want to prevent an expensive spatial query by filtering on text attributes in layer A. Layer B uses the same text attributes, so I only want to show the features of layer B which match the text attributes that were returned by the query on layer A.
The request is handled without error, but GeoServer does not show any feature. If I use the ECQL filter on layer A it returns the expected subset, so the query should at least result in a collection of attribute values. Does anybody know why the query does not work in my cross-layer filter?
My request looks like:
http://localhost:8080/geoserver/wms?CQL_FILTER=region_code%20in%20(queryCollection('workspace:layer_a',%20'region_code',%20'population%20>%20300000000'))&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&LAYERS=workspace%3Alayer_b&STYLES=&FORMAT=application/openlayers&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS=EPSG%3A4326&BBOX=-241.87498357168,-118.70381912218,241.87498358066,113.32741512241&WIDTH=688&HEIGHT=330
where the CQL_FILTER in decoded form looks like:
region_code in (queryCollection('workspace:layer_a', 'region_code', 'population > 300000000'))
Many thanks for you help!
Cheers,
Jan