changeset 5591:55d6c5cac9d1

Added new elements to M-INFO datacage. * New macros for density, porosity and flow velocity. * Added annotations to 'Sohlbeschaffenheit'.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 08 Apr 2013 14:52:59 +0200
parents 1827798ca53f
children e4a59c795ff6
files flys-artifacts/doc/conf/artifacts/minfo.xml flys-artifacts/doc/conf/meta-data.xml flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java
diffstat 3 files changed, 127 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/doc/conf/artifacts/minfo.xml	Mon Apr 08 11:24:39 2013 +0200
+++ b/flys-artifacts/doc/conf/artifacts/minfo.xml	Mon Apr 08 14:52:59 2013 +0200
@@ -362,6 +362,7 @@
                         <facet name="bed_longitudinal_section.bed_diameter_sublayer"/>
                         <facet name="bed_longitudinal_section.manualpoints" />
                     	<facet name="bed_longitudinal_section.bedload_diameter"/>
+                        <facet name="longitudinal_section.annotations" description="facet.longitudinal_section.annotations"/>
                     </facets>
                 </outputmode>
                 <outputmode name="bed_quality_export" description="output.bed_quality_export" type="export">
--- a/flys-artifacts/doc/conf/meta-data.xml	Mon Apr 08 11:24:39 2013 +0200
+++ b/flys-artifacts/doc/conf/meta-data.xml	Mon Apr 08 14:52:59 2013 +0200
@@ -729,6 +729,9 @@
               <dc:call-macro name="annotations_per_type"/>
               <dc:call-macro name="flow_velocity_measurements"/>
             </dc:if>
+            <dc:if test="dc:contains($artifact-outs, 'bed_longitudinal_section')">
+              <dc:call-macro name="annotations_per_type"/>
+            </dc:if>
             <dc:comment>
               MINFO bedheight middle
             </dc:comment>
@@ -2565,6 +2568,116 @@
               </bed_quality_load>
             </dc:macro>
 
