You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

What

Required

Description

schema location

Filters.xml

yes

Definition of filters in the main map display

http://fews.wldelft.nl/schemas/version1.0/filters.xsd

Filters are used in DELFT-FEWS to define the locations that are displayed on the main map display, and that can be selected to display data. Filters are defined to arrange locations, with associated parameters in logical groups. Each filter is defined as a collection of time series sets.

Filters may be defined as a nested structure, allowing for the definition of a hierarchical set of filters.

When available on the file system, the name of the XML file is for example: Filters 1.00 default.xml


Figure 31 Elements of the filters configuration

It is possible to explicitly define every (child)filter. This may result in to many repeating timeSeriesSet definitions. Therefore it is also possible (since version 2009.02) to define groups of timeSeriesSets that can be used many times in the filter, additionally by using constraints on the location attributes. See also next examples.

description

Optional description of the filter configuration. Used for reference purposes only.

defaultFilterId

Filter that is selected automatically on start up of FEWS. If not defined no filter will be selected.

filter

Definition of a filter. Multiple entries may exist where multiple filters are defined. Each filter may contain either a set of one or more time series set, or a child filter. The child is a reference to another filter definition that again contains either a child filter or a list of time series sets. This structure is used to construct a hierarchal tree view of filters.

Attributes:

  • id: Id of the filter. This ID is used in the tree view in the main display
  • name: optional name for the filter. For reference purposes only.
  • ValidationIconsVisible: This allows the user to make use of the additional validation icons available in the explorer (2009.01)

child

Reference to another filter. The child element refers to the ID of the other filter as a foreign key.

Attributes:

  • foreignKey: Reference to ID of another filter, that is displayed as child filter

timeSeriesSet

Definition of a time series set belonging to a filter. Multiple time series sets may be defined.

The time span defined in the time series sets in the filter has an important function. It determines the time span checked for determining status icons (e.g. missing data) in the main map display.

Not all locations need to be included in a filter. Locations that are not defined, will never be visible to the user.

The readWrite parameter defined in the time series set included in the filter will determine if the time series may be edited by the user. If this parameter is set to read only then the time series will not support editing. This is the case for external time series only. Simulated time series are read only by convention. Notice that editable timeSeriesSets should have synchLevel 5 to get the edits saved into the central database.

Example (time series sets not expanded) 
	<filter id="Config Example">
		<child foreignKey="Nested Filter"/>
	</filter>
	<filter id="Nested Filter">
		<timeSeriesSet/>
	</filter>
	<filter id="Main Level Filter">
		<timeSeriesSet/>
	</filter>


Figure32 Example of filter configuration, as defined in the example XML configuration above.

timeSeriesSetId & constraints
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.

Group by parameter attribute

Since 2016.01 filters can be automatically generated based on different parameter attribute values. 

	<filter id="groupByParameterAttribute">
		<relativeViewPeriod start="-100000" end="0" unit="day"/>
		<parameterConstraints>			
			<idStartsWith prefix=""/>
		</parameterConstraints>
		<groupBy>
			<parameterAttributeId>ATTRIBUTE_1</parameterAttributeId>
		</groupBy>
	</filter>

This will work for multivalued attributes as well

		<attributeFile>
			<csvFile>parameterAttributes.csv</csvFile>
			<parameterId>%ID%</parameterId>
			<attribute id="ATTRIBUTE_1">
				<text>%ATTRIBUTE_1%</text>
			</attribute>
			<attribute id="ATTRIBUTE_2">
				<text>%ATTRIBUTE_2%</text>
			</attribute>
		</attributeFile>
	</parametersCsvFile>

In parameterAttributes.csv below multivalued attributes are defined for some parameters like "BESDWG_%" which has values "E1a" & "E1b" for "ATTRIBUTE_1".

For parameter "BEMSRTJT_m" the attribute "ATTRIBUTE_1" has values "D1" & "E1b".

IDATTRIBUTE_1ATTRIBUTE_2
BEMSDOVZDEA1A2
BEMSRBTE_mB1bB2
BEMSROPVK_m2 C2
Bemonsteringstraject_mD1 
Beschaduwing_%E1aE2a
BREEDTE_m  
CHLFa_ug/l  
BEMSRBTE_mB1a 
Beschaduwing_%E1bE2b
Bemonsteringstraject_mE1b 

When  "ATTRIBUTE_1" is used to generate filters based on its values the next filters are generated: A1, B1a, B1b, E1a, E1b, D1.

When selecting filter "E1a" only parameter "Beschaduwing" will appear because that is the only one with "E1a" as value for "ATTRIBUTE_1"

 

When selecting filter "E1b" both parameters "Beschaduwing_%" & "Bemonsteringstraject_m" will appear because they both have "E1b" in their multivalued "ATTRIBUTE_1":

 

  • No labels