Measurement.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. import java.math.BigDecimal;
  2. public class Measurement
  3. {
  4. private String stationId;
  5. private java.sql.Timestamp dateStamp;
  6. private short barometer;
  7. private short insideTemp;
  8. private short insideHum;
  9. private short outsideTemp;
  10. private short windSpeed;
  11. private short avgWindSpeed;
  12. private short windDir;
  13. private short outsideHum;
  14. private short rainRate;
  15. private short UVLevel;
  16. private short solarRad;
  17. private short xmitBatt;
  18. private short battLevel;
  19. private short sunrise;
  20. private short sunset;
  21. public Measurement()
  22. {
  23. }
  24. // stationId
  25. public void setStationId (String str) { this.stationId = str;};
  26. public String getStationId () { return stationId; };
  27. // dateStamp
  28. public void setDateStamp (java.sql.Timestamp ts) { this.dateStamp = ts;};
  29. public java.sql.Timestamp getDateStamp () { return dateStamp; };
  30. // barometer
  31. public void setRawBarometer (short val) { this.barometer = val;};
  32. public short getRawBarometer () { return barometer; };
  33. public double getBarometer () { return round(Calculator.luchtdruk(barometer),0); };
  34. // insideTemp
  35. public void setRawInsideTemp (short val) { this.insideTemp = val;};
  36. public short getRawInsideTemp () { return insideTemp; };
  37. public double getInsideTemp () { return round(Calculator.temperatuur(insideTemp),2); };
  38. // insideHum
  39. public void setRawInsideHum (short val) { this.insideHum = val;};
  40. public short getRawInsideHum () { return insideHum; };
  41. public double getInsideHum () { return round(Calculator.luchtVochtigheid(insideHum),0); };
  42. // outsideTemp
  43. public void setRawOutsideTemp (short val) { this.outsideTemp = val;};
  44. public short getRawOutsideTemp () { return outsideTemp; };
  45. public double getOutsideTemp () { return round(Calculator.temperatuur(outsideTemp),2); };
  46. // windSpeed
  47. public void setRawWindSpeed (short val) { this.windSpeed = val;};
  48. public short getRawWindSpeed () { return windSpeed; };
  49. public double getWindSpeed () { return round(Calculator.windSnelheid(windSpeed),2); };
  50. // avgWindSpeed
  51. public void setRawAvgWindSpeed (short val) { this.avgWindSpeed = val;};
  52. public short getRawAvgWindSpeed () { return avgWindSpeed; };
  53. public double getAvgWindSpeed () { return round(Calculator.windSnelheid(avgWindSpeed),2); };
  54. // windDir
  55. public void setRawWindDir (short val) { this.windDir = val;};
  56. public short getRawWindDir () { return windDir; };
  57. public String getWindDir () { return Calculator.windRichting(windDir); };
  58. // outsideHum
  59. public void setRawOutsideHum (short val) { this.outsideHum = val;};
  60. public short getRawOutsideHum () { return outsideHum; };
  61. public double getOutsideHum () { return round(Calculator.luchtVochtigheid(outsideHum),0); };
  62. // rainRate
  63. public void setRawRainRate (short val) { this.rainRate = val;};
  64. public short getRawRainRate () { return rainRate; };
  65. public double getRainRate () { return Calculator.regenmeter(rainRate); };
  66. // UVLevel
  67. public void setRawUVLevel (short val) { this.UVLevel = val;};
  68. public short getRawUVLevel () { return UVLevel; };
  69. public double getUVLevel () { return Math.ceil(Calculator.uvIndex(UVLevel)); };
  70. // solarRad
  71. public void setRawSolarRad (short val) { this.solarRad = val;};
  72. public short getRawSolarRad () { return solarRad; };
  73. public double getSolarRad () {return Calculator.solarRad(solarRad);}
  74. // xmitBatt
  75. public void setRawXmitBatt (short val) { this.xmitBatt = val;};
  76. public short getRawXmitBatt () { return xmitBatt; };
  77. // battLevel
  78. public void setRawBattLevel (short val) { this.battLevel = val;};
  79. public short getRawBattLevel () { return battLevel; };
  80. public double getBattLevel () { return round(Calculator.batterySpanning(battLevel),2); };
  81. // sunrise
  82. public void setRawSunrise (short val) { this.sunrise = val;};
  83. public short getRawSunrise () { return sunrise; };
  84. public String getSunrise () { return Calculator.sunRise(sunrise); };
  85. // sunset
  86. public void setRawSunset (short val) { this.sunset = val;};
  87. public short getRawSunset () { return sunset; };
  88. public String getSunset () { return Calculator.sunSet(sunset); };
  89. // windChill
  90. public double getWindChill () { return round(Calculator.windChill(outsideTemp, avgWindSpeed),2); };
  91. // heatIndex
  92. public double getHeatIndex () { return round(Calculator.heatIndex(outsideHum, outsideTemp),0); };
  93. // dewPoint
  94. public double getDewPoint () { return round(Calculator.dewPoint( getOutsideTemp() , outsideHum),2); };
  95. //wolkHoogte
  96. public double getCloudHeight () { return round(Calculator.cloudHeight(outsideTemp, outsideHum),1); };
  97. public String toString()
  98. {
  99. String s = "stationId = " + stationId
  100. + ", dateStamp = " + dateStamp
  101. + ", barometer = " + barometer
  102. + ", insideTemp = " + insideTemp
  103. + ", insideHum = " + insideHum
  104. + ", outsideTemp = " + outsideTemp
  105. + ", windSpeed = " + windSpeed
  106. + ", avgWindSpeed = " + avgWindSpeed
  107. + ", windDir = " + windDir
  108. + ", outsideHum = " + outsideHum
  109. + ", rainRate = " + rainRate
  110. + ", UVLevel = " + UVLevel
  111. + ", solarRad = " + solarRad
  112. + ", xmitBatt = " + xmitBatt
  113. + ", battLevel = " + battLevel
  114. + ", sunrise = " + sunrise
  115. + ", sunset = " + sunset;
  116. return s;
  117. }
  118. //afronder
  119. public double round(double unrounded, int precision)
  120. {
  121. BigDecimal bd = new BigDecimal(unrounded);
  122. BigDecimal rounded = bd.setScale(precision, BigDecimal.ROUND_HALF_UP);
  123. return rounded.doubleValue();
  124. }
  125. }