Measurement.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package weerstation;
  2. import java.math.BigDecimal;
  3. public class Measurement
  4. {
  5. private String stationId;
  6. private java.sql.Timestamp dateStamp;
  7. private short barometer;
  8. private short insideTemp;
  9. private short insideHum;
  10. private short outsideTemp;
  11. private short windSpeed;
  12. private short avgWindSpeed;
  13. private short windDir;
  14. private short outsideHum;
  15. private short rainRate;
  16. private short UVLevel;
  17. private short solarRad;
  18. private short xmitBatt;
  19. private short battLevel;
  20. private short sunrise;
  21. private short sunset;
  22. public Measurement()
  23. {
  24. }
  25. // stationId
  26. public void setStationId (String str) { this.stationId = str;};
  27. public String getStationId () { return stationId; };
  28. // dateStamp
  29. public void setDateStamp (java.sql.Timestamp ts) { this.dateStamp = ts;};
  30. public java.sql.Timestamp getDateStamp () { return dateStamp; };
  31. // barometer
  32. public void setRawBarometer (short val) { this.barometer = val;};
  33. public short getRawBarometer () { return barometer; };
  34. public double getBarometer () { return round(Calculator.luchtdruk(barometer),0); };
  35. // insideTemp
  36. public void setRawInsideTemp (short val) { this.insideTemp = val;};
  37. public short getRawInsideTemp () { return insideTemp; };
  38. public double getInsideTemp () { return round(Calculator.temperatuur(insideTemp),2); };
  39. // insideHum
  40. public void setRawInsideHum (short val) { this.insideHum = val;};
  41. public short getRawInsideHum () { return insideHum; };
  42. public double getInsideHum () { return round(Calculator.luchtVochtigheid(insideHum),0); };
  43. // outsideTemp
  44. public void setRawOutsideTemp (short val) { this.outsideTemp = val;};
  45. public short getRawOutsideTemp () { return outsideTemp; };
  46. public double getOutsideTemp () { return round(Calculator.temperatuur(outsideTemp),2); };
  47. // windSpeed
  48. public void setRawWindSpeed (short val) { this.windSpeed = val;};
  49. public short getRawWindSpeed () { return windSpeed; };
  50. public double getWindSpeed () { return round(Calculator.windSnelheid(windSpeed),2); };
  51. // avgWindSpeed
  52. public void setRawAvgWindSpeed (short val) { this.avgWindSpeed = val;};
  53. public short getRawAvgWindSpeed () { return avgWindSpeed; };
  54. public double getAvgWindSpeed () { return round(Calculator.windSnelheid(avgWindSpeed),2); };
  55. // windDir
  56. public void setRawWindDir (short val) { this.windDir = val;};
  57. public short getRawWindDir () { return windDir; };
  58. public String getWindDir () { return Calculator.windRichting(windDir); };
  59. // outsideHum
  60. public void setRawOutsideHum (short val) { this.outsideHum = val;};
  61. public short getRawOutsideHum () { return outsideHum; };
  62. public double getOutsideHum () { return round(Calculator.luchtVochtigheid(outsideHum),0); };
  63. // rainRate
  64. public void setRawRainRate (short val) { this.rainRate = val;};
  65. public short getRawRainRate () { return rainRate; };
  66. public double getRainRate () { return Calculator.regenmeter(rainRate); };
  67. // UVLevel
  68. public void setRawUVLevel (short val) { this.UVLevel = val;};
  69. public short getRawUVLevel () { return UVLevel; };
  70. public double getUVLevel () { return Math.ceil(Calculator.uvIndex(UVLevel)); };
  71. // solarRad
  72. public void setRawSolarRad (short val) { this.solarRad = val;};
  73. public short getRawSolarRad () { return 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, windSpeed),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. }