public static Set<Bar> createGustGraph( SpotWindData spotDayData, int startX, int startY, int endX, int endY) { Set<Bar> path = new LinkedHashSet<Bar>(); double xDiff = endX - startX; double yDiff = endY - startY; for (WindData windData : spotDayData.getWindDatas()) { double wind = windData.getWind(); double gust = windData.getGust(); if (wind > MAXWIND) wind = MAXWIND; if (gust > MAXWIND) gust = MAXWIND; double time2 = (double) windData.getEndHour() + (double) windData.getEndMinute() / 60; double time1 = (double) windData.getStartHour() + (double) windData.getStartMinute() / 60; double xProcent2 = time2 / 24; double yProcent2 = wind / MAXWIND; double yProcent1 = gust / MAXWIND; double xProcent1 = time1 / 24; double x1 = startX + xProcent1 * xDiff; double y1 = endY - yProcent1 * yDiff; double y2 = endY - yProcent2 * yDiff; double x2 = startX + xProcent2 * xDiff; if (x1 > x2) x1 = startX; // in case startTime was from the day before. Bar bar = new Bar(); bar.setX1((int) x1); bar.setX2((int) x2); bar.setY1((int) y1); bar.setY2((int) y2); path.add(bar); } return path; }
public void InsertWindStat(WindData windStat, DbHandle handle) { SQLiteDatabase db = handle.getDb(); ContentValues cv = new ContentValues(); cv.put(COL_SPOT, windStat.getSpotID()); cv.put(COL_DAY, windStat.getDay()); cv.put(COL_HOUR, windStat.getEndHour()); cv.put(COL_MINUTE, windStat.getEndMinute()); cv.put(COL_START_HOUR, windStat.getStartHour()); cv.put(COL_START_MINUTE, windStat.getStartMinute()); cv.put(COL_WIND, windStat.getWind()); cv.put(COL_GUST, windStat.getGust()); cv.put(COL_ANGLE, windStat.getAngle()); cv.put(COL_LAST_MODIFIED, windStat.getLastModified()); db.insert(WINDTABLE, null, cv); }
public void UpdateWindStat(WindData windStat, int id, DbHandle handle) { SQLiteDatabase db = handle.getDb(); ContentValues cv = new ContentValues(); cv.put(COL_DAY, windStat.getDay()); cv.put(COL_SPOT, windStat.getSpotID()); cv.put(COL_HOUR, windStat.getEndHour()); cv.put(COL_MINUTE, windStat.getEndMinute()); cv.put(COL_START_HOUR, windStat.getStartHour()); cv.put(COL_START_MINUTE, windStat.getStartMinute()); cv.put(COL_WIND, windStat.getWind()); cv.put(COL_GUST, windStat.getGust()); cv.put(COL_ANGLE, windStat.getAngle()); cv.put(COL_LAST_MODIFIED, windStat.getLastModified()); db.update(WINDTABLE, cv, COL_ID + "=?", new String[] {"" + id}); }