Dimensions handler¶
The dimensions handler can be used to integrate WMS services with a time dimension. WMS-Time services are registered as a normal WMS data source.
WMS-T are inserted almost like WMS in the layersets, with the exception that the time parameter still has to be activated. If it is not activated, the dimensions of the service are ignored and the default value is used when calling the layer in the map.
If a service supports a time dimension, the instance displays the Dimensions button. By clicking on this button, the supported time parameters are displayed and time values can be activated by clicking the checkbox. Another click on the form shows more customization options. Here you can optionally further restrict the values from the WMS service as follos to set up the service:
Query type: multiple, nearest, current
Name: value TIME (name=time)
Units: format for temporal dimensions (ISO 8601:2000)
Unit symbol: time unit symbol (service-dependent, e.g. (y) for year)
Default: default time
Extent (extent slider): Supported extent for the time dimension
After defining the service itself, Dimensions handler supports the following time variables:
Single time parameter
List of times
Time interval
Controlling time parameters¶
There are two ways to control the time of the WMS. On the one hand, each service with an active time parameter can be controlled via the context menu of the layer in the layertree. In addition, a central slider can be integrated, which can be displayed in any area of the application. The slider can be used to combine several layers with the same extent to control them centrally.
Timeslider as element¶
The layers can also be controlled by the dimensions handler element via a central slider. The dimensions handler can be integrated into the sidepane or in toolbar or footer via a Button. The configuration of the dimensions handler is done in three steps:
Creating the element: First, the element needs to be created. To do that, integrate the Dimensions handler as new element in the Layouts tab of your Mapbender application.
Defining a dimensionsset: Next, define a dimensionsset. You can create a new set in the element via the “+” button. Type in a title for the set and select a Group.
Defining the slider: At last, you can select the layer instances for the dimensionset that you want to control via the slider. Multiselect is supported, but only instances that have the same extent can be combined with each other. In addition, after the first selection of an instance, a slider appears. There you can restrict the extent for the time display.
When an instance is selected, all instances that do not conform to this default are no longer selectable. Finally, save the configuration to add the Dimensions handler element to the Mapbender application.
Configuration¶
Title: Title of the element
Tooltip: Labeling of the element on mouseover
Dimensionsset: Group for display of time extent with a title (Title), layergroup (Group) and time dimension extent (Extent)
The following section lists the YAML definitions for the element and the inclusion in the service and leveltree.
If a dimension is specified in the service, it is displayed in the layer metadata.
Dimension:
name:'time', units:'ISO8601', unitSymbol:'', default:'2018-01', multipleValues:'', nearestValue:'1', current:'', extent:'2014-01/2018-01/P1M'
Element configuration¶
target: ~ # ID of the map element
dimensionsets:
title: Time
group:
dimension: # Dimension specification as in the layer configuration
origextent: 2014-01/2018-01/P1M
active: null
type: interval
name: time
units: ISO8601
unitSymbol: null
default: 2017-11
multipleValues: true
nearestValue: true
current: true
extent: 2014-01/2017-11/P1M
Layer configuration¶
dimension: # Dimension specification in layer configuration
- name: time
units: ISO8601
unitSymbol: null
default: 2018-01
multipleValues: false
nearestValue: true
current: false
extent: 2014-01/2018-01/P1M
Layertree configuration¶
title: Layertree
class: Mapbender\CoreBundle\Element\Layertree
configuration:
[...]
menu:
- [...]
- dimension