Function: |
Functionality to define related locations and how to use them in your configuration |
Where to Use? |
Locations, LocationSets, Filters, DisplayGroups, Transformations |
Why to Use? |
To be able to simply relate series of several locations to each other, e.g. water levels to a weir, raingauge to a catchment etc. |
Description: |
Based on the DBF shape file or locations.xml you can easily manage the configuration_ |
Available since: |
Delft-FEWS 201101 |
Contents
Overview
How to be used
Some remarks:
- in timeSeriesSets you always should be sure to use the locationRelationId only if the locationRelationId is defined for all locations in the locationSet. It is not allowed to have an undefined or empty locationRelationId. In that case a configuration error will occur. It is easy to do: add a relatedLocationExists constraint to the locationSet.
- in transformations you can easily connect series from one location to another. If you have for example a weir with two gates, you can defined the upstream and downstream water level gauges as relatedLocations, but you refer to them through each gate.
Examples
LocationSets.xml
<locationSet id="my_locations"> <esriShapeFile> <file>myLocDBF</file> <geoDatum>Rijks Driehoekstelsel</geoDatum> <id>%ID%</id> <name>%NAME%</name> <description>%TYPE%</description> <parentLocationId>%PARENT_ID%</parentLocationId> <x>%X%</x> <y>%Y%</y> <relation id="METEO"> <relatedLocationId>%METEO%</relatedLocationId> </relation> <relation id="H_US"> <relatedLocationId>%H_BOV%</relatedLocationId> </relation> <relation id="H_DS"> <relatedLocationId>%H_BEN%</relatedLocationId> </relation> <attribute id="regio"> <text>%REGIO%</text> </attribute> <attribute id="type"> <text>%TYPE%</text> </attribute> <attribute id="external_id"> <text>%EXT_ID%</text> </attribute> <attribute id="parameter"> <text>%PARAMETER%</text> </attribute> <attribute id="HMAX"> <number>%HMAX%</number> </attribute> <attribute id="HMIN"> <number>%HMIN%</number> </attribute> </esriShapeFile> <constraints> <relatedLocationExists locationRelationId="METEO"/> <relatedLocationExists locationRelationId="H_US"/> <relatedLocationExists locationRelationId="H_DS"/> </constraints> </locationSet>
timeSeriesSets (in Filters, DisplayGroups and Transformations)
<timeSeriesSet> <moduleInstanceId>ImportCAW</moduleInstanceId> <valueType>scalar</valueType> <parameterId>P.meting</parameterId> <locationRelationId>METEO</locationRelationId> <locationSetId>my_locations</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="nonequidistant"/> <readWriteMode>add originals</readWriteMode> <synchLevel>1</synchLevel> </timeSeriesSet>
transformation to compute flows at a weir
<transformation id="compute flows at weirs"> <structure> <generalWeirVariableHeight> <headLevel> <timeSeriesSet> <moduleInstanceId>Import</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.obs</parameterId> <locationRelationId>H_US</locationRelationId> <locationId>weir_gate1</locationId> <locationId>weir_gate2</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour"/> <relativeViewPeriod unit="day" start="-365" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </headLevel> <tailLevel> <timeSeriesSet> <moduleInstanceId>Import</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.obs</parameterId> <locationRelationId>H_DS</locationRelationId> <locationId>weir_gate1</locationId> <locationId>weir_gate2</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour"/> <relativeViewPeriod unit="day" start="-365" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </tailLevel> <height> <timeSeriesSet> <moduleInstanceId>Import</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.obs.crest</parameterId> <locationId>weir_gate1</locationId> <locationId>weir_gate2</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour"/> <relativeViewPeriod unit="day" start="-365" end="0" startOverrulable="true"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> </height> <coefficientSet> <width>1</width> <freeFlowLimitCoefficient>1</freeFlowLimitCoefficient> <freeDischargeCoefficient>1</freeDischargeCoefficient> <drownedDischargeCoefficient>1</drownedDischargeCoefficient> </coefficientSet> <discharge> <timeSeriesSet> <moduleInstanceId>Flows</moduleInstanceId> <valueType>scalar</valueType> <parameterId>Q.calculated</parameterId> <locationId>weir_gate1</locationId> <locationId>weir_gate2</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour"/> <relativeViewPeriod unit="day" start="-365" end="0" startOverrulable="true"/> <readWriteMode>add originals</readWriteMode> <synchLevel>1</synchLevel> </timeSeriesSet> </discharge> </generalWeirVariableHeight> </structure> </transformation>