Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added rowPerLocationHtmlTable documentation (from 2012.02 release notes)

...

Code Block
xml
xml
		<chart id="Example7" formatId="chartFormat2" width="500" height="306">
			<timeSeries preferredColor="green" lineStyle="solid;thick" axis="right" visibleInLegend="true" label="Gemessen">series1</timeSeries>
			<timeSeries preferredColor="red" lineStyle="solid;thick" axis="right" visibleInLegend="true" label="COSMO2">series2</timeSeries>
			<timeSeries preferredColor="orange" lineStyle="solid;thick" axis="left" visibleInLegend="true" label="COSMO7">series3</timeSeries>
			<timeSeries preferredColor="violet" lineStyle="solid;thick" axis="left" visibleInLegend="true" label="ECMWF">series4</timeSeries>
			<fileName>Example7</fileName>
		</chart>


Threshold line only for timeseries on the left y axis

...

Code Block
xml
xml
		<chart id="Example4" formatId="chartFormat1" width="900" height="300">
			<rightAxis>
				<ratingCurve>
					<ratingCurveId>location1</ratingCurveId>
					<reverse>true</reverse>
				</ratingCurve>
			</rightAxis>
			<timeSeries axis="left" preferredColor="blue" markerStyle="none" lineStyle="solid;thick" label="geen verwachting" visibleInLegend="true">series1</timeSeries>
			<fileName>Example4</fileName>
		</chart>


Threshold line only for timeseries on the left y axis

Code Block
xml
xml
		<chart id="Example8" formatId="chartFormat1" width="900" height="300">
			<rightAxis>
				<ratingCurve>
					<ratingCurveId>location1</ratingCurveId>
					<reverse>true</reverse>
				</ratingCurve>
			</rightAxis>
			<timeSeries axis="both" preferredColor="blue" markerStyle="none" lineStyle="solid;thick" label="geen verwachting" visibleInLegend="true">series1</timeSeries>
			<timeSeries axis="left" preferredColor="black" markerStyle="circle" lineStyle="solid;thick" label="meetwaarde" markerSize="3">series2</timeSeries>
			<fileName>Example8</fileName>
		</chart>


Threshold line only for timeseries on the left y axis

