Mercurial > dive4elements > river
diff flys-artifacts/doc/conf/meta-data.xml @ 3938:c0cab28ba1ea
merged flys-artifacts
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:15:03 +0200 |
parents | 608e127fc0f5 |
children | f68d6dcaea94 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/meta-data.xml Fri Sep 28 12:15:03 2012 +0200 @@ -0,0 +1,1902 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<dc:template xmlns:dc="http://www.intevation.org/2011/Datacage"> +<datacage> + <dc:macro name="load-system"> + <dc:context connection="system"> + <dc:statement> + SELECT id AS river_id, name as river_name FROM rivers + WHERE lower(name) LIKE lower(${river}) + </dc:statement> + <dc:elements> + <dc:comment> + Base-data macros (mostly data imported from wst-files) + </dc:comment> + <dc:macro name="basedata_0"> + <dc:comment comment=" BASEDATA ---------------------------"/> + <basedata> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 0 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <basedata> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </basedata> + </dc:elements> + </dc:context> + </basedata> + </dc:macro> + <dc:macro name="basedata_0_wq"> + <dc:comment comment=" BASEDATA ---------------------------"/> + <basedata> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 0 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <basedata> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </basedata> + </dc:elements> + </dc:context> + </basedata> + </dc:macro> + + <dc:macro name="basedata_1_additionals"> + <dc:comment comment=".ZUS -------------------------------"/> + <additionals> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 1 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <additional> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </additional> + </dc:elements> + </dc:context> + </additionals> + </dc:macro> + + <dc:macro name="basedata_1_additionals-relative_point"> + <dc:comment comment=".ZUS -------------------------------"/> + <additionals> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 1 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <relativepoint> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </relativepoint> + </dc:elements> + </dc:context> + </additionals> + </dc:macro> + + <dc:macro name="basedata_2_fixations_wst"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <!--dc:attribute name="ids" value="fixations-wstv-A-${prot_id}"/--> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_2_fixations_wqkms"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + desciption AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_2_fixations"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_2_fixations_relative_point"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <relativepoint> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </relativepoint> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_3_officials"> + <dc:comment comment=".wst -------------------------------"/> + <officiallines> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 3 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <official> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </official> + </dc:elements> + </dc:context> + </officiallines> + </dc:macro> + + <dc:macro name="basedata_4_heightmarks-points-relative_points"> + <heightmarks> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 4 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <relativepoint> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="heightmarks_points-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </relativepoint> + </dc:elements> + </dc:context> + </heightmarks> + </dc:macro> + + <dc:macro name="basedata_4_heightmarks-points"> + <heightmarks> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 4 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <heightmark> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="heightmarks_points-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </heightmark> + </dc:elements> + </dc:context> + </heightmarks> + </dc:macro> + + <dc:macro name="basedata_4_heightmarks-wq"> + <heightmarks> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 4 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <heightmark> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="heightmarks_annotations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </heightmark> + </dc:elements> + </dc:context> + </heightmarks> + </dc:macro> + + <dc:macro name="basedata_5_flood-protections_relative_points"> + <flood_protections> + <dc:attribute name="id" value="flood-protections-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 5 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <relativepoint> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="db-id" value="${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <columns> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="flood_protection-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <dc:attribute name="info" value="${info}"/> + </column> + </dc:elements> + </dc:context> + </columns> + </relativepoint> + </dc:elements> + </dc:context> + </flood_protections> + </dc:macro> + + <dc:macro name="basedata_5_flood-protections"> + <flood_protections> + <dc:attribute name="id" value="flood-protections-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 5 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <flood_protection> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="db-id" value="${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <columns> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="flood_protection-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </columns> + </flood_protection> + </dc:elements> + </dc:context> + </flood_protections> + </dc:macro> + + <dc:macro name="mainvalues"> + <mainvalue> + <dc:attribute name="factory" value="mainvalue"/> + <dc:attribute name="ids" value="${river_id}"/> + </mainvalue> + </dc:macro> + + <dc:macro name="qsectors"> + <qsector> + <dc:attribute name="factory" value="qsectors"/> + <dc:attribute name="ids" value="${river_id}"/> + </qsector> + </dc:macro> + + <dc:macro name="annotations"> + <annotation> + <dc:attribute name="factory" value="annotations"/> + <dc:attribute name="ids" value="${river_id}"/> + </annotation> + </dc:macro> + + <dc:macro name="cross_sections"> + <cross_sections> + <dc:attribute name="id" value="flood-protections-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM cross_sections WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <cross_section> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="ids" value="${prot_id}"/> + <dc:attribute name="factory" value="crosssections"/> + </cross_section> + </dc:elements> + </dc:context> + </cross_sections> + </dc:macro> + + <dc:macro name="hyks"> + <hyks> + <dc:attribute name="id" value="hyk-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS hyk_id, + description AS hyk_description + FROM hyks WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <hyk> + <dc:attribute name="name" value="${hyk_description}"/> + <dc:attribute name="ids" value="${hyk_id}"/> + <dc:attribute name="factory" value="hyk"/> + </hyk> + </dc:elements> + </dc:context> + </hyks> + </dc:macro> + + <dc:comment> + + + River-Node + + </dc:comment> + + <river> + <dc:attribute name="name" value="${river_name}"/> + + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + <dc:comment> + Recommendations (client shall load immediately). + </dc:comment> + <dc:if test="dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section'))"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'cross_section')"> + <dc:call-macro name="cross_sections"/> + <dc:call-macro name="hyks"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'reference_curve')"> + <dc:call-macro name="annotations"/> + <dc:call-macro name="mainvalues"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')"> + <dc:call-macro name="qsectors"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'bed_difference_epoch')"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'bed_difference_year')"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'bed_difference_height_year')"> + <dc:call-macro name="annotations"/> + </dc:if> + </dc:when> + <dc:otherwise> + <dc:comment> + Non - Recommendations. + </dc:comment> + <dc:if test="dc:contains($artifact-outs, 'cross_section')"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:call-macro name="basedata_2_fixations"/> + <dc:call-macro name="basedata_3_officials"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <dc:call-macro name="cross_sections"/> + <dc:call-macro name="hyks"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'discharge_longitudinal_section')"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:call-macro name="basedata_2_fixations"/> + <dc:call-macro name="basedata_3_officials"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <dc:call-macro name="basedata_5_flood-protections"/> + </dc:if> + <!--dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"> + <dc:call-macro name="basedata_0_wq"/> + <dc:call-macro name="basedata_4_heightmarks-wq"/> + </dc:if--> + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences'))"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:comment comment=" FIXATIONS ---------------------------"/> + <dc:call-macro name="basedata_2_fixations"/> + <dc:comment comment=" HOEHENMARKEN ---------------------------"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <dc:comment comment=" AMTL LINIEN ---------------------------"/> + <dc:call-macro name="basedata_3_officials"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'reference_curve')"> + <dc:call-macro name="annotations"/> + <!--dc:call-macro name="basedata_0"/--> + <dc:call-macro name="basedata_1_additionals-relative_point"/> + <dc:comment comment=" FIXATIONS ---------------------------"/> + <dc:call-macro name="basedata_2_fixations_relative_point"/> + <dc:comment comment=" HOEHENMARKEN ---------------------------"/> + <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/> + <dc:call-macro name="basedata_5_flood-protections_relative_points"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')"> + <dc:call-macro name="basedata_0_wq"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:call-macro name="basedata_2_fixations"/> + <dc:call-macro name="basedata_3_officials"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <dc:call-macro name="basedata_5_flood-protections_relative_points"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'fix_deltawt_curve')"> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:comment comment="--- non-recommendations---"/> + </dc:otherwise> + </dc:choose> + + + <dc:if test="dc:contains($artifact-outs, 'waterlevels')"> + + <!-- base data --> + <dc:call-macro name="basedata_0"/> + + <!-- extra-longitudinal-sections --> + <dc:call-macro name="basedata_1_additionals"/> + + <!-- fixations --> + <dc:call-macro name="basedata_2_fixations"/> + + <!-- flood water marks--> + <dc:call-macro name="basedata_4_heightmarks-points"/> + + <!-- flood protection --> + <dc:call-macro name="basedata_5_flood-protections"/> + + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and (dc:contains($parameters, 'recommended'))"> + <!--dc:call-macro name="basedata_2_fixations_wst"/--> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and not (dc:contains($parameters, 'recommended'))"> + <discharge_table_nn> + <discharge_table_gauge> + <dc:context> + <dc:statement> + SELECT id AS gauge_id, + name AS gauge_name + FROM gauges WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <gauge> + <dc:attribute name="name" value="${gauge_name}"/> + <dc:attribute name="db-id" value="${gauge_id}"/> + <dc:attribute name="factory" value="gaugedischarge"/> + <dc:attribute name="from" value="${g_start}"/> + <dc:attribute name="to" value="${g_stop}"/> + <dc:attribute name="ids" value="${gauge_name}"/> + </gauge> + <!-- + <gauge> + <dc:attribute name="name" value="${gauge_name}"/> + <dc:attribute name="db-id" value="${gauge_id}"/> + <dc:context> + <dc:statement> + SELECT description AS gauge_desc, + d.id AS discharge_id, + ti.start_time AS g_start, + ti.stop_time AS g_stop + FROM discharge_tables d JOIN time_intervals ti + ON d.time_interval_id = ti.id + WHERE d.gauge_id = ${gauge_id} AND d.kind = 1 + </dc:statement> + <dc:elements> + <historical> + <dc:attribute name="name" value="${gauge_desc}"/> + <dc:attribute name="factory" value="gaugedischarge"/> + <dc:attribute name="from" value="${g_start}"/> + <dc:attribute name="to" value="${g_stop}"/> + <dc:attribute name="ids" value="${discharge_id}-${g_start}-${g_stop}"/> + </historical> + </dc:elements> + </dc:context> + </gauge> + --> + </dc:elements> + </dc:context> + </discharge_table_gauge> + + </discharge_table_nn> + + <dc:call-macro name="basedata_2_fixations_wst"/> + + <dc:call-macro name="basedata_5_flood-protections"/> + + <!-- former waterlevels --> + <dc:call-macro name="basedata_0"/> + + <dc:call-macro name="basedata_1_additionals"/> + + <!-- former flood-water-marks --> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <computed_discharge_curve> + <dc:call-macro name="mainvalues"/> + </computed_discharge_curve> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'duration_curve')"> + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + <dc:call-macro name="mainvalues"/> + </dc:when> + <dc:otherwise> + <dc:call-macro name="mainvalues"/> + <dc:call-macro name="basedata_2_fixations_relative_point"/> + <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/> + <dc:call-macro name="basedata_5_flood-protections_relative_points"/> + </dc:otherwise> + </dc:choose> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve') and not (dc:contains($parameters, 'recommended'))"> + <discharge_table_nn> + <discharge_table_gauge> + <dc:context> + <dc:statement> + SELECT id AS gauge_id, + name AS gauge_name + FROM gauges WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <gauge> + <dc:attribute name="name" value="${gauge_name}"/> + <dc:attribute name="db-id" value="${gauge_id}"/> + <dc:attribute name="factory" value="gaugedischarge"/> + <dc:attribute name="from" value="${g_start}"/> + <dc:attribute name="to" value="${g_stop}"/> + <dc:attribute name="ids" value="${gauge_name}"/> + </gauge> + </dc:elements> + </dc:context> + </discharge_table_gauge> + </discharge_table_nn> + </dc:if> + + Â Â Â Â Â <dc:if test="dc:contains($artifact-outs, 'longitudinal_section')"> + + Â Â Â Â Â Â Â <longitudinal_section> + Â Â Â Â Â Â Â Â <dc:call-macro name="annotations"/> + Â Â Â Â Â Â Â </longitudinal_section> + Â Â Â Â Â </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'map')"> + <map> + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + </dc:when> + <dc:otherwise> + <dc:call-macro name="flood-map-complete"/> + </dc:otherwise> + </dc:choose> + </map> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'floodmap')"> + <floodmap> + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + <dc:call-macro name="flood-map-recommended"/> + </dc:when> + <dc:when test="dc:contains($parameters, 'dem')"> + <dc:call-macro name="flood-map-dem"/> + </dc:when> + <dc:otherwise> + <dc:call-macro name="flood-map-complete"/> + </dc:otherwise> + </dc:choose> + </floodmap> + <dc:macro name="flood-map-recommended"> + <dc:comment> + FIXME: Following two macros look identical to me. + </dc:comment> + <kilometrage> + <riveraxis> + <dc:attribute name="factory" value="riveraxis"/> + <dc:attribute name="ids" value="${river_id}"/> + </riveraxis> + </kilometrage> + <rastermap> + <background> + <dc:attribute name="factory" value="wmsbackground"/> + <dc:attribute name="ids" value="${river_id}"/> + </background> + </rastermap> + </dc:macro> + <dc:macro name="flood-map-dem"> + <dems> + <dc:context> + <dc:statement> + SELECT id AS dem_id, + lower AS dem_lower, + upper AS dem_upper, + name AS name, + projection || ' | ' || year_from || ' - ' || year_to AS info + FROM dem WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dem> + <dc:attribute name="factory" value="demfactory"/> + <dc:attribute name="ids" value="${dem_id}"/> + <dc:attribute name="name" value="${name}"/> + <dc:attribute name="info" value="${info}"/> + </dem> + </dc:elements> + </dc:context> + </dems> + </dc:macro> + <dc:macro name="flood-map-km"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM river_axes_km WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <km> + <dc:attribute name="factory" value="wmskmfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </km> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-qps"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM cross_section_tracks WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <qps> + <dc:attribute name="factory" value="wmsqpsfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </qps> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-hws"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM hws WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hws> + <dc:attribute name="factory" value="wmshwsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </hws> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-hydr-boundaries"> + <hydr_boundaries_lines> + <dc:call-macro name="flood-map-hydr-boundaries-lines"/> + </hydr_boundaries_lines> + <hydr_boundaries_polygons> + <dc:call-macro name="flood-map-hydr-boundaries-poly"/> + </hydr_boundaries_polygons> + </dc:macro> + <dc:macro name="flood-map-hydr-boundaries-lines"> + <bfg> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM hydr_boundaries WHERE river_id = ${river_id} AND kind = 1 GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hydrboundary> + <dc:attribute name="factory" value="wmshydrboundariesfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </hydrboundary> + </dc:if> + </dc:elements> + </dc:context> + </bfg> + <land> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM hydr_boundaries WHERE river_id = ${river_id} AND kind = 2 GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hydrboundary> + <dc:attribute name="factory" value="wmshydrboundariesfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </hydrboundary> + </dc:if> + </dc:elements> + </dc:context> + </land> + </dc:macro> + <dc:macro name="flood-map-hydr-boundaries-poly"> + <bfg> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM hydr_boundaries_poly WHERE river_id = ${river_id} AND kind = 1 GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hws> + <dc:attribute name="factory" value="wmshydrboundariespolyfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </hws> + </dc:if> + </dc:elements> + </dc:context> + </bfg> + <land> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM hydr_boundaries_poly WHERE river_id = ${river_id} AND kind = 2 GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hws> + <dc:attribute name="factory" value="wmshydrboundariespolyfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </hws> + </dc:if> + </dc:elements> + </dc:context> + </land> + </dc:macro> + <dc:macro name="flood-map-catchments"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM catchment WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <catchment> + <dc:attribute name="factory" value="wmscatchmentfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </catchment> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-floodplain"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM floodplain WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <floodplain> + <dc:attribute name="factory" value="wmsfloodplainfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </floodplain> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-lines"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM lines WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <line> + <dc:attribute name="factory" value="wmslinefactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </line> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-buildings"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM buildings WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <building> + <dc:attribute name="factory" value="wmsbuildingsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </building> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-fixpoints"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM fixpoints WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <fixpoint> + <dc:attribute name="factory" value="wmsfixpointsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </fixpoint> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-gaugelocations"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists, name as name + FROM gauge_location WHERE river_id = ${river_id} GROUP BY name + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <gaugelocation> + <dc:attribute name="factory" value="wmsgaugelocationfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </gaugelocation> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-uesk"> + <uesk> + <calculations> + <current> + <bfg> + <dc:context> + <dc:statement> + SELECT count(*) as uesg_exist, name as name + FROM floodmaps + WHERE river_id = ${river_id} AND kind = 111 + GROUP BY name, kind + </dc:statement> + <dc:elements> + <dc:if test="$uesg_exist>0"> + <floodmaps> + <dc:attribute name="factory" value="wmsfloodmapsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </floodmaps> + </dc:if> + </dc:elements> + </dc:context> + </bfg> + <land> + <dc:context> + <dc:statement> + SELECT count(*) as uesg_exist, name as name + FROM floodmaps + WHERE river_id = ${river_id} AND kind = 112 + GROUP BY name, kind + </dc:statement> + <dc:elements> + <dc:if test="$uesg_exist>0"> + <floodmaps> + <dc:attribute name="factory" value="wmsfloodmapsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </floodmaps> + </dc:if> + </dc:elements> + </dc:context> + </land> + </current> + <potentiel> + <bfg> + <dc:context> + <dc:statement> + SELECT count(*) as uesg_exist, name as name + FROM floodmaps + WHERE river_id = ${river_id} AND kind = 121 + GROUP BY name, kind + </dc:statement> + <dc:elements> + <dc:if test="$uesg_exist>0"> + <floodmaps> + <dc:attribute name="factory" value="wmsfloodmapsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </floodmaps> + </dc:if> + </dc:elements> + </dc:context> + </bfg> + <land> + <dc:context> + <dc:statement> + SELECT count(*) as uesg_exist, name as name + FROM floodmaps + WHERE river_id = ${river_id} AND kind = 122 + GROUP BY name, kind + </dc:statement> + <dc:elements> + <dc:if test="$uesg_exist>0"> + <floodmaps> + <dc:attribute name="factory" value="wmsfloodmapsfactory"/> + <dc:attribute name="ids" value="${river_id};${name}"/> + <dc:attribute name="name" value="${name}"/> + </floodmaps> + </dc:if> + </dc:elements> + </dc:context> + </land> + </potentiel> + </calculations> + </uesk> + </dc:macro> + <dc:macro name="flood-map-complete"> + <buildings> + <dc:call-macro name="flood-map-buildings"/> + </buildings> + <catchments> + <dc:call-macro name="flood-map-catchments"/> + </catchments> + <fixpoints> + <dc:call-macro name="flood-map-fixpoints"/> + </fixpoints> + <hws> + <dc:call-macro name="flood-map-hws"/> + </hws> + <hydrboundaries> + <dc:call-macro name="flood-map-hydr-boundaries"/> + <dc:call-macro name="flood-map-floodplain"/> + </hydrboundaries> + <kilometrage> + <riveraxis> + <dc:attribute name="factory" value="riveraxis"/> + <dc:attribute name="ids" value="${river_id}"/> + </riveraxis> + <dc:call-macro name="flood-map-km"/> + <dc:call-macro name="flood-map-qps"/> + </kilometrage> + <lines> + <dc:call-macro name="flood-map-lines"/> + </lines> + <dc:call-macro name="flood-map-uesk"/> + <gaugelocations> + <dc:call-macro name="flood-map-gaugelocations"/> + </gaugelocations> + <rastermap> + <background> + <dc:attribute name="factory" value="wmsbackground"/> + <dc:attribute name="ids" value="${river_id}"/> + </background> + </rastermap> + </dc:macro> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'minfo-heights')"> + <dc:call-macro name="minfo-heights"/> + <dc:macro name="minfo-heights"> + <bedheights> + <dc:call-macro name="bed-heights-single"/> + <dc:call-macro name="bed-heights-epoch"/> + </bedheights> + </dc:macro> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'minfo-heights-epoch')"> + <bedheights> + <dc:call-macro name="bed-heights-epoch"/> + </bedheights> + </dc:if> + <dc:macro name="bed-heights-single"> + <single> + <dc:context> + <dc:statement> + SELECT id AS bedh_id, + year AS bedh_year, + description AS bedh_descr + FROM bed_height_single WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <height> + <dc:attribute name="factory" value="bedheight"/> + <dc:attribute name="ids" value="bedheight-single-${bedh_id}-${bedh_year}"/> + <dc:attribute name="description" value="${bedh_descr}"/> + </height> + </dc:elements> + </dc:context> + </single> + </dc:macro> + <dc:macro name="bed-heights-epoch"> + <epoch> + <dc:context> + <dc:statement> + SELECT id AS bedh_id, + time_interval_id AS bedh_interval_id, + description AS bedh_descr + FROM bed_height_epoch WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <height> + <dc:attribute name="factory" value="bedheight"/> + <dc:attribute name="ids" value="bedheight-epoch-${bedh_id}-${bedh_interval_id}"/> + <dc:attribute name="description" value="${bedh_descr}"/> + </height> + </dc:elements> + </dc:context> + </epoch> + </dc:macro> + </river> + </dc:elements> + </dc:context> + </dc:macro> + + <dc:choose> + <dc:comment> + User specific part + ------------------ + </dc:comment> + <dc:when test="dc:contains($parameters, 'user-id')"> + + + <old_calculations> + <dc:context connection="user"> + <dc:comment> + Get the user and collection-id. + </dc:comment> + <dc:statement> + SELECT u.id AS user_id, c.id AS collection_id, c.name as collection_name + FROM collections c JOIN users u ON c.user_id = u.id + WHERE u.gid = CAST(${user-id} AS uuid) + ORDER BY c.creation DESC + </dc:statement> + + <!-- OFFICIAL LINES --> + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section')"> + <dc:comment comment=".wst -------------------------------"/> + <officiallines> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation, ardg.v as gaugy, arv.v as wqsingle + FROM master_artifacts m, artifact_data ardg, artifact_data arv + WHERE m.collection_id = ${collection_id} AND m.gid = CAST(${artifact-id} AS uuid) AND ardg.artifact_id = m.id AND ardg.k = 'ld_gaugename' AND arv.artifact_id = m.id AND arv.k = 'wq_single' + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context connection="system"> + <dc:statement> + SELECT ol.wst_id AS wstid, ol.wst_column_pos AS wstcolpos, ol.name AS olname, ol.value AS oval + FROM official_q_values ol + WHERE ol.value = CAST(${wqsingle} AS NUMERIC(10,2)) AND ol.gauge_name = ${gaugy} + </dc:statement> + <dc:elements> + <dc:element name="${olname}"> + <dc:attribute name="name" value="${olname}"/> + <dc:attribute name="ids" value="additionals-wstv-${wstcolpos}-${wstid}"/> + <dc:attribute name="factory" value="staticwkms"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </officiallines> + </dc:if> + <!-- END OFFICIAL LINES --> + + <dc:comment> + SHOW W-DIFFERENCES + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section')))"> + <differences> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'w_differences' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="w_differences"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </differences> + </dc:if> + + <dc:comment> + SHOW REFERENCE CURVE + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'reference_curve')"> + <reference_curves> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'reference_curve' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="reference_curve"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </reference_curves> + </dc:if> + + <dc:comment> + SHOW COMPUTED DISCHARGE CURVES + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"> + <computed_discharge_curves> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'computed_discharge_curve.q' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="computed_discharge_curve"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </computed_discharge_curves> + </dc:if> + + <dc:comment> + CROSS SECTION + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'cross_section')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'cross_section' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} + ORDER BY num ASC, name DESC + </dc:statement> + <longitudinal_section_columns> + <dc:attribute name="description" value="${river} ${a_creation}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="cross_section"/> + </dc:element> + </dc:elements> + </longitudinal_section_columns> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'discharge_longitudinal_section') or (dc:contains($artifact-outs, 'w_differences')))"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'longitudinal_section' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} + ORDER BY num ASC, name DESC + </dc:statement> + <longitudinal_section_columns> + <dc:attribute name="description" value="${river} ${a_creation}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="longitudinal_section"/> + </dc:element> + </dc:elements> + </longitudinal_section_columns> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_longitudinal_section_curve' + </dc:statement> + <dc:elements> + <dc:context> + <!-- average und deviation ls_0 . ls_1 ...--> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} AND ( name LIKE 'fix_deviation_ls%' OR name LIKE 'fix_sector_average_ls%' OR name LIKE 'fix_analysis_events_ls%' OR name LIKE 'fix_reference_events_ls%' ) + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="fixanalysis"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="fix_longitudinal_section_curve"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'fix_deltawt_curve')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_deltawt_curve' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_dwt%' OR name LIKE 'fix_deviation_dwt%' OR name = 'fix_analysis_events_dwt' OR name = 'fix_reference_events_dwt' OR name = 'fix_analysis_periods_dwt' ) + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="fixanalysis"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="fix_deltawt_curve"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'fix_derivate_curve')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_derivate_curve' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and name = 'fix_derivate' + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="fixanalysis"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="fix_derivate_curve"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_wq_curve' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_wq%' OR name = 'fix_wq_curve' OR name LIKE 'fix_analysis_events_wq%' OR name LIKE 'fix_reference_events_wq%' ) + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="fixanalysis"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="fix_wq_curve"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'duration_curve')"> + <computed_discharge_curves> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE (f.name = 'duration_curve.q' or f.name = 'duration_curve.w') and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="duration_curve"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </computed_discharge_curves> + </dc:if> + <dc:comment> + WATERLEVELS - ONLY SHOW Ws + </dc:comment> + + <!-- TODO doesnt work nicely for fix/wq-diags. --> + <dc:if test="dc:contains($artifact-outs, 'waterlevels') or (dc:contains($artifact-outs, 'fix_wq_curve'))"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'longitudinal_section' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and name = 'longitudinal_section.w' + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="longitudinal_section"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:comment> + SHOW FLOODMAPS + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'floodmap') or dc:contains($artifact-outs, 'map')"> + <floodmap> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'floodmap.wsplgen' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="floodmap"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </floodmap> + </dc:if> + + </dc:context> + </old_calculations> + + + <dc:comment> + Include System specific part when 'load-system' is in parameters. + ----------------------------------------------------------------- + </dc:comment> + <dc:choose> + <dc:when test="dc:contains($parameters,'load-system')"> + <dc:call-macro name="load-system"/> + </dc:when> + </dc:choose> + </dc:when> + + + <dc:comment> + Include System specific part only if no user ID is given. + --------------------------------------------------------- + </dc:comment> + <dc:otherwise> + <dc:call-macro name="load-system"/> + </dc:otherwise> + </dc:choose> +</datacage> +</dc:template>