changeset 216:9db263ee2678

Added Workflow for determining the Query-Parameters for Horizontal cross-sections. gnv-artifacts/trunk@274 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Wed, 28 Oct 2009 16:26:03 +0000
parents c92a6e0ab79a
children 3dcd2b0b456e
files gnv-artifacts/ChangeLog gnv-artifacts/doc/conf/conf.xml gnv-artifacts/doc/conf/products/horizontalcrosssection/conf_mesh.xml gnv-artifacts/doc/conf/queries.properties gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java gnv-artifacts/src/main/resources/lang/artifactMessages.properties gnv-artifacts/src/main/resources/lang/artifactMessages_de.properties gnv-artifacts/src/main/resources/lang/artifactMessages_de_DE.properties gnv-artifacts/src/main/resources/lang/artifactMessages_en.properties
diffstat 9 files changed, 218 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/ChangeLog	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/ChangeLog	Wed Oct 28 16:26:03 2009 +0000
@@ -1,5 +1,13 @@
 2009-10-28  Tim Englich  <tim.englich@intevation.de>
 
+	* src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java (HorizontalCrossSectionMeshArtifact):,
+	  doc/conf/queries.properties,
+	  doc/conf/conf.xml,
+	  doc/conf/products/horizontalcrosssection/conf_mesh.xml, 
+	  src/main/resources/lang/artifactMessages* .properties,
+	  Added Workflow for determining the Query-Parameters for  Horizontal cross-sections.
+	 
+2009-10-28  Tim Englich  <tim.englich@intevation.de>
 	* doc/conf/conf.xml: 
 	  Added Configuration for two new FIS. Current Meter and Ice Station Reports
 	* src/main/resources/lang/artifactMessages*.properties: 
--- a/gnv-artifacts/doc/conf/conf.xml	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/doc/conf/conf.xml	Wed Oct 28 16:26:03 2009 +0000
@@ -173,6 +173,14 @@
                         <parameter name="fisname" value="fis_modeldata"/>
                     </parameters>
                 </product>
+                <product name= "horizontalCrossSection">
+                    <artifact-factory name="horizontalCrossSectionMesh" description="Artiefactfactory for Instantiating the Artifact for the FIS Modeldata"  
+                             ttl="300000" artifact="de.intevation.gnv.profile.horizontalcrosssection.HorizontalCrossSectionMeshArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
+                    <parameters>
+                        <parameter name="sourceid" value="2"/>
+                        <parameter name="fisname" value="fis_modeldata"/>
+                    </parameters>
+                </product>
             </products>
         </artifact>
 
@@ -194,6 +202,14 @@
                         <parameter name="fisname" value="fis_eisklimatologie"/>
                     </parameters>
                 </product>
+                <product name= "horizontalCrossSection">
+                    <artifact-factory name="horizontalCrossSectionMesh" description="Artiefactfactory for Instantiating the Artifact for the FIS Modeldata"  
+                             ttl="300000" artifact="de.intevation.gnv.profile.horizontalcrosssection.HorizontalCrossSectionMeshArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
+                    <parameters>
+                        <parameter name="sourceid" value="38"/>
+                        <parameter name="fisname" value="fis_eisklimatologie"/>
+                    </parameters>
+                </product>
             </products>
         </artifact>
         
@@ -234,6 +250,17 @@
                          <parameter name="fisname" value="fis_sst"/>
                     </parameters>
                 </product>
+                 <product name= "horizontalCrossSection">
+                    <artifact-factory name="horizontalCrossSectionMesh" description="Artiefactfactory for Instantiating the Artifact for the FIS Modeldata"  
+                             ttl="300000" artifact="de.intevation.gnv.profile.horizontalcrosssection.HorizontalCrossSectionMeshArtifact">de.intevation.artifactdatabase.DefaultArtifactFactory</artifact-factory>
+                    <parameters>
+                        <parameter name="sourceid" value="39"/>
+                         <parameter name="sourceid" value="40"/>
+                         <parameter name="sourceid" value="41"/>
+                         <parameter name="sourceid" value="42"/>
+                        <parameter name="fisname" value="fis_sst"/>
+                    </parameters>
+                </product>
             </products>
         </artifact>
         
@@ -337,6 +364,8 @@
         <artifact name="horizontalProfileInstantaneousPoint" xlink:href="${artifacts.config.dir}/products/horizontalprofile/conf_instantaneouspoint.xml" />
         
         <artifact name="verticalCrossSectionMesh" xlink:href="${artifacts.config.dir}/products/verticalcrosssection/conf_mesh.xml" />
