Mercurial > dive4elements > river
view flys-artifacts/doc/conf/meta-data.xml @ 3449:fc351f12b906
FixA: Vollmer. Calculated the Q -> Ws. TODO: Produce result.
flys-artifacts/trunk@5112 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 23 Jul 2012 15:24:14 +0000 |
parents | fbeed0ded014 |
children | 9eba1e2d821d |
line wrap: on
line source
<?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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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"/> </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 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> </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="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: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_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:call-macro name="annotations"/> </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: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"/> </dc:if> <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"><!-- or (dc:contains($artifact-outs, 'discharge_curve'))"--> <!-- && parameter contains recommended/ation --> <computed_discharge_curve> <dc:call-macro name="mainvalues"/> </computed_discharge_curve> <dc:call-macro name="basedata_2_fixations_wst"/> </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, '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 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="description" value="${dem_lower}-${dem_upper}"/> </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> </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> <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, '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> <dc:if test="dc:contains($artifact-outs, 'waterlevels')"> <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>