WFS查询cql_filter与bbox互斥问题解决方案

在使用OpenLayers进行Geoserver WFS服务查询时,遇到cql_filter和bbox不能同时使用的问题。本文介绍了如何通过ol的filter功能,利用and方法组合属性查询和空间查询,解决互斥问题。重点在于正确构建filter条件,包括图形字段名、geometry对象和坐标系信息,以及注意XML规范中的like查询格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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都指定了但是互斥,说白了就是不让你同时用这两个条件进行查询。

那怎么办呢ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WebGIS小智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值