+        
+        <artifact name="horizontalCrossSectionMesh" xlink:href="${artifacts.config.dir}/products/horizontalcrosssection/conf_mesh.xml" />
     </artifacts>
     <ehcache>
         <configuration>${artifacts.config.dir}/ehcache.xml</configuration>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalcrosssection/conf_mesh.xml	Wed Oct 28 16:26:03 2009 +0000
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="horizontalCrossSectionMesh">
+    <transitions>
+        <transition id="horizontalcrosssection_mesh" description="horizontalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_mesh</queryID>
+            <dataname>meshid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                   <transition>horizontalcrosssection_meshpoint_depth</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="horizontalcrosssection_meshpoint_depth" description="horizontalcrosssection_meshpoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>horizontalcrosssection_meshpoint_depth</queryID>
+            <dataname>depthid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                <transition>horizontalcrosssection_meshpoint_parameter</transition>v
+            </reachableTransitions>
+            <inputvalues>
+                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+
+        <transition id="horizontalcrosssection_meshpoint_parameter" description="horizontalcrosssection_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_mesh_parameter</queryID>
+            <dataname>parameterid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                <transition>horizontalcrosssection_mesh_date</transition>
+            </reachableTransitions>
+            <inputvalues>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="horizontalcrosssection_mesh_date" description="horizontalcrosssection_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalcrosssection_mesh_date</queryID>
+           <dataname>dateid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+                <transition>horizontalcrosssection_mesh_calculate_results</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
+               <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="1" />
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+        </transition>
+        
+        <transition id="horizontalcrosssection_mesh_calculate_results" description="horizontalcrosssection_mesh_calculate_results" transition="de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition">
+            <queryID>horizontalcrosssection_mesh_data</queryID>
+            <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="0" />
+                <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0" />
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+            <value-names>
+                <value-name name="feature" value="meshid"></value-name>
+                <value-name name="parameter" value="parameterid"></value-name>
+                <value-name name="measurement" value="depthid"></value-name>
+            </value-names>
+            <outputsModes>
+                <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                    </parameters>
+                </outputsMode>
+                <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+            </outputsModes>
+        </transition>
+        
+    </transitions>
+</artifact>
\ No newline at end of file
--- a/gnv-artifacts/doc/conf/queries.properties	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/doc/conf/queries.properties	Wed Oct 28 16:26:03 2009 +0000
@@ -544,7 +544,7 @@
              
 #############################################
 #############################################
-########### Profilschnitt MESH ###########
+############# Profilschnitt MESH ############
 #############################################
 #############################################
 verticalcrosssection_mesh_date = select  distinct \
@@ -588,4 +588,33 @@
              msv.PARAMETERID, \
              MEDIAN.MESHPOINT.JPOSITION , \
              MEDIAN.MESHPOINT.IPOSITION, \
