| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
-
-
- import java.sql.Timestamp;
- import java.math.BigDecimal;
- /**
- * Klasse die per instantie alle meetgegevens van één meetpunt opslaat.
- *
- * @author Kenneth van Ewijk
- */
- public class Measurement
- {
- private String stationId;
- private Timestamp dateStamp;
- private short barometer;
- private short insideTemp;
- private short insideHum;
- private short outsideTemp;
- private short windSpeed;
- private short avgWindSpeed;
- private short windDir;
- private short outsideHum;
- private short rainRate;
- private short UVLevel;
- private short solarRad;
- private short xmitBatt;
- private short battLevel;
- private short sunrise;
- private short sunset;
-
- public Measurement()
- {
- }
-
- // stationId
- public void setStationId (String str) { this.stationId = str;};
- public String getStationId () { return stationId; };
- // dateStamp
- public void setDateStamp (Timestamp ts) { this.dateStamp = ts;};
- public Timestamp getDateStamp () { return dateStamp; };
-
- // barometer
- public void setRawBarometer (short val) { this.barometer = val;};
- public short getRawBarometer () { return barometer; };
- public double getBarometer () { return round(Calculator.luchtdruk(barometer),0); };
- // insideTemp
- public void setRawInsideTemp (short val) { this.insideTemp = val;};
- public short getRawInsideTemp () { return insideTemp; };
- public double getInsideTemp () { return round(Calculator.temperatuur(insideTemp),2); };
- // insideHum
- public void setRawInsideHum (short val) { this.insideHum = val;};
- public short getRawInsideHum () { return insideHum; };
- public double getInsideHum () { return round(Calculator.luchtVochtigheid(insideHum),0); };
- // outsideTemp
- public void setRawOutsideTemp (short val) { this.outsideTemp = val;};
- public short getRawOutsideTemp () { return outsideTemp; };
- public double getOutsideTemp () { return round(Calculator.temperatuur(outsideTemp),2); };
- // windSpeed
- public void setRawWindSpeed (short val) { this.windSpeed = val;};
- public short getRawWindSpeed () { return windSpeed; };
- public double getWindSpeed () { return round(Calculator.windSnelheid(windSpeed),2); };
- // avgWindSpeed
- public void setRawAvgWindSpeed (short val) { this.avgWindSpeed = val;};
- public short getRawAvgWindSpeed () { return avgWindSpeed; };
- public double getAvgWindSpeed () { return round(Calculator.windSnelheid(avgWindSpeed),2); };
- // windDir
- public void setRawWindDir (short val) { this.windDir = val;};
- public short getRawWindDir () { return windDir; };
- public String getWindDir () { return Calculator.windRichting(windDir); };
- // outsideHum
- public void setRawOutsideHum (short val) { this.outsideHum = val;};
- public short getRawOutsideHum () { return outsideHum; };
- public double getOutsideHum () { return round(Calculator.luchtVochtigheid(outsideHum),0); };
- // rainRate
- public void setRawRainRate (short val) { this.rainRate = val;};
- public short getRawRainRate () { return rainRate; };
- public double getRainRate () { return Calculator.regenmeter(rainRate); };
- // UVLevel
- public void setRawUVLevel (short val) { this.UVLevel = val;};
- public short getRawUVLevel () { return UVLevel; };
- public double getUVLevel () { return Math.ceil(Calculator.uvIndex(UVLevel)); };
- // solarRad
- public void setRawSolarRad (short val) { this.solarRad = val;};
- public short getRawSolarRad () { return solarRad; };
- public double getSolarRad () { return Calculator.solarRad(solarRad); };
-
- // xmitBatt
- public void setRawXmitBatt (short val) { this.xmitBatt = val;};
- public short getRawXmitBatt () { return xmitBatt; };
- // battLevel
- public void setRawBattLevel (short val) { this.battLevel = val;};
- public short getRawBattLevel () { return battLevel; };
- public double getBattLevel () { return round(Calculator.batterySpanning(battLevel),2); };
- // sunrise
- public void setRawSunrise (short val) { this.sunrise = val;};
- public short getRawSunrise () { return sunrise; };
- public String getSunrise () { return Calculator.sunRise(sunrise); };
- // sunset
- public void setRawSunset (short val) { this.sunset = val;};
- public short getRawSunset () { return sunset; };
- public String getSunset () { return Calculator.sunSet(sunset); };
-
- // windChill
- public double getWindChill () { return round(Calculator.windChill(outsideTemp, avgWindSpeed),2); };
-
- // heatIndex
- public double getHeatIndex () { return round(Calculator.heatIndex(outsideHum, outsideTemp),0); };
-
- // dewPoint
- public double getDewPoint () { return round(Calculator.dewPoint( getOutsideTemp() , outsideHum),2); };
-
- //wolkHoogte
- public double getCloudHeight () { return round(Calculator.cloudHeight(outsideTemp, outsideHum),1); };
- /**
- * Zet alle data in een Measurement om naar een string
- *
- * @return Alle waarden in een string
- */
- public String toString()
- {
- String s = "stationId = " + stationId
- + ", dateStamp = " + dateStamp
- + ", barometer = " + barometer
- + ", insideTemp = " + insideTemp
- + ", insideHum = " + insideHum
- + ", outsideTemp = " + outsideTemp
- + ", windSpeed = " + windSpeed
- + ", avgWindSpeed = " + avgWindSpeed
- + ", windDir = " + windDir
- + ", outsideHum = " + outsideHum
- + ", rainRate = " + rainRate
- + ", UVLevel = " + UVLevel
- + ", solarRad = " + solarRad
- + ", xmitBatt = " + xmitBatt
- + ", battLevel = " + battLevel
- + ", sunrise = " + sunrise
- + ", sunset = " + sunset;
- return s;
- }
-
- /**
- * Rond een waarde af op een aangegeven aantal getallen achter de komma
- *
- * @param unrounded Het getal dat afgerond moet worden
- * @param precision Het aantal getallen dat achter de komma moet blijven staan
- *
- * @return Het afgeronde getal
- */
- private double round(double unrounded, int precision)
- {
- BigDecimal bd = new BigDecimal(unrounded);
- BigDecimal rounded = bd.setScale(precision, BigDecimal.ROUND_HALF_UP);
- return rounded.doubleValue();
- }
-
- }
|