FIXED ALL THE FUCKING THINGS

Ik haat school... eeuwen met de code bezig, blijven maar foute data uit
komen... blijkt alle data in de database zo'n beetje corrupt te zijn als
je 3 maanden of meer terugkijkt... wat een onzin zeg.
This commit is contained in:
Kenneth van Ewijk
2014-10-20 19:00:42 +02:00
parent d85c47b430
commit 38e5715cd6
6 changed files with 43 additions and 28 deletions
+6 -15
View File
@@ -200,24 +200,15 @@ public class Calculator {
public static Periode timeStampToPeriode(Timestamp timeStamp1, Timestamp timeStamp2)
{
Periode periode = new Periode();
Calendar cal = Calendar.getInstance();
int year,month,day;
//Zet de eerste TimeStamp om
cal.setTime(new Date(timeStamp1.getTime()));
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH+1);
day = cal.get(Calendar.DAY_OF_MONTH);
periode.setBeginPeriode(year,month, day);
String[] ts1 = timeStamp1.toString().split(" ");
ts1 = ts1[0].split("-");
periode.setBeginPeriode(Integer.valueOf(ts1[0]), Integer.valueOf(ts1[1]), Integer.valueOf(ts1[2]));
//Zet de tweede TimeStamp om
cal.setTime(new Date(timeStamp2.getTime()));
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH+1);
day = cal.get(Calendar.DAY_OF_MONTH);
periode.setEindePeriode(year,month, day);
String[] ts2 = timeStamp2.toString().split(" ");
ts2 = ts2[0].split("-");
periode.setEindePeriode(Integer.valueOf(ts2[0]), Integer.valueOf(ts2[1]), Integer.valueOf(ts2[2]));
return periode;
}
+19 -2
View File
@@ -172,6 +172,8 @@ public class GUIboard {
clearBottom();
msList = normalizeData(msList, (max-min)/32);
max = StatisticsCalculator.max(msList)+1;
min = StatisticsCalculator.min(msList)-1 > 0 ? StatisticsCalculator.min(msList)-1 : StatisticsCalculator.min(msList);
createAxis(min,max);
@@ -214,7 +216,22 @@ public class GUIboard {
private static ArrayList<Double> normalizeData(ArrayList<Double> data2 , double margin){
ArrayList<Double> data = new ArrayList<Double>(data2);
ArrayList<Double> data = new ArrayList<Double>();
int deler = data2.size() / 256; //Delen door het aantal punten dat je over wil houden.
double avg=0;
for(int q=0;q<data2.size(); q++)
{
if(q%deler==0)
{
avg /= deler;
data.add(avg);
avg=0;
}
avg += data2.get(q);
}
double prevPrevVal = 0.0, prevVal = 0.0, nextVal = 0.0, nextNextVal = 0.0, avrVal = 0.0, setVal = 0.0;
@@ -225,7 +242,7 @@ public class GUIboard {
if(i + 2 < data.size()){
nextNextVal = data.get(i+2);
}
if(prevPrevVal > 0 && prevVal > 0 && nextVal > 0 && nextNextVal > 0){
if(prevPrevVal != 0 && prevVal != 0 && nextVal != 0 && nextNextVal != 0){
avrVal = (prevPrevVal + prevVal + nextVal + nextNextVal) / 4;
if((data.get(i) - avrVal) >= margin){
setVal = avrVal;
+6 -6
View File
@@ -1,4 +1,4 @@
package weerstation;
import java.util.GregorianCalendar;
import java.util.Calendar;
@@ -24,8 +24,8 @@ public class Periode
public Periode(Calendar cal1, Calendar cal2){
beginPeriode = new GregorianCalendar();
eindePeriode = new GregorianCalendar();
setBeginPeriode(cal2.get(Calendar.YEAR), cal2.get(Calendar.MONTH), cal2.get(Calendar.DAY_OF_MONTH));
setEindePeriode(cal1.get(Calendar.YEAR), cal1.get(Calendar.MONTH), cal1.get(Calendar.DAY_OF_MONTH));
setBeginPeriode(cal2.get(Calendar.YEAR), cal2.get(Calendar.MONTH), cal2.get(Calendar.DATE));
setEindePeriode(cal1.get(Calendar.YEAR), cal1.get(Calendar.MONTH), cal1.get(Calendar.DATE));
}
public GregorianCalendar getBeginPeriode()
@@ -50,9 +50,9 @@ public class Periode
public String toString()
{
String returnString = beginPeriode.get(Calendar.YEAR) + "-" + (beginPeriode.get(Calendar.MONTH)+1) + "-" + beginPeriode.get(Calendar.DATE);
returnString += " | ";
returnString += eindePeriode.get(Calendar.YEAR) + "-" + (eindePeriode.get(Calendar.MONTH)+1) + "-" + eindePeriode.get(Calendar.DATE);
String returnString = beginPeriode.get(Calendar.DATE) + "-" + (beginPeriode.get(Calendar.MONTH)+1) + "-" + beginPeriode.get(Calendar.YEAR);
returnString += "|";
returnString += eindePeriode.get(Calendar.DATE) + "-" + (eindePeriode.get(Calendar.MONTH)+1) + "-" + eindePeriode.get(Calendar.YEAR);
return returnString;
}
}
+2
View File
@@ -205,7 +205,9 @@ public class StatisticsCalculator {
//Het terugsturen van de gevonden indexen. Je doet ze keer 1440 omdat je bij het berekenen van
//de temperatuur per dag je het in stukken van 1440 samenvoegde.
index[0] = index1*1440;
if(index2<0){index2=0;}
index[1] = index2*1440;
return index;
}
+10 -4
View File
@@ -1,4 +1,4 @@
package weerstation1;
import java.util.ArrayList;
import java.util.List;
@@ -59,11 +59,17 @@ public class Weerstation {
periods.add(new Periode(now, calPeriod));
calPeriod = Calendar.getInstance();
System.out.println(periods.get(0));
System.out.println("Day: " + periods.get(0));
System.out.println("Week: " + periods.get(1));
System.out.println("Month: " + periods.get(2));
System.out.println("2 Months: " + periods.get(3));
System.out.println("3 Months: " + periods.get(4));
System.out.println("6 Months: " + periods.get(5));
System.out.println("Year: " + periods.get(6));
weerstation1 = new WeerstationConnector();
meting1 = weerstation1.getMostRecentMeasurement();
meting2 = weerstation1.getAllMeasurementsBetween(periods.get(0).getBeginPeriode(), periods.get(0).getEindePeriode());
meting2 = weerstation1.getAllMeasurementsBetween(periods.get(3).getBeginPeriode(), periods.get(3).getEindePeriode());
currentGraph = false;
startupState = false;
currentScreen = 0;
@@ -74,7 +80,6 @@ public class Weerstation {
//All the different screen classes
final List<Grootheid> lstScreens = new ArrayList<Grootheid>();
//lstScreens.add(new LangsteZomerPeriode(meting1, meting2));
lstScreens.add(new MaximaleRegenPeriode(meting1, meting2));
lstScreens.add(new WindDirection(meting1, meting2));
lstScreens.add(new OutsideTemp(meting1, meting2));
@@ -90,6 +95,7 @@ public class Weerstation {
lstScreens.add(new Zonsterkte(meting1, meting2));
lstScreens.add(new DewPoint(meting1, meting2));
lstScreens.add(new Sun(meting1));
lstScreens.add(new LangsteZomerPeriode(meting1, meting2));
stopAnimatie();
while(startup)
-1
View File
@@ -33,7 +33,6 @@ public class WeerstationConnector
+ password;
Class.forName("com.mysql.jdbc.Driver").newInstance ();
myConn = DriverManager.getConnection(url);
System.out.println("Database connection established");
}
catch( SQLException ex)
{