diff --git a/Calculator.java b/Calculator.java index c7eaeaa..8cdb1f9 100644 --- a/Calculator.java +++ b/Calculator.java @@ -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; } diff --git a/GUIboard.java b/GUIboard.java index fa6df1c..e278515 100644 --- a/GUIboard.java +++ b/GUIboard.java @@ -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 normalizeData(ArrayList data2 , double margin){ - ArrayList data = new ArrayList(data2); + ArrayList data = new ArrayList(); + + int deler = data2.size() / 256; //Delen door het aantal punten dat je over wil houden. + double avg=0; + + for(int q=0;q 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; diff --git a/Periode.java b/Periode.java index 64c8226..180d0cf 100644 --- a/Periode.java +++ b/Periode.java @@ -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; } } diff --git a/StatisticsCalculator.java b/StatisticsCalculator.java index a4e3ee0..5e65b7d 100644 --- a/StatisticsCalculator.java +++ b/StatisticsCalculator.java @@ -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; } diff --git a/Weerstation.java b/Weerstation.java index d6aea67..ae951fc 100644 --- a/Weerstation.java +++ b/Weerstation.java @@ -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 lstScreens = new ArrayList(); - //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) diff --git a/WeerstationConnector.java b/WeerstationConnector.java index 22e5242..6bd3df0 100644 --- a/WeerstationConnector.java +++ b/WeerstationConnector.java @@ -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) {