在使用Openlayers进行geoserver发布的WFS服务进行查询的时候我们会遇到这样一个需求,就是我们需要属性查询结合空间查询,双重查询条件进行结果过滤。
就比如,我想查出全国经纬度范围在[102.25454,25.5654654,122.356546,38.45545]内的并且名字中含有“西”字的省份,可能一般的同学会写一个cql_filter:name+like+'西',再加一个bbox属性:
bbox=102.25454,25.5654654,122.356546,38.45545
最后的请求url可能是:
http://localhost:8080/geoserver/ows?service=wfs&version=1.1.0&cql_filter=name+like+'%西%'&bbox=102.25454,25.5654654,122.356546,38.45545
请求之后服务端返回给你一个异常:
bbox and cql_filter both specified but are mutually exclusive
意思是cql_filter和bbox都指定了但是互斥,说白了就是不让你同时用这两个条件进行查询。
那怎么办呢ÿ