...

  • The overlayFormat is used for positioning location and/or warning icons on the map based on:
  • The map itself (defined in mapFormat);
  • X and Y coordinates of the required locations from the Locations.xml;
  • Note that in case of numbers bigger than 999, it can be that the output may contain unwanted commas, e.g. width 1274 is printed in the reports as 1,274. In order to avoid this, it is recommended to use
    Code Block
    {<position>, number, #}
    instead of
    Code Block
    {<position>, number}
    .
  • Note that when providing a single quote within a snippet of javascript of OverlayFormat in a format field of the report XML configuration and the report appears to be missing this single quote character, this can be fixed by adding the additional escape character in the form of an additional single quote. A more verbose alternative is to put &#39;&#39; or &apos;&apos;'' or ''.

Position

Type

Variable

0

number

Absolute x position of status icon.

1

number

Absolute y position of status icon.

2

string

Image filename.

3

string

Status description.

4

string

Location name.

5 (optional)

string

Html-link for opening a individual html page (forecastlocation.html)

...

The following table types are availabe:
1. table: original table;
2. htmlTable: new style table with same functionality as 'table';
3. thresholdsCrossingsTable: table containing numbers (count) of threshold crossings.
4. maximumStatusTable: table containing (coloured) indicating threshold crossings over time.
5. mergedPrecipitationTable: table containing (merged) precipitation figures in specific time intervals
6. systemStatusTable: table containing system (management) information;
7. rowPerLocationHtmlTable: table with a row per location

Tables 2 to 6 have references to cascading style sheets. Below the different tables are explained.

...

  • id: unique identifier (as reference to this table);
  • tableStyle: a choice of tableStyle which can be influenced by using the corresponding classes in a cascading style sheet. Choices are tableStyle1 to tableStyle10;
  • column: indicates what (of one or more Timeseries) should be shown in the columns (options are: location, time, date, locationcritical, parameter, parameters, choice, allSeries);
  • row: indicates what (of one or more Timeseries) should be shown in the rows (options are: location, time, date, locationcritical, parameter, parameters, choice, allSeries);
  • relativeWholePeriod: definition of a moving period in time to be displayed (in the example above 24 hours before the day containing T0 of the forecast and 24 after the day containing T0 of the forecast (in total 3 days);
  • topLeftText: definition of the text to be displayed in the upper left cell of the table;
  • cellFormat: format of the cell containing the values;
  • topFormat: Format of the column headers: "0,number,0.00" for a number, "0,date,dd/MMM" for a date.
    In combination with <column>location</column>, the topFormat specifies what should be written in the header of the column: "1" for location name, "2" for parameter name, "3" for parameter unit (N.B. use curly brackets in place of the quotation marks).
    In combination with <column>parameters</column> or <column>allSeries</column>, the topFormat element can be used to specify a custom column header for each data column. For a table with one data column just specify the custom column header in the topFormat element. For a table with multiple data columns, specify multiple custom column headers (one for each column), separated by "#" symbols, in the topFormat element. E.g. "header1#header2#header3". To use default headers instead of custom column headers, leave the topFormat element completely empty. If custom column headers are used, then there should be as many custom column headers as data columns in the table, otherwise a warning is logged and default column headers are used instead;
  • leftFormat: format of the most left column;
  • missingValueText: definition of the missing value character. Choices are: " ", "#", "-" or "--";
  • nullValueText: definition of the null value (NAN) indicator. Choices are: " ", "-", "-999", "no data";

...

Code Block
xml
xml
	<schematicStatusDisplayPanelSnapshotsSvg>
		<scadaPanel id="TK" name="Twentekanalen  10 min">
....
		</scadaPanel >
		<width>1024</width>
		<height>800</height>
		<snapshot id="ssd1">
			<relativeTime unit="hour" value="-4"/>
			<fileName>SSD_test4.svg</fileName>
		</snapshot>
		<snapshot id="ssd2">
			<relativeTime unit="hour" value="-3"/>
			<fileName>SSD_test5.svg</fileName>
		</snapshot>
	</schematicStatusDisplayPanelSnapshotsSvg>

rowPerLocationHtmlTable

This table is a generic table type and contains for each configured location one row with several columns. The data displayed in a particular column are result of the function that is configured for that column.
For each column the following elements can be configured:

header : text to display in the column header,
format: format to use for this column. It refers to the styles that are available in the html template file
width: width of the column
function: function that determines/computes the value displayed in the column.

The functions
The existing report functions, that are also used in html-templates, can be configured in the columns.
For example MAXVALUE(variableId; numberFormat) or LASTVALUETIME(variableId; dateFormat).

Furthermore the following functions are available:

1. LOCATIONATTRIBUTE(attribute; <variableId>; <format>)
Argument attribute refers to the location attributes. The attributes differ per region.
The other arguments are optional. For example, use argument 'format' if the attribute is a number. VariableId can be omitted : (area;;numberFormat1)
There are 3 attributes with a fix name: id, name and shortname. These attribute refer always to the location id,name and short name as configured in the locations.xml.
The attributes are not case sensitive.

2. PARAMETERATTRIBUTE(attribute; variableId; <format>)
Argument attribute refers to the parameter attributes. The attributes differ per region.
The argument format is optional. For example, use argument 'format' if the attribute is a number.
There are 4 attributes with a fix name: id, name,shortname and unit. These attributes refer always to the parameter id,name, short name and unit as configured in the parameters.xml.
The attributes are not case sensitive.

3. THRESHOLDCROSSING(key;variableId;<format>);
The argument 'key' specifies which threshold crossing information should be given. Presently the following keys can be used:
FIRST_THRESHOLDNAME: name of the first level threshold that has been crossed
FIRST_VALUE: value of the first crossing
FIRST_DATETIME: date/time of the first crossing
FIRST_DATE: date of the first crossing
FIRST_TIME: time of the first crossing
MAX_THRESHOLDNAME: name of the highest level threshold that has been crossed
MAX_VALUE: value of the maximum crossing
MAX_DATETIME date/time of the maximum crossing
MAX_DATE: date of the maximum crossing
MAX_TIME: time of the maximum crossing

Please note :
If you configure any THRESHOLDCROSSING function in a column, then only the locations with threshold crossing will be printed.
So, if there are no crossings at all, the table is empty.

The rowPerLocationHtmlTable can be configured directly in <report> section, or in the <declarations> section and reffered from the <report> section.

Example of the configuration in <report> section:

Code Block


<report>
	
        <locationSetId>AllLocations</locationSetId>
        
        <rowPerLocationHtmlTable id="tableA" tableStyle="tableStyle3" >

          	            
	    <column>
		<header>Locatie id</header>
		<format>_data</format>
		<function>LOCATIONATTRIBUTE(id)</function>
	    </column>    
         
           <column>
	  	<header>Locatie name</header>
	  	<format>_data</format>
		<width>200</width>
	  	<function>LOCATIONATTRIBUTE(name)</function>
	    </column>
         
            <column>
	 	<header>Eenheid</header>
	 	<format>_data</format>
	 	<function>PARAMETERATTRIBUTE(UNIT;Qobserved)</function>
	    </column>	
	    
            
             <column>
	    	<header>Datum 1e overschreiding</header>
	    	<format>_data</format>
	    	<function>THRESHOLDCROSSING(FIRST_DATE;Qobserved;dateFormatThreshold)</function>
	    </column>	
            
            <column>
	    	<header>Tijdstip 1e overschreiding</header>
	    	<format>_data</format>
	    	<function>THRESHOLDCROSSING(FIRST_TIME;Qobserved;timeFormatThreshold)</function>
	    </column>	
     		        
            <column>
		<header>Waarde 1e overschreiding</header>
		<format>_data</format>
		<function>THRESHOLDCROSSING(FIRST_VALUE;Qobserved;numberFormatThreshold)</function>
	    </column>		            
           
            
             <column>
	    	<header>Datum maximale overschreiding</header>
	    	<format>_data</format>
	    	<function>THRESHOLDCROSSING(MAX_DATE;Qobserved;dateFormatThreshold)</function>
	    </column>	
            
             <column>
	    	<header>Tijdstip maximale overschreiding</header>
	    	<format>_data</format>
	    	<function>THRESHOLDCROSSING(MAX_TIME;Qobserved;timeFormatThreshold)</function>
	    </column>			            

 	   <column>
		<header>Waarde maximale overschreiding</header>
		<format>_data</format>
		<function>THRESHOLDCROSSING(MAX_VALUE;Qobserved;numberFormatThreshold)</function>
	    </column>		            


        </rowPerLocationHtmlTable>

        <template>ReportRowPerLocationTable.html</template>
	
        <outputFileName>tableA.html</outputFileName>
</report>

Example of the configuration in <declarations> section:

Code Block


<declarations>
	  <rowPerLocationHtmlTableFormat id="rowPerLocationFormat1" tableStyle="tableStyle3" >
  	   
  	   <column>
	  	<header>Naam</header>
	  	<format>_data_yellow</format>
		<function>LOCATIONATTRIBUTE(shortname)</function>
	    </column>
	   
	       <column>
	    	<header>Tijd maximale overschrijding</header>
	    	<function>THRESHOLDCROSSING(MAX_DATETIME;Qobserved;dateFormat1)</function>
	     </column>			            
	   
	      
	       <column>
	    	<header>Waarde maximale overschrijding (m3/s)</header>
	    	<function>THRESHOLDCROSSING(MAX_VALUE;Qobserved;numberFormat1)</function>
	     </column>			            

	     <column>
	     	 <header>Tijd maximale waterstand</header>
	         <function>MAXTIME(Hobserved;dateFormat1)</function>
	     </column>
	     
	     <column>
	     	 <header>Maximale waterstand (m)</header>
	         <function>MAXVALUE(Hobserved;numberFormat1)</function>
	     </column>
	     
	  </rowPerLocationHtmlTableFormat>
</declarations>