Measurement.java 5.9 KB

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