...
Instead of an extensive definition of all possible time series that usually will be repeated for different types of locations and various districts, it is possible to define the timeSeriesSets once and to use it various times through all filters. At this point you refer to such a timeSeriesSets and optionally add some constraints on the location attributes. Notice that location attributes only can be defined in the locationSets for locations that are read from an ArcGIS shape DBF file. See the example below.
It is possible to define filters that may become empty: no locations comply with the constraints. These filters are not displayed. An advantage of this approach is that all possible filters can be defined once and automatically become visible when a location complies to the constraints.
Dynamic filter without without TimeSeriesSets
Without time series sets the filter only contains time series that are available in the database. For every filter FEWS walks through all the time series available in the database. When a time series is deleted it is removed from the filter on the next compact index files, this happens on a live system at least once a day.
The following filter includes all time series with module instance ImportFC.
Code Block | ||||
---|---|---|---|---|
| ||||
<filter id="dynamic">
<timeSeries>
<moduleInstanceId>ImportFC</moduleInstanceId>
</timeSeries>
<relativeViewPeriod start="-10" end="0" unit="day"/>
</filter> |
GroupBy
parameter attribute
...
ID | ATTRIBUTE_1 | ATTRIBUTE_2 | ||
BEMSDOVZDE | A1 | A2 | ||
BEMSRBTE_m | B1b | B2 | ||
BEMSROPVK_m2 | C2 | |||
Bemonsteringstraject_m | D1 | |||
Beschaduwing_% | E1a | E2a | ||
BREEDTE_m | ||||
CHLFa_ug/l | ||||
BEMSRBTE_m | B1a | |||
Beschaduwing_% | E1b | E2b | ||
Bemonsteringstraject_m | E1b |
When "ATTRIBUTE_1" is used to generate filters based on its values the next filters are generated: A1, B1a, B1b, E1a, E1b, D1.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<filter id="GEBGEM_OPVL_PLGB_BEMALINGSGEBIED_DE_KEULEVAART" name="Peilbesluit bemalingsgebied De Keulevaart"> <mapExtentId>HDSR</mapExtentId> <timeSeriesSetsId>GEBGEM_OPVLWATER_PEILGEBIEDEN</timeSeriesSetsId> <locationConstraints> <attributeTextEquals id="PEILBESLUIT" equals="bemalingsgebied De Keulevaart"/> </locationConstraints> <additionalTimeSeries name="*O*"> <locationFunctionEquals selected="@LOC_ID@" additional="@PEILGEBIED_ATT@"/> <timeSeriesSet> <moduleInstanceId>ImportOpvlWater</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.G.0</parameterId> <locationSetId>OPVLWATER_WATERSTANDEN</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="nonequidistant"/> <relativeViewPeriod unit="day" start="-40" end="0" startOverrulable="false" endOverrulable="false"/> <readWriteMode>editing visible to all future task runs</readWriteMode> <synchLevel>1</synchLevel> <ensembleId>main</ensembleId> <ensembleMemberIndex>0</ensembleMemberIndex> </timeSeriesSet> </additionalTimeSeries> <additionalTimeSeries name="**O**"> <locationFunctionEquals selected="@LOC_ID@" additional="@PEILGEBIED_ATT@"/> <timeSeriesSet> <moduleInstanceId>ImportOpvlWater</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.G.d</parameterId> <locationSetId>OPVLWATER_WATERSTANDEN</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="day" timeZone="GMT+1"/> <relativeViewPeriod unit="day" start="-40" end="0"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </additionalTimeSeries> </filter> |