我从Geoserver获得了WMS图层。该层公开了一个日期属性,该属性作为Date类型存储在数据库中。我想按日期范围过滤图层。例如:cql_filter = date> 2015-07-01T00:00:00.000Z。
我很难让这个工作起来,而且找不到任何有用的例子。
是否有人有一个有效的CQL日期范围示例?或过滤日期范围示例?
谢谢,
内森答案 0 :(得分:1)
此链接有一些示例。
我在CQL中遇到的一件事是区分大小写和字段命名。在您的示例中,您将date
作为字段引用。也许date
是保留字?尝试提高您在geoserver中的日志记录并检查错误或查看生成的SQL。仔细检查图层定义中的字段名称。
答案 1 :(得分:1)
我的问题要求提供一些有用的例子,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>'
});