public TimespanSeriesGridFrom() { InitializeComponent(); //timeSeriesGroup = new TimeSeriesGroup(); //timeSeriesGroup.TimeSeriesList.Add(new TimeSeries()); TimespanSeries timespanSeries = new TimespanSeries(); timespanSeries.Items.Add(new TimespanValue(new Timespan(new DateTime(2010, 1, 1, 0, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0)), 4.5)); timespanSeries.AppendValue(3.3); timespanSeries.AppendValue(6.6); //timespanSeriesGrid = new TimespanSeriesGrid(timeSeriesGroup.TimeSeriesList[0]); timespanSeriesGrid = new TimespanSeriesGrid(timespanSeries); timespanSeriesGrid.Visible = true; timespanSeriesGrid.Anchor = (AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right); panel1.Controls.Add(timespanSeriesGrid); this.Update(); }
public void Example() { //The code below demonstrates different ways of using the TimespanSeries class // -- Constructing the class (default constructor)-- TimespanSeries ts = new TimespanSeries(); // -- Constructing the class (overloaded constructor) -- //The timespanSeries below is given the name "My Timeseries, starts at January 1st, 2010 at 00:00:00, has //10 time timesteps with length 2 days and value 3 ts = new TimespanSeries("My Timeseries", new DateTime(2010, 1, 1, 0, 0, 0), 10, 2, TimestepUnit.Days, 3); // -- Getting and setting values and time from the timeseries -- // Direct access: double secondValue = ts.Items[1].Value; //The value in the unit as defined by the timeseries double secondValueInSI = ts.Unit.ToSiUnit(ts.Items[1].Value); // The value in SI unit DateTime startTimeforSecondTimestep = ts.Items[1].StartTime; DateTime endTimeforSecondTimestep = ts.Items[1].EndTime; ts.Items[1].Value = 4.5; // when 4.5 is in the same unit at used by the timeseries ts.Items[1].Value = ts.Unit.FromSiToThisUnit(4.5); // when 4.5 is in SI units ts.Items[1].Value = ts.Unit.FromUnitToThisUnit(4.5, new Unit("cm/sec", 0.01, 0)); // when 4.5 is in cm pr second ts.Items[1].StartTime = new DateTime(2010, 1, 1, 0, 0, 0); //changing the starttime for the second timestep //TODO: see if it is possible to check that end time is later than start time. // -- Getting values for a given time -- double x = ts.GetValue(new DateTime(2010, 1, 1, 12, 0, 0)); double xINSi = ts.GetSiValue(new DateTime(2010, 1, 1, 12, 0, 0)); double xInMyUnit = ts.GetValue(new DateTime(2010, 1, 1, 12, 0, 0), new Unit("CM/SEC", 0.01, 0)); // -- Getting values for a give timespan (period) -- double y = ts.GetValue(new DateTime(2010, 1, 1, 0, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0)); double yInSi = ts.GetSiValue(new DateTime(2010, 1, 1, 0, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0)); double yInMyUnit = ts.GetValue(new DateTime(2010, 1, 1, 12, 0, 0), new DateTime(2010,1,2,0,0,0), new Unit("CM/SEC", 0.01, 0)); // -- Adding values -- ts.AddValue(new DateTime(2010, 1, 1, 12, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0), 4.5); ts.AddSiValue(new DateTime(2010, 1, 1, 12, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0), 4.5); // -- Append value -- ts.AppendValue(4.5); //Appending using the same timestep length as the last time step // -- Removing values -- ts.RemoveAfter(new DateTime(2010, 1, 1, 12, 0, 0)); }