diff artifacts/doc/conf/meta-data.xml @ 9103:e68d4a10c308

Umsortierung in Datenkorb bzgl. min/max Sohlhöhen
author gernotbelger
date Tue, 29 May 2018 11:02:56 +0200
parents 7e60457f9d26
children ee77e544e890
line wrap: on
line diff
--- a/artifacts/doc/conf/meta-data.xml	Mon May 28 18:18:21 2018 +0200
+++ b/artifacts/doc/conf/meta-data.xml	Tue May 29 11:02:56 2018 +0200
@@ -261,17 +261,10 @@
 
                   <dc:comment> S-INFO </dc:comment>
                   <dc:when test="$out = 'sinfo_flowdepth_minfo_heights'">
-                    <dc:variable name="bed_height_type" expr="''"/>
-                    <dc:variable name="bed_height_descr_prefix" expr="''"/>
-                    <dc:variable name="bedheight_count" expr="'bedh_height_count'"/>
-                    <dc:call-macro name="bed-heights-single"/>
+                    <dc:call-macro name="bed-heights-single-MW"/>
                   </dc:when>
                   <dc:when test="$out = 'sinfo_flowdepthminmax_heights'">
-                    <!-- Selects bedheights that have min/max bedheights. According to BfG, it is safe to only assume min is present -->
-                    <dc:variable name="bed_height_type" expr="''"/>
-                    <dc:variable name="bed_height_descr_prefix" expr="''"/>
-                    <dc:variable name="bedheight_count" expr="'bedh_min_count'"/>
-                    <dc:call-macro name="bed-heights-single"/>
+                    <dc:call-macro name="bed-heights-single-KL_TW"/>
                   </dc:when>
                   <dc:when test="$out = 'sinfo_flowdepth_waterlevels'">
                     <minfo>
@@ -1621,19 +1614,6 @@
           <dc:call-macro name="sinfo_predefined_flowdepth-m"/>
         </sinfo_predefined_flowdepths>
 
-        <!-- Auf Wunsch BfG herausgenommen; erscheinen ebenfalls unter 'zusätzliche Längsschnitte' 
-        <sinfo_additional_ls>
-          <dc:call-macro name="basedata_1_additionals-sinfo-with-q"/>
-          <dc:call-macro name="basedata_1_additionals-sinfo-without-q"/>
-        </sinfo_additional_ls>
-         -->
-
-        <!-- TODO: soll nach MINFO -->
-        <bed_heights_minmax>
-          <dc:call-macro name="minfo-heights-max"/>
-          <dc:call-macro name="minfo-heights-min"/>
-        </bed_heights_minmax>
-
         <sinfo_predefined_tkh>
           <dc:call-macro name="sinfo_predefined_tkh-berechnung"/>
           <dc:call-macro name="sinfo_predefined_tkh-messung"/>
@@ -2005,39 +1985,32 @@
 
     <dc:macro name="minfo-heights">
       <bedheights>
-        <dc:variable name="bed_height_type" expr="''">
-          <!-- REMARK: empty type for the former, 'normal' bed height -->
-        </dc:variable>
-        <dc:variable name="bed_height_descr_prefix" expr="''"/>
-        <dc:variable name="bedheight_count" expr="'bedh_height_count'"/>
         <dc:call-macro name="bed-heights-single"/>
         <dc:call-macro name="bed-heights-epoch"/>
       </bedheights>
     </dc:macro>
 
-    <dc:macro name="minfo-heights-max">
-      <bedheights_max>
-        <dc:variable name="bed_height_type" expr="'Max'"/>
-        <dc:variable name="bed_height_descr_prefix" expr="'KL-'"/>
-        <dc:variable name="bedheight_count" expr="'bedh_max_count'"/>
-        <dc:call-macro name="bed-heights-single"/>
-        <dc:call-macro name="bed-heights-epoch"/>
-      </bedheights_max>
+    <!-- Show all three MW, TL, and KL bedheights -->
+    <dc:macro name="bed-heights-factory_MW_TW_KL">
+      <dc:for-each>
+        <dc:if test="$bedh_height_count > 0">
+          <height factory="bedheight" target_out="{$out}" ids="bedheight-single-{$bedh_id}-{$bedh_year}-MW-{$bedh_descr}" info="{$info}" description="MW-{$bedh_descr}"/>
+        </dc:if>
+        <dc:if test="$bedh_min_count > 0">
+          <height factory="bedheight" target_out="{$out}" ids="bedheight-singleMin-{$bedh_id}-{$bedh_year}-TW-{$bedh_descr}" info="{$info}" description="TW-{$bedh_descr}"/>
+        </dc:if>
+        <dc:if test="$bedh_max_count > 0">
+          <height factory="bedheight" target_out="{$out}" ids="bedheight-singleMax-{$bedh_id}-{$bedh_year}-KL-{$bedh_descr}" info="{$info}" description="KL-{$bedh_descr}"/>
+        </dc:if>
+      </dc:for-each>
     </dc:macro>
 
