/** * Returns the number of rows in the table model. * * @return The row count. */ @Override public int getRowCount() { return this.series.getItemCount(); }
/** * Returns the number of rows in the table model. * * @return The row count. */ public int getRowCount() { return this.series.getItemCount(); }
/** * Returns a collection of all the time periods in the time series. * * @return A collection of all the time periods. */ public Collection getTimePeriods() { Collection result = new java.util.ArrayList(); for (int i = 0; i < getItemCount(); i++) { result.add(getTimePeriod(i)); } return result; }
/** * Returns the number of items in the specified series. This method is * provided for convenience. * * @param series the series index (zero-based). * * @return The item count. */ @Override public int getItemCount(int series) { return getSeries(series).getItemCount(); }
/** * Returns a collection of all the time periods in the time series. * * @return A collection of all the time periods. */ public Collection getTimePeriods() { Collection result = new java.util.ArrayList(); for (int i = 0; i < getItemCount(); i++) { result.add(getTimePeriod(i)); } return result; }
/** * Returns the number of items in the specified series. This method is * provided for convenience. * * @param series the series index (zero-based). * * @return The item count. */ public int getItemCount(int series) { return getSeries(series).getItemCount(); }
/** * Constructs a new TimeSeriesBuilder that reads its input from the given * TimeSeries object. This builder uses the given name for the independent, * time variable in the DataPoints that are created. * @param timeSeries the TimeSeries object containing data to be used to * build the DataSet. * @param timeVariableName the name to use for the time variable. * @throws IllegalArgumentException if the TimeSeries is empty. */ public TimeSeriesBuilder( TimeSeries timeSeries, String timeVariableName ) { if ( timeSeries.getItemCount() <= 0 ) throw new IllegalArgumentException("TimeSeries cannot be empty."); this.timeSeries = timeSeries; setTimeVariable( timeVariableName ); }
/** * Constructs a new TimeSeriesBuilder that reads its input from the given * TimeSeries object. This builder uses the given name for the independent, * time variable in the DataPoints that are created. * @param timeSeries the TimeSeries object containing data to be used to * build the DataSet. * @param timeVariableName the name to use for the time variable. * @throws IllegalArgumentException if the TimeSeries is empty. */ public TimeSeriesBuilder( TimeSeries timeSeries, String timeVariableName ) { if ( timeSeries.getItemCount() <= 0 ) throw new IllegalArgumentException("TimeSeries cannot be empty."); this.timeSeries = timeSeries; setTimeVariable( timeVariableName ); }
/** * Returns a time period that would be the next in sequence on the end of * the time series. * * @return The next time period. */ public RegularTimePeriod getNextTimePeriod() { RegularTimePeriod last = getTimePeriod(getItemCount() - 1); return last.next(); }
/** * Returns a collection of time periods in the specified series, but not in * this series, and therefore unique to the specified series. * * @param series the series to check against this one. * * @return The unique time periods. */ public Collection getTimePeriodsUniqueToOtherSeries(TimeSeries series) { Collection result = new java.util.ArrayList(); for (int i = 0; i < series.getItemCount(); i++) { RegularTimePeriod period = series.getTimePeriod(i); int index = getIndex(period); if (index < 0) { result.add(period); } } return result; }
/** * Returns a time period that would be the next in sequence on the end of * the time series. * * @return The next time period. */ public RegularTimePeriod getNextTimePeriod() { RegularTimePeriod last = getTimePeriod(getItemCount() - 1); return last.next(); }
/** * Returns a collection of time periods in the specified series, but not in * this series, and therefore unique to the specified series. * * @param series the series to check against this one. * * @return The unique time periods. */ public Collection getTimePeriodsUniqueToOtherSeries(TimeSeries series) { Collection result = new java.util.ArrayList(); for (int i = 0; i < series.getItemCount(); i++) { RegularTimePeriod period = series.getTimePeriod(i); int index = getIndex(period); if (index < 0) { result.add(period); } } return result; }
public static TimeSeries getForecastData(TimeSeries observationData, int forcastperc) { TimeSeries fcdataset = new TimeSeries("Time Series Forecast"); if (observationData.isEmpty() == true) return fcdataset; int size = observationData.getItemCount(); long fcsize = size + Math.round( (double)size * ((double)forcastperc/100)); // new data set try { fcdataset = observationData.createCopy(0,size-1); for (int i=size; i < fcsize; i++) { RegularTimePeriod nexttp = fcdataset.getNextTimePeriod(); fcdataset.add(nexttp,0.00D); } } catch (Exception e) { System.out.println("Exception:" + e.getLocalizedMessage()); System.out.println("Could not create forecasted data sample"); return fcdataset; } return fcdataset; }
/** * Creates a TimeSeriesCollection which represents the cumulative values of a given TimeSeriesCollection. * * @param collection collection * @return TimeSeriesCollection */ public static TimeSeriesCollection makeCumulative(TimeSeriesCollection collection) { TimeSeriesCollection result = new TimeSeriesCollection(); for (int i = 0; i < collection.getSeriesCount(); i++) { TimeSeries oldSeries = collection.getSeries(i); TimeSeries cumulativeSeries = new TimeSeries(oldSeries.getKey(), oldSeries.getTimePeriodClass()); int cumulativeValue = 0; for (int j = 0; j < oldSeries.getItemCount(); j++) { cumulativeValue += oldSeries.getValue(j).intValue(); cumulativeSeries.add(oldSeries.getTimePeriod(j), Integer.valueOf(cumulativeValue)); } result.addSeries(cumulativeSeries); } return result; }
/** * Retrieves a DataSet - a collection of DataPoints - from the current * (JFreeChart) TimeSeries. The DataSet should contain all DataPoints * defined by the TimeSeries. * * <p>In general, build will attempt to convert all values in the * TimeSeries to data points. * @return a DataSet built from the current TimeSeries. */ public DataSet build() { DataSet dataSet = new DataSet(); dataSet.setTimeVariable( getTimeVariable() ); // Iterate through TimeSeries, // creating new DataPoint instance for each row int numberOfPeriods = timeSeries.getItemCount(); for ( int t=0; t<numberOfPeriods; t++ ) dataSet.add( build(timeSeries.getDataItem(t)) ); return dataSet; }
/** * Adds or updates data from one series to another. Returns another series * containing the values that were overwritten. * * @param series the series to merge with this. * * @return A series containing the values that were overwritten. */ public TimeSeries addAndOrUpdate(TimeSeries series) { TimeSeries overwritten = new TimeSeries("Overwritten values from: " + getKey()); for (int i = 0; i < series.getItemCount(); i++) { TimeSeriesDataItem item = series.getRawDataItem(i); TimeSeriesDataItem oldItem = addOrUpdate(item.getPeriod(), item.getValue()); if (oldItem != null) { overwritten.add(oldItem); } } return overwritten; }
/** * Adds or updates data from one series to another. Returns another series * containing the values that were overwritten. * * @param series the series to merge with this. * * @return A series containing the values that were overwritten. */ public TimeSeries addAndOrUpdate(TimeSeries series) { TimeSeries overwritten = new TimeSeries("Overwritten values from: " + getKey()); for (int i = 0; i < series.getItemCount(); i++) { TimeSeriesDataItem item = series.getRawDataItem(i); TimeSeriesDataItem oldItem = addOrUpdate(item.getPeriod(), item.getValue()); if (oldItem != null) { overwritten.add(oldItem); } } return overwritten; }
@Test public void testValidateWithExpression() throws Exception { final TimeSeries unvalidatedTimeSeries = new TimeSeries("insitu1"); unvalidatedTimeSeries.add(ITEM_NAN); unvalidatedTimeSeries.add(ITEM_0); unvalidatedTimeSeries.add(ITEM_24_5); assertTrue(validator.setExpression("i.insitu1", "i.insitu1 > 0")); final TimeSeries validatedTimeSeries = validator.validate(unvalidatedTimeSeries, "insitu1", TimeSeriesType.INSITU); assertNotSame(unvalidatedTimeSeries, validatedTimeSeries); assertEquals(1, validatedTimeSeries.getItemCount()); assertEquals(ITEM_24_5, validatedTimeSeries.getDataItem(0)); }
@Test public void testValidateWithDefaultExpression() throws Exception { final TimeSeries unvalidatedTimeSeries = new TimeSeries("insitu1"); unvalidatedTimeSeries.add(ITEM_NAN); unvalidatedTimeSeries.add(ITEM_0); unvalidatedTimeSeries.add(ITEM_24_5); final TimeSeries validatedTimeSeries = validator.validate(unvalidatedTimeSeries, "insitu1", TimeSeriesType.INSITU); assertSame(unvalidatedTimeSeries, validatedTimeSeries); assertEquals(3, validatedTimeSeries.getItemCount()); assertEquals(ITEM_NAN, validatedTimeSeries.getDataItem(0)); assertEquals(ITEM_0, validatedTimeSeries.getDataItem(1)); assertEquals(ITEM_24_5, validatedTimeSeries.getDataItem(2)); }
@Test public void testValidate() throws Exception { final TimeSeries unvalidatedTimeSeries = new TimeSeries("raster1"); unvalidatedTimeSeries.add(ITEM_0); unvalidatedTimeSeries.add(ITEM_4); unvalidatedTimeSeries.add(ITEM_7); unvalidatedTimeSeries.add(ITEM_24_5); assertTrue(validator.setExpression("r.raster1", "r.raster1 > 5")); final TimeSeries validated = validator.validate(unvalidatedTimeSeries, "raster1", TimeSeriesType.PIN); assertNotSame(unvalidatedTimeSeries, validated); assertEquals(2, validated.getItemCount()); assertEquals(ITEM_7, validated.getDataItem(0)); assertEquals(ITEM_24_5, validated.getDataItem(1)); }