teichmann@5523: <?xml version="1.0" encoding="UTF-8"?> sascha@1046: <dc:template xmlns:dc="http://www.intevation.org/2011/Datacage"> aheinecke@6053: <datacage> rrenkert@5015: aheinecke@6053: <dc:comment> aheinecke@6053: User specific part aheinecke@6053: ------------------ aheinecke@6053: </dc:comment> aheinecke@6053: <dc:if test="dc:contains($parameters, 'user-id') and not(dc:contains($artifact-outs, 'floodmap-hws'))"> aheinecke@6053: <dc:call-macro name="load-user"/> aheinecke@6053: </dc:if> aheinecke@6053: aheinecke@6053: <dc:call-macro name="load-system"/> aheinecke@6053: aheinecke@6053: <dc:macro name="load-system"> aheinecke@6053: <dc:context connection="system"> rrenkert@5015: <dc:statement> aheinecke@6053: SELECT id AS river_id, name AS river_name aheinecke@6053: FROM rivers aheinecke@6053: WHERE lower(name) LIKE lower(${river}) rrenkert@5015: </dc:statement> teichmann@5522: <dc:for-each> aheinecke@6053: <dc:call-macro name="generate-system-content"/> teichmann@5522: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> felix@3283: aheinecke@6053: <dc:macro name="load-user"> aheinecke@6053: <old_calculations> aheinecke@6053: <dc:call-macro name="generate-user-content"/> aheinecke@6053: </old_calculations> aheinecke@6053: </dc:macro> felix@4014: aheinecke@6053: <dc:macro name="generate-system-content"> aheinecke@6053: <dc:call-macro name="user-range"> aheinecke@6053: <dc:call-macro name="km-filtered-wsts"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="dc:contains($parameters, 'recommended')"> aheinecke@6053: <dc:comment> aheinecke@6053: Recommendations (client shall load immediately). aheinecke@6053: </dc:comment> aheinecke@6053: <dc:iterate var="out" container="artifact-outs"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="$out = 'w_differences'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'discharge_longitudinal_section'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'historical_discharge_wq'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'cross_section'"> aheinecke@6053: <dc:call-macro name="cross_sections"/> aheinecke@6053: <dc:call-macro name="hyks"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'discharge_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'computed_discharge_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations_wqkms"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'duration_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'reference_curve'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'fix_wq_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: <dc:call-macro name="qsectors"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'longitudinal_section'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'fix_longitudinal_section_curve'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_difference_epoch'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_difference_year'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_difference_height_year'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'floodmap'"> aheinecke@6053: <dc:call-macro name="flood-map-recommended"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'floodmap-hws'"> aheinecke@6053: <dc:call-macro name="flood-map-recommended"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'minfo-heights'"> aheinecke@6053: <dc:call-macro name="minfo-heights"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'minfo-heights-epoch'"> aheinecke@6053: <bedheights> aheinecke@6053: <dc:call-macro name="bed-heights-epoch"/> aheinecke@6053: </bedheights> aheinecke@6053: </dc:when> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:iterate> aheinecke@6053: </dc:when> aheinecke@6053: <dc:otherwise> aheinecke@6053: <dc:comment> aheinecke@6053: Non - Recommendations. aheinecke@6053: </dc:comment> aheinecke@6053: <dc:iterate var="out" container="artifact-outs"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="$out = 'cross_section'"> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points"/> aheinecke@6053: <dc:call-macro name="cross_sections"/> felix@6075: <dc:call-macro name="basedata_5_flood-protections"/> aheinecke@6053: <dc:call-macro name="hyks"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'longitudinal_section'"> aheinecke@6053: <dc:call-macro name="longitudinal-section-prototype"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'w_differences'"> aheinecke@6053: <dc:call-macro name="longitudinal-section-prototype"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'discharge_longitudinal_section'"> aheinecke@6053: <dc:call-macro name="longitudinal-section-prototype"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'discharge_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'duration_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations_relative_point"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/> aheinecke@6053: <dc:call-macro name="basedata_5_flood-protections_relative_points"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'reference_curve'"> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals-relative_point"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations_relative_point"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/> aheinecke@6053: <dc:call-macro name="basedata_5_flood-protections_relative_points"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'fix_wq_curve'"> aheinecke@6053: <dc:call-macro name="basedata_0_wq"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals_marks"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations_wqkms"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points"/> aheinecke@6053: <dc:call-macro name="basedata_5_flood-protections_relative_points"/> aheinecke@6053: <dc:call-macro name="discharge_table_gauge"/> aheinecke@6053: <dc:call-macro name="discharge_fix_wq"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'fix_longitudinal_section_curve'"> aheinecke@6053: <dc:call-macro name="annotations"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'map'"> aheinecke@6053: <dc:call-macro name="flood-map-complete"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'flow_velocity'"> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: <dc:call-macro name="flow_velocity_measurements"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_longitudinal_section'"> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'sedimentload_ls'"> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: <dc:call-macro name="morph_width"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bedheight_middle'"> aheinecke@6053: <dc:call-macro name="sounding-width"/> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_difference_year'"> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: <dc:call-macro name="morph_width"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'bed_difference_epoch'"> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: <dc:call-macro name="morph_width"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'floodmap'"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="dc:contains($parameters, 'dem')"> aheinecke@6053: <dc:call-macro name="flood-map-dem"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="dc:contains($parameters, 'hws')"> aheinecke@6053: <hws> aheinecke@6053: <dc:call-macro name="flood-map-hws-lines"/> aheinecke@6053: <dc:call-macro name="flood-map-hws-points"/> aheinecke@6053: </hws> aheinecke@6053: </dc:when> aheinecke@6053: <dc:otherwise> aheinecke@6053: <dc:call-macro name="flood-map-complete"/> aheinecke@6053: </dc:otherwise> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'floodmap-hws'"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="dc:contains($parameters, 'dem')"> aheinecke@6053: <dc:call-macro name="flood-map-dem"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="dc:contains($parameters, 'hws')"> aheinecke@6053: <hws> aheinecke@6053: <dc:call-macro name="flood-map-hws-lines"/> aheinecke@6053: <dc:call-macro name="flood-map-hws-points"/> aheinecke@6053: </hws> aheinecke@6053: </dc:when> aheinecke@6053: <dc:otherwise> aheinecke@6053: <dc:call-macro name="flood-map-complete"/> aheinecke@6053: </dc:otherwise> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'computed_discharge_curve'"> aheinecke@6053: <dc:call-macro name="discharge_computed"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations_wqkms"/> aheinecke@6053: <dc:call-macro name="basedata_5_flood-protections"/> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points"/> aheinecke@6053: <computed_discharge_curve> aheinecke@6053: <dc:call-macro name="mainvalues"/> aheinecke@6053: </computed_discharge_curve> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'minfo-heights'"> aheinecke@6053: <dc:call-macro name="minfo-heights"/> aheinecke@6053: <dc:macro name="minfo-heights"> aheinecke@6053: <bedheights> aheinecke@6053: <dc:call-macro name="bed-heights-single"/> aheinecke@6053: <dc:call-macro name="bed-heights-epoch"/> aheinecke@6053: </bedheights> aheinecke@6053: </dc:macro> aheinecke@6053: </dc:when> aheinecke@6053: <dc:when test="$out = 'minfo-heights-epoch'"> aheinecke@6053: <bedheights> aheinecke@6053: <dc:call-macro name="bed-heights-epoch"/> aheinecke@6053: </bedheights> aheinecke@6053: </dc:when> aheinecke@6081: <dc:when test="$out = 'waterlevels'"> aheinecke@6081: <dc:if test="current-state-id != 'state.winfo.uesk.wsp'"> aheinecke@6081: <dc:call-macro name="basedata_0"/> aheinecke@6081: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6081: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6081: <dc:call-macro name="basedata_4_heightmarks-points"/> aheinecke@6081: <dc:call-macro name="basedata_5_flood-protections"/> aheinecke@6081: </dc:if> aheinecke@6081: </dc:when> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:iterate> aheinecke@6053: </dc:otherwise> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> rrenkert@5015: aheinecke@6053: <dc:macro name="generate-user-content"> felix@6072: <dc:call-macro name="user-range"> felix@6072: <dc:call-macro name="km-filtered-userdata"> aheinecke@6081: <dc:choose> aheinecke@6081: <dc:when test="dc:contains($parameters, 'recommended')"> aheinecke@6081: <dc:comment> aheinecke@6081: Recommendations (client shall load immediately). aheinecke@6081: </dc:comment> aheinecke@6081: <dc:iterate var="out" container="artifact-outs"> aheinecke@6081: <dc:choose> aheinecke@6081: <dc:when test="$out = 'longitudinal_section'"> aheinecke@6081: <dc:call-macro name="officiallines_user"/> aheinecke@6081: </dc:when> aheinecke@6081: </dc:choose> aheinecke@6081: </dc:iterate> aheinecke@6081: </dc:when> aheinecke@6081: <dc:otherwise> aheinecke@6081: <dc:comment> aheinecke@6081: Non Recommendations aheinecke@6081: </dc:comment> aheinecke@6081: <dc:iterate var="out" container="artifact-outs"> aheinecke@6081: <dc:choose> aheinecke@6081: <dc:when test="$out = 'longitudinal_section'"> aheinecke@6081: <dc:call-macro name="longitudinal"/> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'discharge_longitudinal_section'"> aheinecke@6081: <dc:call-macro name="longitudinal"/> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'w_differences'"> aheinecke@6081: <dc:call-macro name="longitudinal"/> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'fix_deltawt_curve'"> aheinecke@6081: <dc:call-macro name="delta-wt"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'reference_curve'"> aheinecke@6081: <dc:call-macro name="reference-curves"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'computed_discharge_curve'"> aheinecke@6081: <dc:call-macro name="computed-discharge-curve"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'cross_section'"> aheinecke@6081: <dc:call-macro name="waterlevels"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'fix_longitudinal_section_curve'"> aheinecke@6081: <dc:call-macro name="longitudinal-section"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'fix_derivate_curve'"> aheinecke@6081: <dc:call-macro name="fix-derivate-curve"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'fix_wq_curve'"> aheinecke@6081: <dc:call-macro name="fix-wq-curve"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'duration_curve'"> aheinecke@6081: <dc:call-macro name="duration-curve"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'waterlevels'"> aheinecke@6081: <dc:call-macro name="waterlevels-fix"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'fix_wq_curve'"> aheinecke@6081: <dc:call-macro name="waterlevels-fix"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'floodmap'"> aheinecke@6081: <dc:call-macro name="flood-map"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'map'"> aheinecke@6081: <dc:call-macro name="flood-map"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'bedheight_middle'"> aheinecke@6081: <dc:call-macro name="waterlevels-discharge"/> aheinecke@6081: <dc:call-macro name="waterlevels-fix"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'floodmap-hws'"> aheinecke@6081: <dc:call-macro name="floodmap-hws-user"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'flow_velocity'"> aheinecke@6081: <dc:call-macro name="bedquality-bed"/> aheinecke@6081: <dc:call-macro name="bedquality-load"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'bed_longitudinal_section'"> aheinecke@6081: <dc:call-macro name="bedquality-bed"/> aheinecke@6081: <dc:call-macro name="bedquality-load"/> aheinecke@6081: <dc:call-macro name="bedquality-density"/> aheinecke@6081: <dc:call-macro name="bedquality-porosity"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'sedimentload_ls'"> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: <dc:call-macro name="bedheight-differences"/> aheinecke@6081: <dc:call-macro name="flow-velocity"/> aheinecke@6081: <dc:call-macro name="sediment-load"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'bed_difference_year'"> aheinecke@6081: <dc:call-macro name="waterlevels-discharge"/> aheinecke@6081: <dc:call-macro name="bedheight-differences"/> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: <dc:call-macro name="waterlevels-fix"/> aheinecke@6081: <dc:call-macro name="delta-wt-ls"/> aheinecke@6081: </dc:when> aheinecke@6081: <dc:when test="$out = 'bed_difference_epoch'"> aheinecke@6081: <dc:call-macro name="waterlevels-discharge"/> aheinecke@6081: <dc:call-macro name="bedheight-differences"/> aheinecke@6081: <dc:call-macro name="differences"/> aheinecke@6081: <dc:call-macro name="waterlevels-fix"/> aheinecke@6081: <dc:call-macro name="delta-wt-ls"/> aheinecke@6081: </dc:when> aheinecke@6081: </dc:choose> aheinecke@6081: </dc:iterate> aheinecke@6081: </dc:otherwise> aheinecke@6081: </dc:choose> aheinecke@6081: </dc:call-macro> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> felix@4455: aheinecke@6053: <!-- Macros to load user data --> rrenkert@5631: aheinecke@6053: <dc:macro name="select-facets"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM artifacts a aheinecke@6053: JOIN outs o ON o.artifact_id = a.id aheinecke@6053: JOIN facets f ON f.out_id = o.id aheinecke@6053: WHERE a.id = ${a_id} aheinecke@6053: AND f.name = ${facet_type} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> felix@4595: aheinecke@6053: <dc:macro name="differences"> aheinecke@6053: <dc:variable name="facet_type" value="w_differences"/> aheinecke@6053: <dc:call-macro name="select-facets"> aheinecke@6053: <differences> aheinecke@6053: <dc:for-each> aheinecke@6053: <w_differences aheinecke@6053: description="{$facet_description}" aheinecke@6053: factory="winfo" aheinecke@6053: artifact-id="{$aid}" aheinecke@6053: ids="{$aid}" aheinecke@6053: out="w_differences"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </differences> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@5976: aheinecke@6053: <dc:macro name="reference-curves"> aheinecke@6053: <dc:variable name="facet_type" value="reference_curve"/> aheinecke@6053: <dc:call-macro name="select-facets"> aheinecke@6053: <reference_curves> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="ids" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="reference_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </reference_curves> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="computed-discharge-curve"> aheinecke@6053: <dc:variable name="facet_type" value="computed_discharge_curve.q"/> aheinecke@6053: <dc:call-macro name="select-facets"> aheinecke@6053: <computed_discharge_curves> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="ids" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="computed_discharge_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </computed_discharge_curves> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map"> aheinecke@6053: <dc:variable name="facet_type" value="floodmap.wsplgen"/> aheinecke@6053: <dc:call-macro name="select-facets"> aheinecke@6053: <floodmap> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="ids" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="floodmap"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </floodmap> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="waterlevels"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'cross_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@5976: <dc:context> aheinecke@5976: <dc:statement> aheinecke@6053: SELECT name AS facet_name, num AS facet_num, description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <longitudinal_section_columns description="{$river} {$a_creation}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="cross_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </longitudinal_section_columns> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="longitudinal"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} aheinecke@6053: AND name = 'longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, aheinecke@6053: num AS facet_num, aheinecke@6053: description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <longitudinal_section_columns description="{$river} {$a_creation}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </longitudinal_section_columns> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="longitudinal-section"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} aheinecke@6053: AND name = 'fix_longitudinal_section_curve' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, aheinecke@6053: num AS facet_num, aheinecke@6053: description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} AND ( aheinecke@6053: name LIKE 'fix_deviation_ls%' OR aheinecke@6053: name LIKE 'fix_sector_average_ls%' OR aheinecke@6053: name LIKE 'fix_analysis_events_ls%' OR aheinecke@6053: name LIKE 'fix_reference_events_ls%') aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="fixanalysis"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="fix_longitudinal_section_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="delta-wt"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} aheinecke@6053: AND name = 'fix_deltawt_curve' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, aheinecke@6053: num AS facet_num, aheinecke@6053: description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} and ( aheinecke@6053: name LIKE 'fix_sector_average_dwt%' OR aheinecke@6053: name LIKE 'fix_deviation_dwt%' OR aheinecke@6053: name = 'fix_analysis_events_dwt' OR aheinecke@6053: name = 'fix_reference_events_dwt' OR aheinecke@6053: name = 'fix_analysis_periods_dwt') aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="fixanalysis"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="fix_deltawt_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="delta-wt-ls"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'fix_deltawt_curve' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, num AS facet_num, description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} and ( aheinecke@6053: name LIKE 'fix_sector_average_dwt%' OR aheinecke@6053: name LIKE 'fix_deviation_dwt%') aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="fixanalysis"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="fix_deltawt_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="fix-derivate-curve"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'fix_derivate_curve' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, num AS facet_num, description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} and name = 'fix_derivate_curve' aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="fixanalysis"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="fix_derivate_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="fix-wq-curve"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'fix_wq_curve' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, num AS facet_num, description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} and ( aheinecke@6053: name LIKE 'fix_sector_average_wq%' OR aheinecke@6053: name = 'fix_wq_curve' OR aheinecke@6053: name LIKE 'fix_analysis_events_wq%' OR aheinecke@6053: name LIKE 'fix_reference_events_wq%' ) aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="fixanalysis"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="fix_wq_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="duration-curve"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: (f.name = 'duration_curve.q' OR f.name = 'duration_curve.w') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <computed_discharge_curves> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="ids" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="duration_curve"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </computed_discharge_curves> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:comment>TODO doesnt work nicely for fix/wq-diags.</dc:comment> aheinecke@6053: <dc:macro name="waterlevels-fix"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, num AS facet_num, description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} and name = 'longitudinal_section.w' aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <waterlevels description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="floodmap-hws-user"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS out_id aheinecke@6053: FROM outs aheinecke@6053: WHERE artifact_id = ${a_id} AND name = 'floodmap' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS facet_name, aheinecke@6053: num AS facet_num, aheinecke@6053: description AS facet_description aheinecke@6053: FROM facets aheinecke@6053: WHERE out_id = ${out_id} AND name = 'floodmap.usershape' aheinecke@6053: ORDER BY num ASC, name DESC aheinecke@6053: </dc:statement> aheinecke@6053: <own-hws> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}"/> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${a_gid}"/> aheinecke@6053: <dc:attribute name="out" value="floodmap"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </own-hws> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bedquality-bed"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: o.name='bed_longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bed_quality_bed> aheinecke@6053: <dc:for-each> aheinecke@6053: <quality-bed description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: (f.name = 'bed_longitudinal_section.bed_diameter_toplayer' aheinecke@6053: OR f.name = 'bed_longitudinal_section.bed_diameter_sublayer') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="bed_longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </quality-bed> aheinecke@6053: </dc:for-each> aheinecke@6053: </bed_quality_bed> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bedquality-load"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: o.name='bed_longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bed_quality_load> aheinecke@6053: <dc:for-each> aheinecke@6053: <quality-load description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: f.name = 'bed_longitudinal_section.bedload_diameter' AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="bed_longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </quality-load> aheinecke@6053: </dc:for-each> aheinecke@6053: </bed_quality_load> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bedquality-density"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: o.name='bed_longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bed_quality_density> aheinecke@6053: <dc:for-each> aheinecke@6053: <density description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: (f.name = 'bed_longitudinal_section.sediment_density_toplayer' OR aheinecke@6053: f.name = 'bed_longitudinal_section.sediment_density_sublayer') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="bed_longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </density> aheinecke@6053: </dc:for-each> aheinecke@6053: </bed_quality_density> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bedquality-porosity"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: o.name='bed_longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bed_quality_porosity> aheinecke@6053: <dc:for-each> aheinecke@6053: <porosity description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: (f.name = 'bed_longitudinal_section.porosity_toplayer' OR aheinecke@6053: f.name = 'bed_longitudinal_section.porosity_sublayer') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="bed_longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </porosity> aheinecke@6053: </dc:for-each> aheinecke@6053: </bed_quality_porosity> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flow-velocity"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} and o.name='flow_velocity' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <flow-velocity> aheinecke@6053: <dc:for-each> aheinecke@6053: <flow description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE aheinecke@6053: (f.name = 'flow_velocity.totalchannel' OR aheinecke@6053: f.name = 'flow_velocity.mainchannel' OR aheinecke@6053: f.name = 'flow_velocity.totalchannel.filtered' OR aheinecke@6053: f.name = 'flow_velocity.mainchannel.filtered') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="flow_velocity"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </flow> aheinecke@6053: </dc:for-each> aheinecke@6053: </flow-velocity> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="sediment-load"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} and o.name='sedimentload_ls' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <sediment-load> aheinecke@6053: <dc:for-each> aheinecke@6053: <load description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE f.name LIKE 'sedimentload%' AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="sedimentload_ls"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </load> aheinecke@6053: </dc:for-each> aheinecke@6053: </sediment-load> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bedheight-differences"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid, aheinecke@6053: name AS o_name aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: (o.name = 'bed_difference_year' OR aheinecke@6053: o.name = 'bed_differnece_epoch') aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bedheight-differences> aheinecke@6053: <dc:for-each> aheinecke@6053: <difference description="{$river} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE (f.name LIKE 'bedheight_difference.year%' OR aheinecke@6053: f.name LIKE 'bedheight_difference.epoch%') AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="minfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="dc:contains($o_name, 'bed_difference_year')"> aheinecke@6053: <dc:attribute name="out" value="bed_difference_year"/> aheinecke@6053: </dc:when> aheinecke@6053: <dc:otherwise> aheinecke@6053: <dc:attribute name="out" value="bed_difference_epoch"/> aheinecke@6053: </dc:otherwise> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </difference> aheinecke@6053: </dc:for-each> aheinecke@6053: </bedheight-differences> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="waterlevels-discharge"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS oid aheinecke@6053: FROM outs AS o aheinecke@6053: WHERE aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: o.name = 'discharge_longitudinal_section' aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <waterlevels-discharge> aheinecke@6053: <dc:for-each> aheinecke@6053: <discharge description="{$oid} {$river} {$a_id} {$a_creation} {$collection_name}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT a.gid AS aid, aheinecke@6053: f.id AS fid, aheinecke@6053: f.name AS facet_name, aheinecke@6053: f.num AS facet_num, aheinecke@6053: f.description AS facet_description aheinecke@6053: FROM outs AS o, facets AS f, artifacts AS a aheinecke@6053: WHERE f.name = 'discharge_longitudinal_section.w' AND aheinecke@6053: f.out_id = o.id AND aheinecke@6053: o.artifact_id = ${a_id} AND aheinecke@6053: a.id = ${a_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:element name="${facet_name}"> aheinecke@6053: <dc:attribute name="factory" value="winfo"/> aheinecke@6053: <dc:attribute name="description" value="${facet_description}"/> aheinecke@6053: <dc:attribute name="ids" value="${facet_num}-${facet_name}"/> aheinecke@6053: <dc:attribute name="artifact-id" value="${aid}"/> aheinecke@6053: <dc:attribute name="out" value="longitudinal_section"/> aheinecke@6053: </dc:element> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </discharge> aheinecke@6053: </dc:for-each> aheinecke@6053: </waterlevels-discharge> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: <!-- Macros to load system data --> aheinecke@6053: aheinecke@6053: <dc:macro name="annotations"> aheinecke@6053: <annotation factory="annotations" ids="{$river_id}"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="mainvalues"> aheinecke@6053: <wmainvalue factory="mainvalue" ids="{$river_id}:w"/> aheinecke@6053: <qmainvalue factory="mainvalue" ids="{$river_id}:q"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="cross_sections"> aheinecke@6053: <cross_sections id="flood-protections-{$river_id}"> aheinecke@6053: <dc:context connection="system"> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: cs.id AS prot_id, aheinecke@6053: cs.description AS prot_description aheinecke@6053: FROM cross_sections cs aheinecke@6053: JOIN cross_section_lines csl ON csl.cross_section_id = cs.id aheinecke@6053: WHERE cs.river_id = ${river_id} aheinecke@6053: AND csl.km BETWEEN ${fromkm} AND ${tokm} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <cross_section name="{$prot_description}" aheinecke@6053: ids="{$prot_id}" aheinecke@6053: factory="crosssections"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </cross_sections> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="hyks"> aheinecke@6053: <hyks id="hyk-{$river_id}"> aheinecke@6053: <dc:context connection="system"> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: h.id AS hyk_id, aheinecke@6053: h.description AS hyk_description aheinecke@6053: FROM hyks h aheinecke@6053: JOIN hyk_entries he ON he.hyk_id = h.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND he.km BETWEEN ${fromkm} AND ${tokm} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <hyk name="{$hyk_description}" aheinecke@6053: ids="{$hyk_id}" aheinecke@6053: factory="hyk"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </hyks> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="fixings-macro"> aheinecke@6053: <dc:filter expr="$kind=2"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <fixations> aheinecke@6053: <dc:group expr="dc:replace($wst_description, 'Fixierungen/', '')"> aheinecke@6053: <fixation name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:for-each> aheinecke@6053: </fixation> aheinecke@6053: </dc:group> aheinecke@6053: </fixations> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_2_fixations_wqkms"> aheinecke@6053: <dc:call-macro name="fixings-macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="fixations-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="wqinterpol" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_2_fixations"> aheinecke@6053: <dc:call-macro name="fixings-macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="fixations-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwqkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_3_officials"> aheinecke@6053: <dc:filter expr="$kind=3"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <officiallines> aheinecke@6053: <dc:group expr="$wst_description"> aheinecke@6053: <official name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="additionals-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwqkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </official> aheinecke@6053: </dc:group> aheinecke@6053: </officiallines> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_4_heightmarks-points"> aheinecke@6053: <dc:filter expr="$kind=4"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <heightmarks> aheinecke@6081: <dc:group expr="dc:replace($wst_description, 'HW-Marken/', '')"> aheinecke@6084: <heightmark name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="heightmarks_points-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </heightmark> aheinecke@6053: </dc:group> aheinecke@6053: </heightmarks> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_4_heightmarks-points-relative_points"> aheinecke@6053: <dc:filter expr="$kind=4"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <heightmarks> aheinecke@6081: <dc:group expr="dc:replace($wst_description, 'HW-Marken/', '')"> aheinecke@6084: <relativepoint name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="heightmarks_points-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </relativepoint> aheinecke@6053: </dc:group> aheinecke@6053: </heightmarks> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="longitudinal-section-prototype"> aheinecke@6053: <dc:call-macro name="basedata_0"/> aheinecke@6053: <dc:call-macro name="basedata_1_additionals"/> aheinecke@6053: <dc:call-macro name="basedata_2_fixations"/> aheinecke@6053: <dc:call-macro name="basedata_4_heightmarks-points"/> aheinecke@6053: <dc:call-macro name="basedata_3_officials"/> aheinecke@6053: <dc:call-macro name="basedata_5_flood-protections"/> aheinecke@6053: <dc:call-macro name="annotations_per_type"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_5_flood-protections"> aheinecke@6053: <dc:filter expr="$kind=5"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <flood_protections> aheinecke@6053: <dc:group expr="dc:replace($wst_description, 'HW-Schutzanlagen/', '')"> aheinecke@6053: <flood_protection name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="flood_protection-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </flood_protection> aheinecke@6053: </dc:group> aheinecke@6053: </flood_protections> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="annotations_per_type"> aheinecke@6053: <annotations> aheinecke@6053: <dc:context> aheinecke@6053: <all_annotations factory="annotations" ids="{$river_id}"/> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS anno_id, aheinecke@6053: name AS anno_description aheinecke@6053: FROM annotation_types aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <annotation name="{$anno_description}" aheinecke@6053: factory="annotations" aheinecke@6053: ids="{$river_id}:{$anno_description}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </annotations> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_2_fixations_relative_point"> aheinecke@6053: <dc:filter expr="$kind=2"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <fixations> aheinecke@6053: <dc:group expr="dc:replace($wst_description, 'Fixierungen/', '')"> aheinecke@6053: <relativepoint name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="fixations-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </relativepoint> aheinecke@6053: </dc:group> aheinecke@6053: </fixations> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_5_flood-protections_relative_points"> aheinecke@6053: <dc:filter expr="$kind=5"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <flood_protections> aheinecke@6053: <dc:group expr="$wst_description"> aheinecke@6053: <relativepoint name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="flood_protection-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </relativepoint> aheinecke@6053: </dc:group> aheinecke@6053: </flood_protections> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_1_additionals-relative_point"> aheinecke@6053: <dc:filter expr="$kind=1"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <additionals> aheinecke@6053: <dc:group expr="$wst_description"> aheinecke@6053: <relativepoint name="{dc:group-key()}"> aheinecke@6053: <dc:for-each> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="additionals-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </relativepoint> aheinecke@6053: </dc:group> aheinecke@6053: </additionals> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="discharge_table_gauge"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS gauge_id, aheinecke@6053: name AS gauge_name aheinecke@6053: FROM gauges WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <discharge_table_nn> aheinecke@6053: <discharge_table_gauge> aheinecke@6053: <dc:for-each> aheinecke@6053: <gauge name="{$gauge_name}" aheinecke@6053: factory="gaugedischarge" aheinecke@6053: from="{$g_start}" aheinecke@6053: to="{$g_stop}" aheinecke@6053: ids="{$gauge_name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </discharge_table_gauge> aheinecke@6053: </discharge_table_nn> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:comment>TODO: Why is this just a copy of the discharge_table_gauge?</dc:comment> aheinecke@6053: <dc:macro name="discharge_computed"> aheinecke@6053: <dc:call-macro name="discharge_table_gauge"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:comment>TODO: Why is this just a copy of the discharge_table_gauge?</dc:comment> aheinecke@6053: <dc:macro name="discharge_fix_wq"> aheinecke@6053: <dc:call-macro name="discharge_table_gauge"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="qsectors"> aheinecke@6053: <qsector factory="qsectors" ids="{$river_id}"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-recommended"> aheinecke@6053: <kilometrage> aheinecke@6053: <riveraxis factory="riveraxis" ids="{$river_id}"/> aheinecke@6053: </kilometrage> aheinecke@6053: <rastermap> aheinecke@6053: <background factory="wmsbackground" ids="{$river_id}"/> aheinecke@6053: </rastermap> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="minfo-heights"> aheinecke@6053: <bedheights> aheinecke@6053: <dc:call-macro name="bed-heights-single"/> aheinecke@6053: <dc:call-macro name="bed-heights-epoch"/> aheinecke@6053: </bedheights> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bed-heights-single"> aheinecke@6053: <single> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS bedh_id, aheinecke@6053: year AS bedh_year, aheinecke@6053: description AS bedh_descr aheinecke@6053: FROM bed_height_single WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <height factory="bedheight" aheinecke@6053: ids="bedheight-single-{$bedh_id}-{$bedh_year}" aheinecke@6053: description="{$bedh_descr}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </single> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="bed-heights-epoch"> aheinecke@6053: <epoch> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS bedh_id, aheinecke@6053: time_interval_id AS bedh_interval_id, aheinecke@6053: description AS bedh_descr aheinecke@6053: FROM bed_height_epoch WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <height factory="bedheight" aheinecke@6053: ids="bedheight-epoch-{$bedh_id}-{$bedh_interval_id}" aheinecke@6053: description="{$bedh_descr}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </epoch> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flow_velocity_measurements"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS fvmid, aheinecke@6053: description AS fvmd aheinecke@6053: FROM flow_velocity_measurements WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <flowvelocitymeasurement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:comment>TODO: Why has this an id and factory?</dc:comment> aheinecke@6053: <flow_velocity_measurement name="{$fvmd}" aheinecke@6053: ids="{$fvmid}" aheinecke@6053: factory="flowvelocity"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id, description, station, datetime, v, w, q aheinecke@6053: FROM flow_velocity_measure_values aheinecke@6053: WHERE measurements_id = ${fvmid} aheinecke@6053: AND station BETWEEN ${fromkm} AND ${tokm} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <measurement_value name="{$description} - {$station} - {$datetime}" aheinecke@6053: ids="{$id}" aheinecke@6053: factory="flowvelocity"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </flow_velocity_measurement> aheinecke@6053: </dc:for-each> aheinecke@6053: </flowvelocitymeasurement> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="morph_width"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS width_id aheinecke@6053: FROM morphologic_width aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <morph_width> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT min(station) AS from_station, aheinecke@6053: max(station) AS to_station aheinecke@6053: FROM morphologic_width_values aheinecke@6053: WHERE morphologic_width_id = ${width_id} aheinecke@5976: </dc:statement> aheinecke@5976: <dc:for-each> aheinecke@6053: <morphologic-width name="{$from_station} - {$to_station}" aheinecke@6053: ids="{$width_id}" aheinecke@6053: factory="morph-width"/> teichmann@5523: </dc:for-each> teichmann@5523: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </morph_width> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@5405: aheinecke@6053: <dc:macro name="sounding-width"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT id AS bedh_id, aheinecke@6053: year AS bedh_year, aheinecke@6053: description AS bedh_descr aheinecke@6053: FROM bed_height_single WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <soundings_width> aheinecke@6053: <dc:for-each> aheinecke@6053: <height factory="bedheight" aheinecke@6053: ids="bedheight-singlevalues-{$bedh_id}-{$bedh_year}" aheinecke@6053: description="{$bedh_descr}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </soundings_width> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_0_macro"> felix@6073: <dc:filter expr="$kind = 0"> felix@6073: <dc:if test="dc:has-result()"> felix@6073: <basedata> felix@6073: <dc:group expr="$wst_description"> felix@6073: <basedata name="{dc:group-key()}"> felix@6073: <dc:for-each> felix@6073: <dc:macro-body/> felix@6073: </dc:for-each> felix@6073: </basedata> felix@6073: </dc:group> felix@6073: </basedata> felix@6073: </dc:if> felix@6073: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_0"> aheinecke@6053: <dc:call-macro name="basedata_0_macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="base_data-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwqkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_0_wq"> aheinecke@6053: <dc:call-macro name="basedata_0_macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="base_data-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="wqinterpol" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_1_additionals_macro"> felix@6073: <dc:filter expr="$kind=1"> felix@6073: <dc:if test="dc:has-result()"> felix@6073: <additionals> felix@6073: <dc:group expr="dc:replace($wst_description, 'Zus.Längsschnitte/', '')"> felix@6073: <additional name="{dc:group-key()}"> aheinecke@6081: <dc:for-each> aheinecke@6081: <dc:macro-body/> aheinecke@6081: </dc:for-each> felix@6073: </additional> felix@6073: </dc:group> felix@6073: </additionals> felix@6073: </dc:if> felix@6073: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_1_additionals"> aheinecke@6053: <dc:call-macro name="basedata_1_additionals_macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="additionals-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwqkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="basedata_1_additionals_marks"> aheinecke@6053: <dc:call-macro name="basedata_1_additionals_macro"> aheinecke@6053: <column name="{$wst_column_name}" aheinecke@6053: ids="additionalsmarks-wstv-{$wst_column_position}-{$wst_id}" aheinecke@6053: factory="staticwkms" aheinecke@6053: info="{$info} [km {$deffrom} - {$defto}]"/> aheinecke@6053: </dc:call-macro> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <!-- Floodmap part --> aheinecke@6053: <dc:macro name="flood-map-complete"> aheinecke@6053: <dc:call-macro name="flood-map-buildings"/> aheinecke@6053: <dc:call-macro name="catchments"/> aheinecke@6053: <dc:call-macro name="floodmarks"/> aheinecke@6053: <hws> aheinecke@6053: <dc:call-macro name="hwslines"/> aheinecke@6053: <dc:call-macro name="hwspoints"/> aheinecke@6053: </hws> aheinecke@6053: <dc:call-macro name="flood-map-routing"/> aheinecke@6053: <hydrboundaries> aheinecke@6053: <dc:call-macro name="flood-map-floodplain"/> aheinecke@6053: <dc:call-macro name="flood-map-hydr-boundaries"/> aheinecke@6053: </hydrboundaries> aheinecke@6053: <dc:call-macro name="flood-map-uesk"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-routing"> aheinecke@6053: <route_data> aheinecke@6053: <dc:call-macro name="flood-map-qps"/> aheinecke@6053: <dc:call-macro name="flood-map-fixpoints"/> aheinecke@6053: <dc:call-macro name="flood-map-km"/> aheinecke@6053: <dc:call-macro name="flood-map-riveraxis"/> aheinecke@6053: </route_data> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-hydr-boundaries"> aheinecke@6053: <bfg_model> aheinecke@6053: <dc:call-macro name="flood-map-hydr-boundaries-poly"/> aheinecke@6053: <dc:call-macro name="flood-map-hydr-boundaries-lines"/> aheinecke@6053: </bfg_model> aheinecke@6053: <dc:call-macro name="flood-map-hydr-boundaries-state"/> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-recommended"> aheinecke@6053: <dc:comment> aheinecke@6053: FIXME: Following two macros look identical to me. aheinecke@6053: </dc:comment> aheinecke@6053: <kilometrage> aheinecke@6053: <riveraxis factory="riveraxis" ids="{$river_id}"/> aheinecke@6053: </kilometrage> aheinecke@6053: <rastermap> aheinecke@6053: <background factory="wmsbackground" ids="{$river_id}"/> aheinecke@6053: </rastermap> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-dem"> aheinecke@6053: <dems> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT d.id AS dem_id, aheinecke@6053: r.a AS dem_lower, aheinecke@6053: r.b AS dem_upper, aheinecke@6053: d.name AS name, aheinecke@6053: t.start_time AS start_time, aheinecke@6053: t.stop_time AS stop_time, aheinecke@6053: 'Projektion: ' || d.projection || '$' || aheinecke@6053: 'Rasterweite: ' || d.resolution || 'm$' || aheinecke@6053: 'Format: ' || d.format || '$' || aheinecke@6053: 'Zeitraum: ' aheinecke@6053: AS info aheinecke@6053: FROM dem d aheinecke@6053: JOIN ranges r ON d.range_id = r.id aheinecke@6053: LEFT JOIN time_intervals t ON d.time_interval_id = t.id aheinecke@6053: WHERE d.river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dem factory="demfactory" aheinecke@6053: ids="{$dem_id}" aheinecke@6053: name="{$name}" aheinecke@6053: info="{dc:replace($info, '$', '<BR>')}{dc:date-format('yyyy', $start_time)} - {dc:date-format('yyyy', $stop_time)}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dems> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="filter_hws_ddg"> aheinecke@6053: <dc:macro name="durchlass_damm_graben"> aheinecke@6053: <dc:macro name="ddg_factory"> aheinecke@6053: <dc:for-each> aheinecke@6053: <hws factory="hwsfactory" name="{$hws_name}"/> aheinecke@6053: </dc:for-each> aheinecke@5976: </dc:macro> aheinecke@5976: aheinecke@6053: <dc:filter expr="$hws_kind=1"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Durchlass><dc:call-macro name="ddg_factory"/></Durchlass> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@5976: aheinecke@6053: <dc:filter expr="$hws_kind=2"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Damm><dc:call-macro name="ddg_factory"/></Damm> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> teichmann@5523: aheinecke@6053: <dc:filter expr="$hws_kind=3"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Graben><dc:call-macro name="ddg_factory"/></Graben> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> teichmann@5523: aheinecke@6053: <dc:filter expr="$hws_official=1"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <official> aheinecke@6053: <dc:call-macro name="durchlass_damm_graben"/> aheinecke@6053: </official> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> teichmann@5524: aheinecke@6053: <dc:filter expr="$hws_official=0"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <inofficial> aheinecke@6053: <dc:call-macro name="durchlass_damm_graben"/> aheinecke@6053: </inofficial> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> teichmann@5524: aheinecke@6054: <dc:macro name="flood-map-hws-lines"> aheinecke@6054: <dc:context> aheinecke@6054: <dc:statement> aheinecke@6054: SELECT DISTINCT aheinecke@6054: name AS hws_name, aheinecke@6054: official AS hws_official, aheinecke@6054: kind_id AS hws_kind aheinecke@6054: FROM hws_lines aheinecke@6054: WHERE river_id = ${river_id} aheinecke@6054: </dc:statement> aheinecke@6054: <dc:if test="dc:has-result()"> aheinecke@6054: <lines> aheinecke@6054: <dc:call-macro name="filter_hws_ddg"/> aheinecke@6054: </lines> aheinecke@6054: </dc:if> aheinecke@6054: </dc:context> aheinecke@6054: </dc:macro> aheinecke@6054: aheinecke@6054: <dc:macro name="flood-map-hws-points"> aheinecke@6054: <dc:context> aheinecke@6054: <dc:statement> aheinecke@6054: SELECT DISTINCT aheinecke@6054: name AS hws_name, aheinecke@6054: official AS hws_official, aheinecke@6054: kind_id AS hws_kind aheinecke@6054: FROM hws_points aheinecke@6054: WHERE river_id = ${river_id} aheinecke@6054: </dc:statement> aheinecke@6054: <dc:if test="dc:has-result()"> aheinecke@6054: <points> aheinecke@6054: <dc:call-macro name="filter_hws_ddg"/> aheinecke@6054: </points> aheinecke@6054: </dc:if> aheinecke@6054: </dc:context> aheinecke@6054: </dc:macro> aheinecke@6054: aheinecke@6053: <dc:macro name="flood-map-hydr-boundaries-state"> aheinecke@6053: <federal> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name aheinecke@6053: FROM hydr_boundaries aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND kind = 2 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <line factory="wmshydrboundariesfactory" aheinecke@6053: ids="{$river_id};{$name};2" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name aheinecke@6053: FROM hydr_boundaries_poly aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND kind = 2 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <line factory="wmshydrboundariespolyfactory" aheinecke@6053: ids="{$river_id};{$name};2" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </federal> aheinecke@6053: </dc:macro> teichmann@5524: aheinecke@6053: <dc:macro name="flood-map-hydr-boundaries-lines"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name aheinecke@6053: FROM hydr_boundaries aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND kind = 1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:comment> What about all other line kinds?</dc:comment> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <lines> aheinecke@6053: <dc:for-each> aheinecke@6053: <line factory="wmshydrboundariesfactory" aheinecke@6053: ids="{$river_id};{$name};1" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </lines> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> teichmann@5524: aheinecke@6053: <dc:macro name="flood-map-hydr-boundaries-poly"> aheinecke@6053: <areas> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: b.sectie AS sectie_id, aheinecke@6053: sk.name AS sectie aheinecke@6053: FROM hydr_boundaries_poly b aheinecke@6053: JOIN sectie_kinds sk ON b.sectie = sk.id aheinecke@6053: WHERE b.river_id = ${river_id} aheinecke@6053: AND b.kind = 1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <sobek_areas> aheinecke@6053: <dc:for-each> aheinecke@6053: <boundary name="{$sectie}" aheinecke@6053: factory="wmshydrboundariespolyfactory" aheinecke@6053: ids="{$river_id};{$sectie};1;{$sectie_id};-1"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </sobek_areas> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: b.sobek AS sobek_id, aheinecke@6053: sk.name AS sobek aheinecke@6053: FROM hydr_boundaries_poly b aheinecke@6053: JOIN sobek_kinds sk ON b.sobek = sk.id aheinecke@6053: WHERE b.river_id = ${river_id} aheinecke@6053: AND b.kind = 1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <sobek_flooded> aheinecke@6053: <dc:for-each> aheinecke@6053: <boundary name="{$sobek}" aheinecke@6053: factory="wmshydrboundariespolyfactory" aheinecke@6053: ids="{$river_id};{$sobek};1;-1;{$sobek_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </sobek_flooded> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: b.name AS name aheinecke@6053: FROM hydr_boundaries_poly b aheinecke@6053: WHERE b.river_id = ${river_id} aheinecke@6053: AND b.kind = 1 aheinecke@6053: AND b.sobek IS NULL aheinecke@6053: AND b.sectie is NULL aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <boundary name="{$name}" aheinecke@6053: factory="wmshydrboundariespolyfactory" aheinecke@6053: ids="{$river_id};{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </areas> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-uesk"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT 1 FROM floodmaps WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <uesk> aheinecke@6053: <calculations> teichmann@5523: <dc:context> teichmann@5523: <dc:statement> aheinecke@6053: SELECT DISTINCT 1 FROM floodmaps WHERE river_id = ${river_id} aheinecke@6053: AND (kind = 112 OR kind = 111) teichmann@5523: </dc:statement> teichmann@5523: <dc:if test="dc:has-result()"> aheinecke@6053: <current> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT name AS name aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 111 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <bfg> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmaps factory="wmsfloodmapsfactory" aheinecke@6053: ids="{$river_id};{$name}" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </bfg> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT name AS name aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 112 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <federal> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmaps factory="wmsfloodmapsfactory" aheinecke@6053: ids="{$river_id};{$name}" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </federal> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </current> teichmann@5523: </dc:if> teichmann@5523: </dc:context> aheinecke@5760: <dc:context> aheinecke@5760: <dc:statement> aheinecke@6053: SELECT DISTINCT 1 from floodmaps where river_id = ${river_id} aheinecke@6053: AND (kind = 122 OR kind = 121) aheinecke@5435: </dc:statement> aheinecke@5796: <dc:if test="dc:has-result()"> aheinecke@6053: <potential> aheinecke@5534: <dc:context> aheinecke@5534: <dc:statement> aheinecke@6053: SELECT DISTINCT name AS name aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 121 aheinecke@5534: </dc:statement> aheinecke@5534: <dc:if test="dc:has-result()"> aheinecke@6053: <bfg> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmaps factory="wmsfloodmapsfactory" aheinecke@6053: ids="{$river_id};{$name}" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </bfg> aheinecke@5534: </dc:if> aheinecke@5534: </dc:context> aheinecke@5534: <dc:context> aheinecke@5534: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS name aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 122 aheinecke@5534: </dc:statement> aheinecke@5534: <dc:if test="dc:has-result()"> aheinecke@6053: <federal> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmaps factory="wmsfloodmapsfactory" aheinecke@6053: ids="{$river_id};{$name}" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </federal> aheinecke@5534: </dc:if> aheinecke@5534: </dc:context> aheinecke@6053: </potential> aheinecke@5547: </dc:if> aheinecke@5547: </dc:context> aheinecke@6053: </calculations> aheinecke@6053: <dc:context> teichmann@5523: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: source AS source aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 200 teichmann@5523: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <measurements> teichmann@5523: <dc:for-each> aheinecke@6053: <year name="{$source}"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS name aheinecke@6053: FROM floodmaps aheinecke@6053: WHERE river_id = ${river_id} AND kind = 200 AND source = aheinecke@6053: ${source} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmaps factory="wmsfloodmapsfactory" aheinecke@6053: ids="{$river_id};{$name}" aheinecke@6053: name="{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </year> teichmann@5523: </dc:for-each> aheinecke@6053: </measurements> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </uesk> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> teichmann@5523: aheinecke@6053: <dc:macro name="flood-map-floodplain"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: fp.kind_id AS kind_id, aheinecke@6053: flk.name AS kind_name aheinecke@6053: FROM floodplain fp aheinecke@6053: JOIN floodplain_kinds flk on fp.kind_id = flk.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND kind_id=1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <floodplain> aheinecke@6053: <dc:filter expr="$kind_id=1"> aheinecke@6053: <dc:for-each> aheinecke@6053: <floody factory="wmsfloodplainfactory" aheinecke@6053: description="{$kind_name}" aheinecke@6053: ids="{$river_id};{$kind_name};{$kind_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:filter> aheinecke@6053: <dc:filter expr="kind_id!=1"> aheinecke@6053: <other> teichmann@5523: <dc:for-each> aheinecke@6053: <floody factory="wmsfloodplainfactory" aheinecke@6053: description="{$layer_name}" aheinecke@6053: ids="{$river_id};{$layer_name};{$kind_id}"/> teichmann@5523: </dc:for-each> aheinecke@6053: </other> aheinecke@6053: </dc:filter> aheinecke@6053: </floodplain> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> rrenkert@5015: aheinecke@6053: <dc:macro name="hwspoints_by_kind"> aheinecke@6053: <dc:comment> aheinecke@6053: Call from a context where fed_name hws_kind hws_name and river_id is aheinecke@6053: availble aheinecke@6053: </dc:comment> rrenkert@5015: aheinecke@6053: <dc:macro name="hwspoints_by_kind_factory"> aheinecke@6053: <dc:for-each> aheinecke@6053: <hws factory="wmshwspointsfactory" aheinecke@6053: ids="{$river_id};{$hws_name}" aheinecke@6053: name="{$hws_name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:macro> teichmann@5523: aheinecke@6053: <dc:filter expr="$hws_kind=1"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Durchlass> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind_factory"/> aheinecke@6053: </Durchlass> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> teichmann@5523: aheinecke@6053: <dc:filter expr="$hws_kind=2"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Damm> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind_factory"/> aheinecke@6053: </Damm> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> ingo@2096: aheinecke@6053: <dc:filter expr="$hws_kind=3"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Graben> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind_factory"/> aheinecke@6053: </Graben> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> teichmann@5523: aheinecke@6053: <dc:macro name="hwspoints"> aheinecke@6053: <hws_points> aheinecke@6053: <official> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: fs.name AS fed_name, aheinecke@6053: fs.id AS fed_id aheinecke@6053: FROM hws_points hws aheinecke@6053: JOIN fed_states fs ON hws.fed_state_id = fs.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND hws.official=1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> teichmann@5523: <dc:context> teichmann@5523: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_points aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=1 aheinecke@6053: AND fed_state_id = ${fed_id} ORDER BY name teichmann@5523: </dc:statement> aheinecke@6053: <fedstate description="{$fed_name}"> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind"/> aheinecke@6053: </fedstate> teichmann@5523: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT distinct aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_points aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=1 aheinecke@6053: AND fed_state_id IS NULL aheinecke@6053: ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <hws_fed_unknown> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind"/> aheinecke@6053: </hws_fed_unknown> aheinecke@6053: </dc:context> aheinecke@6053: </official> aheinecke@6053: <inofficial> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: fs.name AS fed_name, aheinecke@6053: fs.id AS fed_id aheinecke@6053: FROM hws_points hws aheinecke@6053: JOIN fed_states fs ON hws.fed_state_id = fs.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND hws.official=0 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_points aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=0 aheinecke@6053: AND fed_state_id = ${fed_id} ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <fedstate description="{$fed_name}"> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind"/> aheinecke@6053: </fedstate> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT distinct aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_points aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=0 aheinecke@6053: AND fed_state_id IS NULL ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <hws_fed_unknown> aheinecke@6053: <dc:call-macro name="hwspoints_by_kind"/> aheinecke@6053: </hws_fed_unknown> aheinecke@6053: </dc:context> aheinecke@6053: </inofficial> aheinecke@6053: </hws_points> aheinecke@6053: </dc:macro> teichmann@5523: aheinecke@6053: <dc:macro name="hwslines_by_kind"> aheinecke@6053: <dc:comment> aheinecke@6053: Call from a context where fed_name hws_kind hws_name and river_id is aheinecke@6053: availble aheinecke@6053: </dc:comment> rrenkert@5549: aheinecke@6053: <dc:macro name="hwslines_by_kind_factory"> aheinecke@6053: <dc:for-each> aheinecke@6053: <hws factory="wmshwslinesfactory" aheinecke@6053: ids="{$river_id};{$hws_name}" aheinecke@6053: name="{$hws_name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:macro> rrenkert@5549: aheinecke@6053: <dc:filter expr="$hws_kind=1"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Durchlass> aheinecke@6053: <dc:call-macro name="hwslines_by_kind_factory"/> aheinecke@6053: </Durchlass> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: aheinecke@6053: <dc:filter expr="$hws_kind=2"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Damm> aheinecke@6053: <dc:call-macro name="hwslines_by_kind_factory"/> aheinecke@6053: </Damm> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: aheinecke@6053: <dc:filter expr="$hws_kind=3"> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <Graben> aheinecke@6053: <dc:call-macro name="hwslines_by_kind_factory"/> aheinecke@6053: </Graben> aheinecke@6053: </dc:if> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="hwslines"> aheinecke@6053: <hws_lines> aheinecke@6053: <official> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: fs.name AS fed_name, aheinecke@6053: fs.id AS fed_id aheinecke@6053: FROM hws_lines hws aheinecke@6053: JOIN fed_states fs ON hws.fed_state_id = fs.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND hws.official=1 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_lines aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=1 aheinecke@6053: AND fed_state_id = ${fed_id} ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <fedstate description="{$fed_name}"> aheinecke@6053: <dc:call-macro name="hwslines_by_kind"/> aheinecke@6053: </fedstate> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT distinct aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_lines aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=1 aheinecke@6053: AND fed_state_id IS NULL aheinecke@6053: ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <hws_fed_unknown> aheinecke@6053: <dc:call-macro name="hwslines_by_kind"/> aheinecke@6053: </hws_fed_unknown> aheinecke@6053: </dc:context> aheinecke@6053: </official> aheinecke@6053: <inofficial> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: fs.name AS fed_name, aheinecke@6053: fs.id AS fed_id aheinecke@6053: FROM hws_lines hws aheinecke@6053: JOIN fed_states fs ON hws.fed_state_id = fs.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND hws.official=0 aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_lines aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=0 aheinecke@6053: AND fed_state_id = ${fed_id} ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <fedstate description="{$fed_name}"> aheinecke@6053: <dc:call-macro name="hwslines_by_kind"/> aheinecke@6053: </fedstate> aheinecke@6053: </dc:context> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT distinct aheinecke@6053: name AS hws_name, aheinecke@6053: kind_id AS hws_kind aheinecke@6053: FROM hws_lines aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: AND official=0 aheinecke@6053: AND fed_state_id IS NULL ORDER BY name aheinecke@6053: </dc:statement> aheinecke@6053: <hws_fed_unknown> aheinecke@6053: <dc:call-macro name="hwslines_by_kind"/> aheinecke@6053: </hws_fed_unknown> aheinecke@6053: </dc:context> aheinecke@6053: </inofficial> aheinecke@6053: </hws_lines> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="floodmarks"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: COALESCE(CAST (year AS VARCHAR(64)), 'Unbekanntes Jahr') AS year aheinecke@6053: FROM flood_marks aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <floodmarks> aheinecke@6053: <dc:for-each> aheinecke@6053: <floodmark name="{$year}" aheinecke@6053: factory="wmsfloodmarkfactory" aheinecke@6053: ids="{$river_id};{$year};{$year}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </floodmarks> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="catchments"> aheinecke@6053: <catchments> aheinecke@6053: <catchment_wms factory="externalwmsfactory" aheinecke@6053: ids="http://geoportal.bafg.de/wmsproxy/INSPIRE/DrainageBasin;HY.PHYSICALWATERS.CATCHMENTS;Einzugsgebiete (WMS)" /> aheinecke@6053: <dc:call-macro name="flood-map-gaugelocations"/> aheinecke@6053: </catchments> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-gaugelocations"> aheinecke@6053: <gaugelocations> aheinecke@6053: <gauge_points factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelpunkte;Pegelpunkte (WSV)"/> aheinecke@6053: <gauge_names factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelnamen;Pegelnamen (WSV)"/> aheinecke@6053: <gauge_level factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;Pegelwasserstand;Aktueller Wasserstand (WSV)"/> aheinecke@6053: <gauge_tendency factory="externalwmsfactory" ids="http://www.pegelonline.wsv.de/webservices/gis/wms;TendenzWasserstand;Tendenz des Wasserstands (WSV)"/> aheinecke@6053: </gaugelocations> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-riveraxis"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: ak.name AS kind_name, aheinecke@6053: ax.kind_id AS kind_id, aheinecke@6053: ax.name AS layer_name aheinecke@6053: FROM river_axes ax aheinecke@6053: JOIN axis_kinds ak on ax.kind_id = ak.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <axis> aheinecke@6053: <dc:filter expr="$kind_id=1"> aheinecke@6053: <dc:for-each> aheinecke@6053: <actual description="{$kind_name}" aheinecke@6053: ids="{$river_id};{$kind_name};{$kind_id}" aheinecke@6053: factory="riveraxis"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:filter> aheinecke@6053: <dc:filter expr="$kind_id!=1"> aheinecke@6053: <other> rrenkert@5591: <dc:for-each> aheinecke@6053: <misc-axis description="{$layer_name}" aheinecke@6053: ids="{$river_id};{$layer_name};{$kind_id}" aheinecke@6053: factory="riveraxis"/> rrenkert@5591: </dc:for-each> aheinecke@6053: </other> aheinecke@6053: </dc:filter> aheinecke@6053: </axis> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> rrenkert@5631: aheinecke@6053: <dc:macro name="flood-map-km"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT 1 FROM river_axes_km WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <kilometrage factory="wmskmfactory" ids="{$river_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> rrenkert@5631: aheinecke@6053: <dc:macro name="flood-map-fixpoints"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT name AS name aheinecke@6053: FROM fixpoints aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: GROUP BY name aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <fixpoints factory="wmsfixpointsfactory" aheinecke@6053: ids="{$river_id};{$name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="flood-map-qps"> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: cs.kind_id AS kind_id, aheinecke@6053: cs.name AS layer_name, aheinecke@6053: ck.name AS kind_name aheinecke@6053: FROM cross_section_tracks cs aheinecke@6053: JOIN cross_section_track_kinds ck ON cs.kind_id = ck.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <qps> aheinecke@6053: <dc:filter expr="$kind_id=1"> aheinecke@6053: <dc:for-each> aheinecke@6053: <actual description="{$kind_name}" aheinecke@6053: factory="wmsqpsfactory" aheinecke@6053: ids="{$river_id};{$kind_name};{$kind_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:filter> aheinecke@6053: <dc:filter expr="kind_id=0"> aheinecke@6053: <other> rrenkert@5669: <dc:for-each> aheinecke@6053: <misc-qps description="{$layer_name}" aheinecke@6053: factory="wmsqpsfactory" aheinecke@6053: ids="{$river_id};{$layer_name};{$kind_id}"/> rrenkert@5669: </dc:for-each> aheinecke@6053: </other> aheinecke@6053: </dc:filter> aheinecke@6053: </qps> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> rrenkert@5549: aheinecke@6053: <dc:macro name="flood-map-buildings"> aheinecke@6053: <buildings> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: b.name AS building_name, aheinecke@6053: bk.name AS building_kind, aheinecke@6053: b.kind_id AS building_kind_id aheinecke@6053: FROM buildings b aheinecke@6053: JOIN building_kinds bk ON b.kind_id = bk.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <dc:filter expr="$building_kind_id!=0"> aheinecke@6053: <dc:for-each> aheinecke@6053: <buildings description="{$building_kind}" aheinecke@6053: factory="wmsbuildingsfactory" aheinecke@6053: ids="{$river_id};{$building_kind};{$building_kind_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:filter> aheinecke@6053: <dc:filter expr="$building_kind_id=0"> aheinecke@6053: <other> aheinecke@6053: <dc:for-each> aheinecke@6053: <buildings description="{$building_name}" aheinecke@6053: factory="wmsbuildingsfactory" aheinecke@6053: ids="{$river_id};{$building_name}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </other> aheinecke@6053: </dc:filter> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: <dc:context> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT DISTINCT aheinecke@6053: j.kind_id AS jetty_kind_id, aheinecke@6053: jk.name AS jetty_kind aheinecke@6053: FROM jetties j aheinecke@6053: JOIN jetty_kinds jk ON j.kind_id = jk.id aheinecke@6053: WHERE river_id = ${river_id} aheinecke@6053: </dc:statement> aheinecke@6053: <dc:if test="dc:has-result()"> aheinecke@6053: <jetties> aheinecke@6053: <dc:for-each> aheinecke@6053: <jetty description="{$jetty_kind}" aheinecke@6053: factory="wmsjettiesfactory" aheinecke@6053: ids="{$river_id};{$jetty_kind};{$jetty_kind_id}"/> aheinecke@6053: </dc:for-each> aheinecke@6053: </jetties> aheinecke@6053: </dc:if> aheinecke@6053: </dc:context> aheinecke@6053: </buildings> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6054: <dc:macro name="officiallines_user"> aheinecke@6054: <dc:comment comment=".wst -------------------------------"/> aheinecke@6054: <officiallines> aheinecke@6054: <dc:for-each> aheinecke@6054: <dc:context> aheinecke@6054: <dc:statement> aheinecke@6054: SELECT m.id AS a_id, aheinecke@6054: m.state AS a_state, aheinecke@6054: m.gid AS a_gid, aheinecke@6054: m.creation AS a_creation, aheinecke@6054: ardg.v AS gaugy, aheinecke@6054: arv.v AS wqsingle aheinecke@6054: FROM master_artifacts m, aheinecke@6054: artifact_data ardg, aheinecke@6054: artifact_data arv aheinecke@6054: WHERE m.collection_id = ${collection_id} aheinecke@6054: AND m.gid = CAST(${artifact-id} AS uuid) aheinecke@6054: AND ardg.artifact_id = m.id aheinecke@6054: AND ardg.k = 'ld_gaugename' aheinecke@6054: AND arv.artifact_id = m.id aheinecke@6054: AND arv.k = 'wq_single' aheinecke@6054: AND EXISTS ( aheinecke@6054: SELECT id aheinecke@6054: FROM artifact_data ad aheinecke@6054: WHERE ad.artifact_id = m.id aheinecke@6054: AND k = 'river' aheinecke@6054: AND v = ${river}) aheinecke@6054: </dc:statement> aheinecke@6054: <dc:for-each> aheinecke@6054: <dc:context connection="system"> aheinecke@6054: <dc:statement> aheinecke@6054: SELECT ol.wst_id AS wstid, aheinecke@6054: ol.wst_column_pos AS wstcolpos, aheinecke@6054: ol.name AS olname, aheinecke@6054: ol.value AS oval aheinecke@6054: FROM official_q_values ol aheinecke@6054: WHERE ol.value = CAST(${wqsingle} AS NUMERIC(10,2)) aheinecke@6054: AND ol.gauge_name = ${gaugy} aheinecke@6054: </dc:statement> aheinecke@6054: <dc:for-each> aheinecke@6054: <dc:element name="${olname}"> aheinecke@6054: <dc:attribute name="name" value="${olname}"/> aheinecke@6054: <dc:attribute name="ids" value="additionals-wstv-${wstcolpos}-${wstid}"/> aheinecke@6054: <dc:attribute name="factory" value="staticwkms"/> aheinecke@6054: <dc:attribute name="out" value="${out}"/> aheinecke@6054: </dc:element> aheinecke@6054: </dc:for-each> aheinecke@6054: </dc:context> aheinecke@6054: </dc:for-each> aheinecke@6054: </dc:context> aheinecke@6054: </dc:for-each> aheinecke@6054: </officiallines> aheinecke@6054: </dc:macro> aheinecke@6054: aheinecke@6053: <!-- Common stuff --> aheinecke@6053: aheinecke@6053: <dc:macro name="km-filtered-wsts"> aheinecke@6053: <dc:context connection="system"> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT w.kind AS kind, aheinecke@6053: w.id AS wst_id, aheinecke@6053: wc.id AS wst_column_id, aheinecke@6053: wc.position AS wst_column_position, aheinecke@6053: wc.description AS info, aheinecke@6053: w.description AS wst_description, aheinecke@6053: wc.name AS wst_column_name, aheinecke@6053: wr.a AS deffrom, aheinecke@6053: wr.b AS defto aheinecke@6053: FROM wst_columns wc aheinecke@6053: JOIN wsts w ON wc.wst_id = w.id aheinecke@6053: JOIN wst_ranges wr ON wc.id = wr.wst_column_id aheinecke@6053: WHERE w.river_id = ${river_id} AND aheinecke@6053: NOT((${tokm} < wr.a) or (${fromkm} > wr.b)) aheinecke@6053: </dc:statement> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="km-filtered-userdata"> felix@6072: <dc:context connection="user"> felix@6072: <dc:comment>Select collections and masterartifacts.</dc:comment> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT c.name AS collection_name, aheinecke@6053: ma.id AS a_id, aheinecke@6053: ma.state AS a_state, aheinecke@6053: ma.gid AS a_gid, aheinecke@6053: ma.creation AS a_creation, felix@6069: COALESCE(ma.ld_mode, '') AS ld_m, felix@6069: COALESCE(ma.ld_locations, '') AS ld_l, felix@6069: COALESCE(ma.ld_from, '') AS ld_f, felix@6069: COALESCE(ma.ld_to, '') AS ld_t aheinecke@6053: FROM users u aheinecke@6053: JOIN collections c ON c.user_id = u.id aheinecke@6053: JOIN master_artifacts_range ma ON ma.collection_id = c.id felix@6070: WHERE u.gid = CAST(${user-id} AS UUID) aheinecke@6053: AND ma.gid <> CAST(${artifact-id} AS uuid) aheinecke@6053: AND EXISTS ( aheinecke@6053: SELECT id aheinecke@6053: FROM artifact_data ad aheinecke@6053: WHERE ad.artifact_id = ma.id aheinecke@6053: AND k = 'river' aheinecke@6053: AND v = ${river}) aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:variable name="from" type="number" expr="dc:fromValue($ld_m, $ld_l, $ld_f)"/> aheinecke@6053: <dc:variable name="to" type="number" expr="dc:toValue($ld_m, $ld_l, $ld_t)"/> felix@6071: <dc:if test="not (($tokm < $from) or $fromkm > $tokm)"> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:if> aheinecke@6053: </dc:for-each> aheinecke@6053: </dc:context> aheinecke@6053: </dc:macro> aheinecke@6053: aheinecke@6053: <dc:macro name="user-range"> aheinecke@6053: <dc:choose> aheinecke@6053: <dc:when test="dc:contains($parameters, 'user-id')"> aheinecke@6053: <dc:context connection="user"> aheinecke@6053: <dc:statement> aheinecke@6053: SELECT COALESCE(ld_mode, '') AS ldm, aheinecke@6053: COALESCE(ld_locations, '') AS ldl, aheinecke@6053: COALESCE(ld_from, '') AS ldf, aheinecke@6053: COALESCE(ld_to, '') AS ldt aheinecke@6053: FROM master_artifacts_range aheinecke@6053: WHERE gid = CAST(${artifact-id} AS uuid) aheinecke@6053: </dc:statement> aheinecke@6053: <dc:for-each> aheinecke@6053: <dc:variable name="fromkm" type="number" expr="dc:fromValue($ldm, $ldl, $ldf)"/> aheinecke@6053: <dc:variable name="tokm" type="number" expr="dc:toValue($ldm, $ldl, $ldt)"/> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:for-each> teichmann@5523: </dc:context> aheinecke@6053: </dc:when> aheinecke@6053: <dc:otherwise> aheinecke@6053: <dc:variable name="fromkm" type="number" expr="dc:fromValue('', '', '')"/> aheinecke@6053: <dc:variable name="tokm" type="number" expr="dc:toValue('', '', '')"/> aheinecke@6053: <dc:macro-body/> aheinecke@6053: </dc:otherwise> aheinecke@6053: </dc:choose> aheinecke@6053: </dc:macro> ingo@1657: aheinecke@6053: </datacage> sascha@1046: </dc:template>