示例#1
0
        private void Save2DB()
        {
            ODMSource odm = new ODMSource();
            string    msg = "";

            odm.Open(@"F:\System\Database\Pearl River Basin.mdb", ref msg);
            var          sites            = odm.GetSites("select * from Sites");
            StreamReader sr               = new StreamReader(Filename);
            Dictionary <string, Site> dic = new Dictionary <string, Site>();

            foreach (var ss in sites)
            {
                dic.Add(ss.Name, ss);
            }
            var line = sr.ReadLine();

            line = sr.ReadLine();
            var varid = TypeConverterEx.SkipSplit <int>(line, 6);

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                var buf = TypeConverterEx.Split <string>(line, TypeConverterEx.Comma);
                for (int i = 0; i < varid.Length; i++)
                {
                    odm.SaveDataValue(dic[buf[1].Trim()], varid[i], DateTime.Parse(buf[2].Trim()), double.Parse(buf[6 + i].Trim()));
                }
            }
            odm.UpdateSeriesCatalog();
            sr.Close();
            odm.Close();
        }
        //TODO

        private void Export2Shp_Clicked(object sender, EventArgs e)
        {
            var dc = DataContext as IDendritiRecord <ObservationSeries>;

            if (dc != null)
            {
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.Filter   = "csv file|*.csv";
                dlg.FileName = dc.Name + ".csv";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    if (dc.Tag is Heiflow.Core.Data.ODM.Variable)
                    {
                        CSVFileStream csv     = new CSVFileStream(dlg.FileName);
                        string        content = "SiteName,SiteID,Longitude,Latitude,Max,Min,Average,NoDataValue,StandardDeviation,Count\n";
                        foreach (var record in dc.Children)
                        {
                            var site     = record.Value.Site;
                            var statinfo = ODMSource.GetValueStatistics(record.Value);
                            content += string.Format("{0},{1},{2},{3},{4}\n", site.Name, site.ID, site.Longitude, site.Latitude, statinfo.ToString());
                        }
                        content.Trim(TypeConverterEx.Enter);
                        csv.Save(content);
                    }
                }
            }
        }
        //TODO

        private void Export2Excel_Clicked(object sender, EventArgs e)
        {
            var dc = DataContext as IDendritiRecord <ObservationSeries>;

            if (dc != null && dc.Children.Count == 0)
            {
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.Filter   = "csv file|*.csv";
                dlg.FileName = dc.Name + ".csv";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    var qc = new QueryCriteria()
                    {
                        SiteID     = dc.Value.SiteID,
                        VariableID = dc.Value.VariableID,
                        AllTime    = true
                    };
                    var ts = ODMSource.GetTimeSeries(qc);
                    if (ts != null)
                    {
                        CSVFileStream csvf = new CSVFileStream(dlg.FileName);
                        csvf.Save(ts);
                    }
                }
            }
        }
示例#4
0
        protected void Application_Start(object sender, EventArgs e)
        {
            string msg = "";

            DBSource = new ODMSource();
            DBSource.Open(Settings.Default.DBPath, ref msg);
            HdyroCloud.Web.RS.RSConfig.Load();
        }
 public ImportODMData(ODMSource odm)
 {
     InitializeComponent();
     _ODM = odm;
     cmbTables.Items.AddRange(_ODM.GetODMTableNames());
     toolStripProgressBar1.Visible = false;
     lb_File.Text = "";
     splitContainer1.Panel2Collapsed        = true;
     defaultExportToolStripMenuItem.Enabled = false;
     customExportToolStripMenuItem.Enabled  = false;
     worker = new BackgroundWorker();
     worker.WorkerReportsProgress      = true;
     worker.WorkerSupportsCancellation = true;
     worker.DoWork             += new System.ComponentModel.DoWorkEventHandler(worker_DoWork);
     worker.ProgressChanged    += new ProgressChangedEventHandler(worker_ProgressChanged);
     worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
 }
        private void Plot(object sender, EventArgs e)
        {
            var dc = DataContext as IDendritiRecord <ObservationSeries>;

            if (dc != null && dc.Children.Count == 0)
            {
                var qc = new QueryCriteria()
                {
                    SiteID     = dc.Value.SiteID,
                    VariableID = dc.Value.VariableID,
                    AllTime    = true
                };
                var ts = ODMSource.GetTimeSeries(qc);
                if (ts != null)
                {
                    ShellService.ShowChildWindow(ChildWindowNames.WinChartView);
                    ShellService.WinChart.Plot(ts.DateTimes, ts[0, ":", "0"], qc.VariableName,
                                               System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine);
                }
            }
        }
 private void btnConectODM_Click(object sender, EventArgs e)
 {
     if (viewModel.Value.ODMSource != null)
     {
         if (_SeriesCatalog == null)
         {
             _SeriesCatalog = new SeriesCatalog(viewModel.Value.ODMSource);
             btnRefresh_Click(null, null);
         }
         else
         {
             MessageBox.Show("An ODM database has been connected. If you want to connect to another database, please removec connection to current database at first"
                             , "Database Connection", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     else
     {
         OpenFileDialog form = new OpenFileDialog();
         form.Filter = "access 2003 file |*.mdb|access 2007-2013 file|*.accdb";
         if (form.ShowDialog() == DialogResult.OK)
         {
             ODMSource odm = new ODMSource();
             string    msg = "";
             if (odm.Open(form.FileName, ref msg))
             {
                 viewModel.Value.ProjectService.Project.ODMSource = odm;
                 viewModel.Value.ODMSource = odm;
                 _SeriesCatalog            = new SeriesCatalog(odm);
                 btnRefresh_Click(null, null);
             }
             else
             {
                 MessageBox.Show("Failed to connect to the database. Error message: " + msg, "Database Connection", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
     }
 }