Example #1
0
 public override void CustomExport(DataTable source)
 {
     if (source != null)
     {
         var sites   = GetSites(source);
         var setting = _ExportSetting as SiteExportSetting;
         foreach (var site  in sites)
         {
             var series = new ObservationSeries()
             {
                 SiteID     = site.ID,
                 VariableID = setting.VariableID
             };
             var ts = ODM.GetTimeSereis(series);
             if (ts != null)
             {
                 var filename = Path.Combine(setting.Directory, site.Name + ".csv");
                 var var_odm  = ODM.GetVariable(setting.VariableID);
                 ts.Name = var_odm.Name;
                 CSVFileStream csv = new CSVFileStream(filename);
                 csv.Save(ts);
             }
         }
     }
 }
Example #2
0
        public DataTable GetValues(ObservationSeries series)
        {
            string sql = string.Format("select DateTimeUTC, DataValue from DataValues where SiteID={0} and VariableID={1} order by DateTimeUTC",
                                       series.SiteID, series.VariableID);
            DataTable dt = ODMDB.QueryDataTable(sql);

            return(dt);
        }
Example #3
0
        public StatisticsInfo GetValueStatistics(ObservationSeries series)
        {
            string sql = string.Format("select DateTimeUTC, DataValue from DataValues where SiteID={0} and VariableID={1} order by DateTimeUTC",
                                       series.SiteID, series.VariableID);
            var dt    = ODMDB.QueryDataTable(sql).AsEnumerable();
            var dates = from dr in dt select dr.Field <DateTime>("DateTimeUTC");

            var values = from dr in dt select dr.Field <double>("DataValue");

            var filtered = from vv in values where vv != 0 select vv;
            var info     = MyStatisticsMath.SimpleStatistics(filtered.ToArray());

            return(info);
        }
Example #4
0
        public DataCube <double> GetTimeSereis(ObservationSeries series)
        {
            string sql = string.Format("select DateTimeUTC, DataValue from DataValues where SiteID={0} and VariableID={1} order by DateTimeUTC",
                                       series.SiteID, series.VariableID);
            var dt = ODMDB.QueryDataTable(sql);

            if (dt != null)
            {
                var ds    = dt.AsEnumerable();
                var dates = from dr in ds select dr.Field <DateTime>("DateTimeUTC");

                var values = from dr in ds select dr.Field <double>("DataValue");

                DataCube <double> ts = new DataCube <double>(values.ToArray(), dates.ToArray());
                return(ts);
            }
            else
            {
                return(null);
            }
        }