-             MEDIAN.MESHPOINT.KPOSITION
\ No newline at end of file
+             MEDIAN.MESHPOINT.KPOSITION
+             
+#############################################
+#############################################
+########## Horizontalschnitt MESH ###########
+#############################################
+#############################################
+horizontalcrosssection_meshpoint_depth = SELECT DISTINCT MP.KPOSITION KEY, \
+        'Layer ' || ML.KPOSITION || ': ' || -ML.UPPERZLOCATION || ' - '|| -ML.LOWERZLOCATION VALUE \
+    from MEDIAN.MESHLAYER ML, \
+         MEDIAN.MESHPOINT MP, \
+         MEDIAN.MESH M \
+    WHERE ML.KPOSITION = MP.KPOSITION AND \
+          ML.MESHID = MP.MESHID AND \
+          M.OBJECTID = ? AND \
+          MP.MESHID = M.MESHID \
+    ORDER BY MP.KPOSITION
+    
+horizontalcrosssection_mesh_date = select  distinct \
+        msv.TIMEVALUE KEY, \
+        msv.TIMEVALUE VALUE \
+    from MEDIAN.MESHSCALARVALUE msv , \
+         MEDIAN.MESH m \
+    where m.OBJECTID = ?  AND \
+          msv.PARTID >= m.PARTIDMIN AND \
+          msv.PARTID <= m.PARTIDMAX AND \
+          msv.PARAMETERID = ? \
+    order by msv.TIMEVALUE
+    
+horizontalcrosssection_mesh_data = Select 1 from dual;
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java	Wed Oct 28 16:26:03 2009 +0000
@@ -0,0 +1,56 @@
+/**
+ *
+ */
+package de.intevation.gnv.profile.horizontalcrosssection;
+
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+
+import de.intevation.artifacts.ArtifactFactory;
+import de.intevation.artifacts.CallContext;
+import de.intevation.gnv.artifacts.GNVArtifactBase;
+
+/**
+ * @author Tim Englich <tim.englich@intevation.de>
+ * 
+ */
+public class HorizontalCrossSectionMeshArtifact extends GNVArtifactBase {
+    /**
+     *
+     */
+    private static final long serialVersionUID = -2687278172203755640L;
+    /**
+     * the logger, used to log exceptions and additonaly information
+     */
+    private static Logger log = Logger
+            .getLogger(HorizontalCrossSectionMeshArtifact.class);
+
+
+    /**
+     * Constructor
+     */
+    public HorizontalCrossSectionMeshArtifact() {
+        super();
+        log.debug("HorizontalCrossSectionMeshArtifact.Constructor");
+        this.name = "horizontalCrossSectionMesh";
+    }
+    
+    /**
+     * @see de.intevation.artifactdatabase.DefaultArtifact#describe(java.lang.Object)
+     */
+    @Override
+    public Document describe(CallContext context) {
+        log.debug("HorizontalCrossSectionMeshArtifact.describe");
+        return super.createDescibeOutput(context.getMeta(),super.identifier);
+    }
+
+    /**
+     * @see de.intevation.gnv.artifacts.GNVArtifactBase#setup(java.lang.String,
+     *      de.intevation.artifacts.ArtifactFactory, java.lang.Object)
+     */
+    @Override
+    public void setup(String identifier, ArtifactFactory factory, Object context) {
+        log.debug("HorizontalCrossSectionMeshArtifact.setup");
+        super.setup(identifier, factory, context);
+    }
+}
--- a/gnv-artifacts/src/main/resources/lang/artifactMessages.properties	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/src/main/resources/lang/artifactMessages.properties	Wed Oct 28 16:26:03 2009 +0000
@@ -20,6 +20,8 @@
 timeSeries= Timeseries
 verticalProfile = Verticalprofile
 horizontalProfile = Horizontalprofile
+horizontalCrossSection = Horizontal cross-section
+verticalcrosssection = Vertical cross-section
 featureid = Station
 mesh_coordinate = Geographic position (e.g. 56n30 6e20)
 mesh_point = Mesh Point
--- a/gnv-artifacts/src/main/resources/lang/artifactMessages_de.properties	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/src/main/resources/lang/artifactMessages_de.properties	Wed Oct 28 16:26:03 2009 +0000
@@ -19,6 +19,8 @@
 timeSeries= Zeitserie
 verticalProfile = Vertikalprofil
 horizontalProfile = Horizontalprofil
+horizontalCrossSection = Horizontalschnitt
+verticalcrosssection = Profilschnitt
 featureid = Station
 meshid= Netz
 mesh_coordinate = Position (z.B. 56n30 6e20)
--- a/gnv-artifacts/src/main/resources/lang/artifactMessages_de_DE.properties	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/src/main/resources/lang/artifactMessages_de_DE.properties	Wed Oct 28 16:26:03 2009 +0000
@@ -19,6 +19,8 @@
 timeSeries= Zeitserie
 verticalProfile = Vertikalprofil
 horizontalProfile = Horizontalprofil
+horizontalCrossSection = Horizontalschnitt
+verticalcrosssection = Profilschnitt
 featureid = Station
 meshid= Netz
 mesh_coordinate = Position (z.B. 56n30 6e20)
--- a/gnv-artifacts/src/main/resources/lang/artifactMessages_en.properties	Wed Oct 28 09:53:57 2009 +0000
+++ b/gnv-artifacts/src/main/resources/lang/artifactMessages_en.properties	Wed Oct 28 16:26:03 2009 +0000
@@ -20,6 +20,8 @@
 timeSeries= Timeseries
 verticalProfile = Verticalprofile
 horizontalProfile = Horizontalprofile
+horizontalCrossSection = Horizontal cross-section
+verticalcrosssection = Vertical cross-section
 featureid = Station
 mesh_coordinate = Geographic position (e.g. 56n30 6e20)
 mesh_point = Mesh Point

http://dive4elements.wald.intevation.org