WMS 按日期筛选

WMS filter by Date

我有一个从 Geoserver 获取的 WMS 图层。该图层公开了一个日期 属性,该日期作为 Date 类型存储在数据库中。我想按日期范围过滤图层。例如:cql_filter=date>2015-07-01T00:00:00.000Z.

我很难让它工作并且无法找到任何工作示例。

有人有有效的 CQL 日期范围示例吗?或筛选日期范围示例?

谢谢,

内森

这个link有一些例子。

Intro to CQL

我对 CQL 运行 感兴趣的一件事是区分大小写和字段命名。在您的示例中,您将 date 引用为一个字段。也许 date 是一个保留字?尝试提高您在地理服务器中的登录并检查错误或查看生成的 SQL 。仔细检查图层定义中的字段名称。

我的问题要求提供一些工作示例,Jason 的回答仅提供了这些示例。

下面是一些使用传单按日期过滤 WMS 的工作示例。

CQL 示例

var layer = L.tileLayer.wms('http://myWMSUrl', {
  layers: 'namespace:layer',
  format: 'image/png',
  transparent: true,
  version: '1.1.1',
  cql_filter: 'date AFTER 2015-07-01T00:00:00Z AND date BEFORE 2015-07-01T00:00:00Z'
});

一个过滤器XML例子

var layer = L.tileLayer.wms('http://myWMSUrl', {
  layers: 'namespace:layer',
  format: 'image/png',
  transparent: true,
  version: '1.1.1',
  filter: '<PropertyIsGreaterThan><PropertyName>date</PropertyName><Function name="dateParse"><Literal>yyyy-MM-dd</Literal><Literal>2015-07-01</Literal><Function></PropertyIsGreaterThan>'
});