具有超过 2 个过滤器查询的跨层过滤扩展不起作用

Cross-layer filtering extension with more then 2 filter query is not working

我有如下查询

http://localhost:8080/geoserver/wfs/?service=wfs&version=1.1.0&outputFormat=json&request=getfeature&typename=tiger:poly_landmarks,tiger:poi&cql_filter=INTERSECTS(the_geom, querySingle('tiger:poly_landmarks', 'the_geom','LAND=83','CFCC=H11'))

给出了 3 个特征

    {
"type": "FeatureCollection"
"totalFeatures": 3
"features": [3]
0:  {
"type": "Feature"
"id": "poly_landmarks.3"
...More

但是,如果我向 querySingle 添加一个过滤器 'LANAME=East River',如下所示

http://localhost:8080/geoserver/wfs/?service=wfs&version=1.1.0&outputFormat=json&request=getfeature&typename=tiger:poly_landmarks,tiger:poi&cql_filter=INTERSECTS(the_geom, querySingle('tiger:poly_landmarks', 'the_geom','LAND=83','CFCC=H11','LANAME=East River'))

给出错误提示

<ows:ExceptionReport version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://localhost:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>Could not parse CQL filter list. Function not found. Parsing : INTERSECTS(the_geom, querySingle('tiger:poly_landmarks', 'the_geom','LAND=83','CFCC=H11','LANAME=East River')).</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

对于 documentation it seems that querySingle only takes 3 arguments so your way won't work. I suspect (i.e. I haven't tested this in this context) you can construct a more complex CQL filter 使用 AND。所以我会尝试

 querySingle('tiger:poly_landmarks', 'the_geom','LAND=83 AND CFCC=H11 AND LANAME=East River'))