Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java @ 3769:728ecd2afa20
Implemented bed quality calculation in minfo module.
flys-artifacts/trunk@5474 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 14 Sep 2012 14:20:42 +0000 |
parents | 75bc96dd9d82 |
children | a5f65e8983be |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java Fri Sep 14 14:14:46 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java Fri Sep 14 14:20:42 2012 +0000 @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map; +import org.apache.log4j.Logger; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.transform.BasicTransformerAdapter; @@ -14,11 +15,13 @@ public class QualityMeasurementFactory { + private static Logger logger = Logger.getLogger(QualityMeasurementFactory.class); + private static final String SQL_BED_MEASUREMENT = "SELECT st.km as km," + - " st.datum as date," + - " sp.tiefevon as depth1" + - " sp.tiefebis as depth2" + + " st.datum as datum," + + " sp.tiefevon as depth1," + + " sp.tiefebis as depth2," + " sa.d10 as d10," + " sa.d16 as d16," + " sa.d20 as d20," + @@ -34,19 +37,21 @@ " sa.d90 as d90," + " sa.dmin as dmin," + " sa.dmax as dmax " + - "FROM sohltest st" + - " JOIN station sn ON sn.stationid = st.stationid" + - " JOIN gewaesser gw ON gw.gewaesserid = sn.gewaesserid" + - " JOIN sohlprobe sp ON sp.sohltestid = st.sohltestid" + + "FROM sohltest st " + + " JOIN station sn ON sn.stationid = st.stationid " + + " JOIN gewaesser gw ON gw.gewaesserid = sn.gewaesserid " + + " JOIN sohlprobe sp ON sp.sohltestid = st.sohltestid " + " JOIN siebanalyse sa ON sa.sohlprobeid = sp.sohlprobeid " + "WHERE gw.name = :name AND " + " st.km IS NOT NULL AND " + - " st.km BETWEEN :from - 0.001 AND :to + 0.001 AND" + + " sp.tiefevon IS NOT NULL AND " + + " sp.tiefebis IS NOT NULL AND " + + " st.km BETWEEN :from - 0.001 AND :to + 0.001 AND " + " st.datum BETWEEN :start AND :end"; private static final String SQL_BEDLOAD_MEASUREMENT = "SELECT m.km as km," + - " m.datum as date," + + " m.datum as datum," + " m.d10 as d10," + " m.d16 as d16," + " m.d20 as d20," + @@ -83,14 +88,14 @@ Map<String, Double> map = new HashMap<String, Double>(); double km = 0; Date d = null; - double depth1 = 0; - double depth2 = 0; + double depth1 = Double.NaN; + double depth2 = Double.NaN; for (int i = 0; i < tuple.length; ++i) { if (tuple[i] != null) { if (aliases[i].equals("km")) { km = ((Number) tuple[i]).doubleValue(); } - else if (aliases[i].equals("date")) { + else if (aliases[i].equals("datum")) { d = (Date) tuple[i]; } else if (aliases[i].equals("depth1")) { @@ -100,7 +105,7 @@ depth2 = ((Number) tuple[i]).doubleValue(); } else { - map.put(aliases[i], (Double) tuple[i]); + map.put(aliases[i], ((Double) tuple[i])/1000); } } } @@ -122,7 +127,7 @@ ) { SQLQuery query = session.createSQLQuery(statement) .addScalar("km", StandardBasicTypes.DOUBLE) - .addScalar("date", StandardBasicTypes.DATE) + .addScalar("datum", StandardBasicTypes.DATE) .addScalar("d10", StandardBasicTypes.DOUBLE) .addScalar("d16", StandardBasicTypes.DOUBLE) .addScalar("d20", StandardBasicTypes.DOUBLE) @@ -168,7 +173,7 @@ SQL_BED_MEASUREMENT); } finally { - session.close(); + //session.close(); } }