Example #1
0
 public virtual DataCube <double> GetTransformedValues(ITimeSeriesQueryCriteria qc, ITimeSeriesTransform provider, double multiplier)
 {
     if (provider != null && qc != null)
     {
         return(provider.GetTransformedTimeSeries(qc, multiplier));
     }
     else
     {
         return(null);
     }
 }
Example #2
0
 public override DataCube <double> GetValues(ITimeSeriesQueryCriteria qc, ITimeSeriesTransform provider)
 {
     if (SitesMeasured.Count > 0)
     {
         int count = SitesMeasured.Count;
         DataCube <double>[] tss = new DataCube <double> [count];
         int i = 0;
         foreach (HydroPoint hp in SitesMeasured)
         {
             Variable v = new Variable(this.VariableID);
             v.SiteID      = hp.ID;
             qc.SiteID     = hp.ID;
             qc.VariableID = this.VariableID;
             tss[i]        = v.GetValues(qc, provider);
             i++;
         }
         int        length = tss[0].Size[1];
         double[]   values = new double[length];
         DateTime[] time   = new DateTime[length];
         Array.Copy(tss[0].DateTimes, time, length);
         for (int j = 0; j < length; j++)
         {
             double sum = 0;
             for (i = 0; i < tss.Length; i++)
             {
                 sum += tss[i][0, j, 0];
             }
             values[i] = sum / tss.Length;
         }
         DataCube <double> summedts = new DataCube <double>(values, time);
         return(summedts);
     }
     else
     {
         TimeSpan          span     = qc.End - qc.Start;
         double[]          values   = new double[span.Days];
         DateTime[]        time     = new DateTime[span.Days];
         DataCube <double> summedts = new DataCube <double>(values, time);
         return(summedts);
     }
 }
Example #3
0
        public DataCube <double> GetTransformedTimeSeries(ITimeSeriesQueryCriteria qc, double multiplier)
        {
            DataCube <double> ts = null;

            if (qc != null)
            {
                string sql = "select * from " + Configuration.DataValuesTableName + " where VariableID =" + qc.VariableID + " and SiteID=" + qc.SiteID
                             + " and " + DBFieldFormater.FormatDateTime("DateTimeUTC", qc.Start, qc.End, mDbase.DBKind);
                DataTable dt = mDbase.QueryDataTable(sql);
                if (dt != null)
                {
                    double[]   dv    = dt.AsEnumerable().Select(row => row.Field <double>("DataValue")).ToArray();
                    DateTime[] dtime = dt.AsEnumerable().Select(row => row.Field <DateTime>("DateTimeUTC")).ToArray();
                    ts = new DataCube <double>(dv, dtime);
                    Variable     variable = GetVariableInfo(qc.VariableID);
                    DataRepairer dr       = new DataRepairer(variable.NoDataValue);
                    dr.Repair(ts, multiplier);
                }
            }
            return(ts);
        }
Example #4
0
        public DataTable GetDataValues(ITimeSeriesQueryCriteria qc)
        {
            string sql = "";

            if (qc != null)
            {
                if (qc.Start == DateTime.MinValue || qc.End == DateTime.MinValue)
                {
                    sql = "select ValueID,DateTimeUTC,DataValue from " + Configuration.DataValuesTableName + " where VariableID =" + qc.VariableID + " and SiteID=" + qc.SiteID;
                }
                else
                {
                    sql = "select ValueID,DateTimeUTC,DataValue from " + Configuration.DataValuesTableName + " where VariableID =" + qc.VariableID + " and SiteID=" + qc.SiteID
                          + " and " + DBFieldFormater.FormatDateTime("DateTimeUTC", qc.Start, qc.End, mDbase.DBKind);
                }
                return(mDbase.QueryDataTable(sql));
            }
            else
            {
                return(null);
            }
        }