-    <dc:macro name="minfo-heights-min">
-      <bedheights_min>
-        <dc:variable name="bed_height_type" expr="'Min'"/>
-        <dc:variable name="bed_height_descr_prefix" expr="'TW-'"/>
-        <dc:variable name="bedheight_count" expr="'bedh_min_count'"/>
-        <dc:call-macro name="bed-heights-single"/>
-        <dc:call-macro name="bed-heights-epoch"/>
-      </bedheights_min>
-    </dc:macro>
-
-    <dc:macro name="bed-heights-factory">
+    <!-- Show only MW bed height and name it in a neutral way -->
+    <dc:macro name="bed-heights-factory_MW">
       <dc:for-each>
-        <height factory="bedheight" target_out="{$out}" ids="bedheight-single{$bed_height_type}-{$bedh_id}-{$bedh_year}-{$bed_height_descr_prefix}{$bedh_descr}" info="{$info}" description="{$bed_height_descr_prefix}{$bedh_descr}"/>
+        <dc:if test="$bedh_height_count > 0">
+          <height factory="bedheight" target_out="{$out}" ids="bedheight-single-{$bedh_id}-{$bedh_year}-{$bedh_descr}" info="{$info}" description="{$bedh_descr}"/>
+        </dc:if>
       </dc:for-each>
     </dc:macro>
 
@@ -2045,17 +2018,49 @@
       <single>
         <dc:context>
           <dc:call-macro name="bed-heights-statement"/>
-          <!--dc:filter expr="not(contains($bedh_descr, 'Epoche'))"-->
-            <dc:filter expr="dc:column($bedheight_count) > 0">
+            <dc:if test="dc:has-result()">
+              <dc:group expr="dc:coalesce($bedh_year, 'sonstige')">
+                <heights name="{dc:group-key()}">
+                  <dc:call-macro name="bed-heights-factory_MW_TW_KL"/>
+                </heights>
+              </dc:group>
+            </dc:if>
+        </dc:context>
+      </single>
+    </dc:macro>
+
+    <!-- Show bed heights that have MW values with a neutral name -->
+    <dc:macro name="bed-heights-single-MW">
+      <single>
+        <dc:context>
+          <dc:call-macro name="bed-heights-statement"/>
+            <dc:filter expr="$bedh_height_count">
               <dc:if test="dc:has-result()">
                 <dc:group expr="dc:coalesce($bedh_year, 'sonstige')">
                   <heights name="{dc:group-key()}">
-                    <dc:call-macro name="bed-heights-factory"/>
+                    <dc:call-macro name="bed-heights-factory_MW"/>
                   </heights>
                 </dc:group>
               </dc:if>
             </dc:filter>
-          <!--/dc:filter-->
+        </dc:context>
+      </single>
+    </dc:macro>
+
+    <!-- Show bed heights that have KL and TW values with a neutral name -->
+    <dc:macro name="bed-heights-single-KL_TW">
+      <single>
+        <dc:context>
+          <dc:call-macro name="bed-heights-statement"/>
+            <dc:filter expr="$bedh_max_count > 0 and $bedh_min_count > 0">
+              <dc:if test="dc:has-result()">
+                <dc:group expr="dc:coalesce($bedh_year, 'sonstige')">
+                  <heights name="{dc:group-key()}">
+                    <dc:call-macro name="bed-heights-factory_MW"/>
+                  </heights>
+                </dc:group>
+              </dc:if>
+            </dc:filter>
         </dc:context>
       </single>
     </dc:macro>
@@ -2065,9 +2070,7 @@
         <dc:context>
           <dc:call-macro name="bed-heights-statement"/>
           <dc:filter expr="contains($bedh_descr, 'Epoche')">
-            <dc:filter expr="dc:column($bedheight_count) > 0">
-              <dc:call-macro name="bed-heights-factory"/>
-            </dc:filter>
+            <dc:call-macro name="bed-heights-factory_MW_TW_KL"/>
           </dc:filter>
         </dc:context>
       </epoch>
@@ -2112,8 +2115,7 @@
         '&lt;BR&gt;Strecke: ' || round(r.a, 1) || '-' || round(r.b, 1) ||
         '&lt;BR&gt;Auswerter: ' || bhs.evaluation_by AS info,
         bhv.height_count AS bedh_height_count,
-        bhv.min_count AS
-        bedh_min_count,
+        bhv.min_count AS bedh_min_count,
         bhv.max_count AS bedh_max_count
         FROM bed_height bhs
         JOIN bed_height_type bht ON bht.id = bhs.type_id

http://dive4elements.wald.intevation.org