地理服务器WMS中的时间支持

geoserver支持 TIME 对于正确配置了时间维度的层,getmap请求中的属性。这用于指定渲染的时间子集。

例如,您可能有一个数据集,其中包含随时间收集的天气观测,并选择绘制一天的观测值。

要在其中使用的属性 TIME 可以通过地理服务器Web界面通过导航到 Layers -> [specific layer] -> Dimensions tab .

指定时间

用于在WMS时间参数中指定时间的格式基于 ISO-8601 .指定的时间精度可以达到1毫秒;geoserver不表示比此精度更高的时间查询。

参数为:

TIME=<timestring>

时间遵循一般格式:

yyyy-MM-ddThh:mm:ss.SSSZ

在哪里?

  • yyyy :4位数年份

  • MM :2位月

  • dd :2位数的一天

  • hh :2位数小时

  • mm :2位数分钟

  • ss :2位秒

  • SSS :3位毫秒

日值和日内值用大写字母分隔 T 整件事的后缀是 Z ,指示 UTC 对于时区。(WMS规范未规定其他时区。)

geoserver将应用 TIME 中所有临时启用的层的值 LAYERS GetMap请求的参数。没有时间组件的层将被正常服务,允许客户机包括参考信息,如政治边界和时间数据。

描述

时间规范

2001年12月12日下午6:00

2001-12-12T18:00:00.0Z

1993年5月5日下午11:34

1993-05-05T11:34:00.0Z

指定绝对间隔

客户机可以通过指定开始时间和结束时间(用一个 / 性格。

在这个场景中,开始和结束是 包容的 ;也就是说,来自指定范围的端点的样本将包含在渲染图块中。

描述

时间规范

2002年9月

2002-09-01T00:00:00.0Z/2002-09-30T23:59:59.999Z

2010年12月25日

2010-12-25T00:00:00.0Z/2010-12-25T23:59:59.999Z

指定相对间隔

客户机可以通过指定具有相关持续时间的开始或结束时间(由 / 性格。

间隔的一端必须是时间值,但另一端可以是ISO 8601标准定义的持续时间值。特殊关键字 PRESENT 可用于指定相对于当前服务器时间的时间。

描述

时间规范

2002年9月

2002-09-01T00:00:00.0Z/P1M

2010年12月25日

2010-12-25T00:00:00.0Z/P1D

2010年12月25日前一整天

P1D/2010-12-25T00:00:00.0Z

当前时间前36小时

PT36H/PRESENT

备注

最后一个示例可以与kml服务配对,以提供 谷歌地球 网络链接,它总是用最近36小时的数据进行更新。

减少精度时间

WMS规范还允许通过省略一些时间字符串来截断时间规范。在这种情况下,geoserver将时间视为长度等于 指定的最精确单位 在时间字符串中。

例如,如果时间规范省略了除“年”之外的所有字段,那么它将标识一个从该年年初开始为期一年的范围。

备注

geoserver通过添加适当的单位,然后减去1毫秒来实现这一点。当使用与数据实际采样频率一致的间隔时,这避免了令人惊讶的结果-例如,如果年度数据与2001-01-01T00:00:00.0Z、2002-01-01T00:00:00Z等日期一起本地存储,则2001年的请求将包括2001年和20年的样本。02,这是不需要的。

描述

缩短精度时间

等效范围

2002年9月

2002-09

2002-09-01T00:00:00.0Z/2002-09-30T23:59:59.999Z

2010年12月25日

2010-12-25

2010-12-25T00:00:00.0Z/2010-12-25T23:59:59.999Z

减少精度时间和范围

在指定范围时,也允许减少精度时间。在这种情况下,geoserver有效地扩展了上面描述的开始和结束时间,然后包括开始间隔开始之后和结束间隔结束之前的所有样本。

备注

同样,范围也是包含的。

描述

缩短精度时间

等效范围

2002年9月至12月

2002-09/2002-12

2002-09-01T00:00:00.0Z/2002-12-31T23:59:59.999Z

2010年12月25日下午12点至6点

2010-12-25T12/2010-12-25T18

2010-12-25T12:00:00.0Z/2010-12-25T18:59:59.999Z

备注

在上一个示例中,请注意,结果可能不直观,因为它包括从下午6点到下午6:59的所有时间。

指定时间列表

Geoserver还可以接受离散时间值列表。这对于某些应用程序很有用,例如动画,在这些应用程序中,一次等于一帧。

列表的元素用逗号分隔。

备注

geoserver目前不支持范围列表,因此所有列表查询的有效分辨率为1毫秒。如果在指定范围时使用低精度表示法,则每个范围都将自动转换为范围开始时的即时值。

如果列表间距均匀(例如,每天或每小时采样),则可以使用斜线分隔的开始时间、结束时间和期间,将列表指定为一个范围。

描述

列表符号

等效范围表示法

2012年8月12日至14日每天中午

TIME=2012-08-12T12:00:00.0Z,2012-08-13T12:00:00.0Z,2012-08-14T12:00:00.0Z

TIME=2012-08-12T12:00:00.0Z/2012-08-18:T12:00:00.0Z/P1D

1999年9月1日、10月1日和11月1日午夜

TIME=1999-09-01T00:00:00.0Z,1999-10-01T00:00:00.0Z,1999-11-01T00:00:00.0Z

TIME=1999-09-01T00:00:00.0Z/1999-11-01T00:00:00.0Z/P1M

指定周期性

周期性也以ISO-8601格式规定:大写P后跟一个或多个间隔长度,每个间隔长度由一个数字和一个字母组成,用于标识时间单位:

单位

缩写

Y

M

D

小时

H

分钟

M

S

值的年/月/日组必须与小时/分钟/秒组分隔 T 性格。如果省略小时、分钟和秒,则T本身可以省略。此外,可以完全忽略包含0的字段。

允许使用分数值,但仅限于包含的最具体值。

备注

期间必须平均划分为由开始/结束时间定义的间隔。因此,如果开始/结束时间表示12小时,则允许1小时,但5小时不会。

例如,下面列出的多个表示都是等效的。

  • 一小时:

    P0Y0M0DT1H0M0S
    
    PT1H0M0S
    
    PT1H
    
  • 90分钟:

    P0Y0M0DT1H30M0S
    
    PT1H30M
    
    P90M
    
  • 18个月:

    P1Y6M0DT0H0M0S
    
    P1Y6M0D
    
    P0Y18M0DT0H0M0S
    
    P18M
    

    备注

    P1.25Y3M 这是不可接受的,因为分数值只在给出的最具体的值中被允许,在这种情况下是几个月。

Previous: WMS参考