+            <dc:macro name="bedquality-density">
+              <bed_quality_density>
+                <dc:for-each>
+                  <dc:context>
+                    <dc:call-macro name="range-filter">
+                      <dc:context>
+                        <dc:statement>
+                          SELECT a.gid         AS aid,
+                                 f.id          AS fid,
+                                 f.name        AS facet_name,
+                                 f.num         AS facet_num,
+                                 f.description AS facet_description
+                          FROM outs AS o, facets AS f, artifacts AS a
+                          WHERE
+                             (f.name = 'bed_longitudinal_section.sediment_density_toplayer' OR
+                              f.name = 'bed_longitudinal_section.sediment_density_sublayer') AND
+                             f.out_id = o.id         AND
+                             o.artifact_id = ${a_id} AND
+                             a.id = ${a_id}
+                        </dc:statement>
+                        <dc:for-each>
+                          <dc:element name="${facet_name}">
+                            <dc:attribute name="factory" value="minfo"/>
+                            <dc:attribute name="description" value="${facet_description}"/>
+                            <dc:attribute name="ids" value="${facet_num}-${facet_name}"/>
+                            <dc:attribute name="artifact-id" value="${aid}"/>
+                            <dc:attribute name="out" value="bed_longitudinal_section"/>
+                          </dc:element>
+                        </dc:for-each>
+                      </dc:context>
+                    </dc:call-macro>
+                  </dc:context>
+                </dc:for-each>
+              </bed_quality_density>
+            </dc:macro>
+
+            <dc:macro name="bedquality-porosity">
+              <bed_quality_porosity>
+                <dc:for-each>
+                  <dc:context>
+                    <dc:call-macro name="range-filter">
+                      <dc:context>
+                        <dc:statement>
+                          SELECT a.gid         AS aid,
+                                 f.id          AS fid,
+                                 f.name        AS facet_name,
+                                 f.num         AS facet_num,
+                                 f.description AS facet_description
+                          FROM outs AS o, facets AS f, artifacts AS a
+                          WHERE
+                             (f.name = 'bed_longitudinal_section.porosity_toplayer' OR
+                              f.name = 'bed_longitudinal_section.porosity_sublayer') AND
+                             f.out_id = o.id         AND
+                             o.artifact_id = ${a_id} AND
+                             a.id = ${a_id}
+                        </dc:statement>
+                        <dc:for-each>
+                          <dc:element name="${facet_name}">
+                            <dc:attribute name="factory" value="minfo"/>
+                            <dc:attribute name="description" value="${facet_description}"/>
+                            <dc:attribute name="ids" value="${facet_num}-${facet_name}"/>
+                            <dc:attribute name="artifact-id" value="${aid}"/>
+                            <dc:attribute name="out" value="bed_longitudinal_section"/>
+                          </dc:element>
+                        </dc:for-each>
+                      </dc:context>
+                    </dc:call-macro>
+                  </dc:context>
+                </dc:for-each>
+              </bed_quality_porosity>
+            </dc:macro>
+
+            <dc:macro name="flow-velocity">
+              <flow-velocity>
+                <dc:for-each>
+                  <dc:context>
+                    <dc:call-macro name="range-filter">
+                      <dc:context>
+                        <dc:statement>
+                          SELECT a.gid         AS aid,
+                                 f.id          AS fid,
+                                 f.name        AS facet_name,
+                                 f.num         AS facet_num,
+                                 f.description AS facet_description
+                          FROM outs AS o, facets AS f, artifacts AS a
+                          WHERE
+                            (f.name = 'flow_velocity.totalchannel' OR
+                             f.name = 'flow_velocity.mainchannel' OR
+                             f.name = 'flow_velocity.totalchannel.filtered' OR
+                             f.name = 'flow_velocity.mainchannel.filtered') AND
+                             f.out_id = o.id         AND
+                             o.artifact_id = ${a_id} AND
+                             a.id = ${a_id}
+                        </dc:statement>
+                        <dc:for-each>
+                          <dc:element name="${facet_name}">
+                            <dc:attribute name="factory" value="minfo"/>
+                            <dc:attribute name="description" value="${facet_description}"/>
+                            <dc:attribute name="ids" value="${facet_num}-${facet_name}"/>
+                            <dc:attribute name="artifact-id" value="${aid}"/>
+                            <dc:attribute name="out" value="bed_longitudinal_section"/>
+                          </dc:element>
+                        </dc:for-each>
+                      </dc:context>
+                    </dc:call-macro>
+                  </dc:context>
+                </dc:for-each>
+              </flow-velocity>
+            </dc:macro>
+
 
             <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'discharge_longitudinal_section') or (dc:contains($artifact-outs, 'w_differences')))">
               <dc:call-macro name="longitudinal"/>
@@ -2613,9 +2726,13 @@
             </dc:if>
             <dc:if test="dc:contains($artifact-outs, 'flow_velocity')">
               <dc:call-macro name="bedquality-bed"/>
+              <dc:call-macro name="bedquality-load"/>
             </dc:if>
-            <dc:if test="dc:contains($artifact-outs, 'flow_velocity')">
+            <dc:if test="dc:contains($artifact-outs, 'bed_longitudinal_section')">
+              <dc:call-macro name="bedquality-bed"/>
               <dc:call-macro name="bedquality-load"/>
+              <dc:call-macro name="bedquality-density"/>
+              <dc:call-macro name="bedquality-porosity"/>
             </dc:if>
           </dc:context>
         </dc:call-macro>
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java	Mon Apr 08 11:24:39 2013 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java	Mon Apr 08 14:52:59 2013 +0200
@@ -12,6 +12,7 @@
 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterResult;
 import de.intevation.flys.exports.StyledSeriesBuilder;
 import de.intevation.flys.exports.XYChartGenerator;
+import de.intevation.flys.jfree.FLYSAnnotation;
 import de.intevation.flys.jfree.StyledXYSeries;
 
 
@@ -182,6 +183,13 @@
                 (BedParametersResult) artifactAndFacet.getData(context),
                 artifactAndFacet, attr, visible);
         }
+        else if (name.equals(LONGITUDINAL_ANNOTATION)) {
+            doAnnotations(
+                (FLYSAnnotation) artifactAndFacet.getData(context),
+                 artifactAndFacet,
+                 attr,
+                 visible);
+        }
         else if (FacetTypes.IS.MANUALPOINTS(name)) {
             doPoints(artifactAndFacet.getData(context), artifactAndFacet, attr,
                 visible, YAXIS.W.idx);

http://dive4elements.wald.intevation.org