将两个字段与OL3和GeoServer中的OGC过滤器进行比较

时间:2016-08-27 14:19:23

标签: openlayers-3 geoserver

我正在使用Opeonlayers 3.18 + GeoServer。我可以制作一个ogc过滤器来比较字段和值。我如何比较两个字段?
下面的代码显示了我正在寻找的内容:

var f = ol.format.ogc.filter.greaterThan('Field1', 100);  // this works nicely
var f = ol.format.ogc.filter.greaterThan('Field1', 'Field2'); // this doesn't work

等效工作CQL过滤器是:' Field1>字段2'

此致

1 个答案:

答案 0 :(得分:0)

这种过滤应该有效。我注意到许多数据库可能无法以最佳方式执行该过滤器,因此,此类过滤器的处理可能不正确。

要检查的第一件事是GeoServer日志是否有任何其他信息。对于大多数请求,有一些日志消息将提供请求的所有详细信息(包括过滤器)。

如果OL3发出无意义请求,则应首先出现某种解析错误。如果数据存储区遇到请求问题,您可能会看到异常。

为了进一步提供帮助,您使用的是哪个版本的GeoServer和哪个数据存储?此外,日志中还有其他信息吗?

更新:根据以下评论,我查看了Open Layers 3来源。如果你看here,看起来OL3将第一个参数视为properyName而第二个参数视为文字。可能值得填写项目的GitHub页面上的错误/功能请求。