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

Compare with Current View Page History

« Previous Version 24 Next »

Function:

Qualifiers to parameters

Where to Use?

Time series

Why to Use?

To reduce the number of parameters

Description:

Gives a qualifier to a parameter, like "minimum" of "observed"

Available since:

DelftFEWS200803

Contents

Overview

To be able to give additional information to a parameter without creating lots of extra parameters, we introduced the feature of qualifiers. Qualifiers are used to define a unique time series, next to the locationId and parameterId. Examples are series where you want to derive the daily minimum, maximum and mean values of an observed series of water levels. The original series is a regular series with parameterId "H" and no qualifier, where the other series have  the same parameterId "H", but qualifiers like "min", "mean" and "max".

Configuration

Qualifier definition

Qualifiers are defined in the regionConfigFiles directory. When available on the file system, the name of the XML file is for example:

Qualifiers 1.00 default.xml

 An example looks like:

<?xml version="1.0" encoding="UTF-8"?>
<qualifiers xmlns="http://www.wldelft.nl/fews"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/qualifiers.xsd">
  <qualifier id="min" name="min">
    <description>minimum</description>
  </qualifier>
  <qualifier id="max" name="max">
    <description>maximum</description>
  </qualifier>
</qualifiers>

Qualifiers can also be defined by referring to a csv file:

<?xml version="1.0" encoding="UTF-8"?>
<qualifiers xmlns="http://www.wldelft.nl/fews"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/qualifiers.xsd">
	<csvFile>
		<file>vissen_lengteklasse.csv</file>
		<id>%qualifierId%</id>
		<name>%qualifierName%</name>
		<group>Vissen lengteklasse</group>
		<attribute id="ExternalQualifierId">
			<text>LNG_KLAS_%qualifierId%</text>
		</attribute>
	</csvFile>
</qualifiers>

Csv file:

qualifierId;qualifierName
VL-0;klasse 0
VL-1;klasse 1
VL-2;klasse 2
VL-3;klasse 3
VL-4;klasse 4
VLSK-1;klasse 1 (SK)
VLSK-2;klasse 2 (SK)
VLSK-3;klasse 3 (SK)
VLSK-4;klasse 4 (SK)
VLSK-5;klasse 5 (SK)

Time Series

The most useful way is first to read all locations from the DBF into one locationSet, where all attributes are assigned.
See for example:

    <timeSeriesSet>
      <moduleInstanceId>ImportCAW</moduleInstanceId>
      <valueType>scalar</valueType>
      <parameterId>H.meting</parameterId>
      <qualifierId>min</qualifierId>
      <locationSetId>Boezem_Poldergemaal_H.meting</locationSetId>
      <timeSeriesType>external historical</timeSeriesType>
      <timeStep unit="nonequidistant"/>
      <relativeViewPeriod unit="day" start="-6000" end="0"/>
      <readWriteMode>editing visible to all future task runs</readWriteMode>
      <synchLevel>5</synchLevel>
    </timeSeriesSet>

Qualifier Tree

A qualifier tree can also be configured in Qualifiers.xml by defining a qualifierRootNode that contains other qualifier nodes that in their turn can be nested.

For qualifier nodes constraints can be defined to make a selection of which qualifiers it should contain. Qualifiers can match multiple sets of contraints which makes it possible for qualifiers to appear under multiple different nodes at the same time.

For example

  • the qualifier node "Alle taxa" will contain all qualifiers that have the attribute "Qualifier_TAXA".
  • the qualifier node "ALGAE" will contain only qualifiers that have a text attribute "Type" equal to "MACFT" and a text attribute "Groep" equal to "ALGAE"
  • the qualifier node "Macrofyten" does not have constraints itself but will contain only other qualifier nodes that have a constaint on qualifier attribute "Type" to be equal to "MACFT"
	<qualifierRootNode id="Hydrobiologie">
		<qualifierNode id="Taxa">
			<qualifierNode id="Alle taxa">
				<constraints>
					<attributeExists id="Qualifier_TAXA"/>
				</constraints>
			</qualifierNode>
				...
			<qualifierNode id="Macrofyten">
				<qualifierNode id="ALGAE">
					<constraints>
						<attributeTextEquals id="Type" equals="MACFT"/>
						<attributeTextEquals id="Groep" equals="ALGAE"/>
					</constraints>
				</qualifierNode>
				<qualifierNode id="ANGIO">
					<constraints>
						<attributeTextEquals id="Type" equals="MACFT"/>
						<attributeTextEquals id="Groep" equals="ANGIO"/>
					</constraints>
				</qualifierNode>
				<qualifierNode id="SPORO">
					<constraints>
						<attributeTextEquals id="Type" equals="MACFT"/>
						<attributeTextEquals id="Groep" equals="SPORO"/>
					</constraints>
				</qualifierNode>
			</qualifierNode>
				...
	</qualifierRootNode>

Qualifier nodes for which there is no data will not be shown so in a FEWS system with only data for time series with qualifiers that have a "Groep" attribute of "ANGIO", "Type" attribute of "MACFT" and a "Qualifier_TAXA" attribute present the tree configured above would look like:

When using the (right click) context menu in the qualifier tree it is possible to change the labels of the qualifiers by making a selection of the attributes.

A label picker window will pop up where all attributes of the qualifiers can be selected. Multiple can be selected in any order, if a qualifier does not have that attribute defined it is skipped, when multiple a chosen all beyond the first will be surrounded by brackets. The qualifiers will be order alphabetically on their complete label.

  • No labels