예제 #1
0
        private void cmbUnionID_changed(object sender, EventArgs e)
        {
            //cmbUnionID.SelectedText = "";
            areaCls row = allData.Where(x => x.NGEOCODE == Convert.ToInt32(cmbUnionID.SelectedItem)).FirstOrDefault();

            cmbUnion.SelectedIndex = cmbUnion.Items.IndexOf(row.UNINAME);
        }
예제 #2
0
        private void cmbUnion_changed(object sender, EventArgs e)
        {
            //cmbUnionID.SelectedText = "";
            areaCls row = allData.Where(x => x.UNINAME == cmbUnion.SelectedItem.ToString()).FirstOrDefault();

            cmbUnionID.SelectedIndex = cmbUnionID.Items.IndexOf(Convert.ToInt32(row.NGEOCODE).ToString());
            //cmbDist.SelectedIndex = cmbDist.Items.IndexOf(Convert.ToInt32(row.NGEOCODE).ToString());
        }
예제 #3
0
        private void generate_graph_click(object sender, EventArgs e)
        {
            completeTask();
            if (cmbUnion.SelectedIndex != -1)
            {
                areaCls row = allData.Where(x => x.UNINAME == cmbUnion.SelectedItem.ToString()).FirstOrDefault();
                if (row != null)
                {
                    try
                    {
                        string WINDSPEED_AILA    = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["aila"]);
                        string WINDSPEED_MAHASEN = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["mahasen"]);
                        string WINDSPEED_SIDR    = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["sidr"]);
                        Dictionary <double, Double> chart_data     = new Dictionary <double, Double>();
                        Dictionary <string, Double> chart_tmp_data = new Dictionary <string, Double>();
                        foreach (string storms in Directory.GetDirectories(txtDataFolder.Text + pathseperator + cmbScenerio.SelectedItem.ToString() + pathseperator))
                        {
                            string obs_file = storms + pathseperator + row.obs_point + ".csv";
                            var    reader   = new StreamReader(File.OpenRead(obs_file));

                            int i = 0;
                            while (!reader.EndOfStream)
                            {
                                string line = reader.ReadLine();
                                i++;
                                if (i == 1)
                                {
                                    continue;
                                }

                                string[] values = line.Split(',');
                                if (obs_file.Contains("aila"))
                                {
                                    chart_tmp_data.Add("aila", Double.Parse(values[1]));
                                }
                                else if (obs_file.Contains("sidr"))
                                {
                                    chart_tmp_data.Add("sidr", Double.Parse(values[1]));
                                }
                                else
                                {
                                    chart_tmp_data.Add("mahasen", Double.Parse(values[1]));
                                }
                            }
                        }
                        chart_data.Add(double.Parse(WINDSPEED_MAHASEN), chart_tmp_data["mahasen"]);
                        chart_data.Add(double.Parse(WINDSPEED_AILA), chart_tmp_data["aila"]);
                        chart_data.Add(double.Parse(WINDSPEED_SIDR), chart_tmp_data["sidr"]);
                        gen_chart(chart_data);
                    }
                    catch (Exception ex)
                    {
                        lbllog.Text = ex.Message;
                    }
                }
            }
        }
예제 #4
0
        private void load_data()
        {
            string file = txtareaLoc.Text;

            try
            {
                string text             = File.ReadAllText(file);
                var    fileName         = string.Format(file);
                var    connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 12.0;", fileName);
                var    adapter          = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString);
                var    ds = new DataSet();
                adapter.Fill(ds, "area");
                DataTable data = ds.Tables["area"];
                //dataGridView1.DataSource = data;
                //dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                var enn = ds.Tables["area"].AsEnumerable();
                allData = enn.Where(x => x.Field <object>(0).ToString() != "FID").Select(x => new areaCls
                {
                    FID = x.Field <Double?>(0),
                    //NGEOCODE = x.Field<Double?>(3),
                    DIVNAME  = x.Field <String>(3),
                    DISTNAME = x.Field <String>(4),
                    THANAME  = x.Field <String>(5),
                    UNINAME  = x.Field <String>(6),
                    NGEOCODE = x.Field <Double?>(7),

                    /*Pol_height = x.Field<Double?>(17),
                     * Pol_nam = x.Field<String>(18),
                     * LinkID = x.Field<Double?>(33),
                     * netCDF_IDs = x.Field<String>(179),
                     * DDIEM_dist = x.Field<Double?>(180),
                     * DDIEM_than = x.Field<Double?>(181),*/
                    area_cal   = x.Field <Double?>(14),
                    DDIEM_unio = x.Field <Double?>(13)
                                 //obs_point = x.Field<String>(184)
                }).ToList();
                connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 12.0;", string.Format(txtobsLoc.Text));
                adapter          = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString);
                ds = new DataSet();
                adapter.Fill(ds, "obs");
                data = ds.Tables["obs"];
                enn  = ds.Tables["obs"].AsEnumerable();
                foreach (areaCls cls in allData)
                {
                    areaCls tmp = enn.Where(x => x.Field <object>(14).ToString() == cls.NGEOCODE.ToString() &&
                                            x.Field <object>(10).ToString() == cls.UNINAME).Select(x => new areaCls
                    {
                        FID = x.Field <Double?>(0),
                        //NGEOCODE = x.Field<Double?>(3),

                        /*DIVNAME = x.Field<String>(3),
                         * DISTNAME = x.Field<String>(4),
                         * THANAME = x.Field<String>(5),
                         * UNINAME = x.Field<String>(6),
                         * NGEOCODE = x.Field<Double?>(7),*/
                        /*Pol_height = x.Field<Double?>(17),
                         * Pol_nam = x.Field<String>(18),
                         * LinkID = x.Field<Double?>(33),
                         * netCDF_IDs = x.Field<String>(179),
                         * DDIEM_dist = x.Field<Double?>(180),
                         * DDIEM_than = x.Field<Double?>(181),*/
                        /* area_cal = x.Field<Double?>(14),
                        *  DDIEM_unio = x.Field<Double?>(13)*/
                        obs_point = x.Field <String>(184)
                    }).FirstOrDefault();
                    if (tmp != null)
                    {
                        cls.obs_point = tmp.obs_point;
                    }
                    else
                    {
                        lbllog.Text += " not found " + cls.UNINAME;
                    }
                }
                //label1.Text = allData[0].FID.ToString();
                //lbllog.Text = "Data Loaded";
                cmbThana.Items.Clear();
                cmbUnion.Items.Clear();
                cmbUnionID.Items.Clear();
                cmbDist.Items.Clear();
                cmbDist.Items.Add("All");
                IList <String> dists = (from dbo in allData orderby dbo.DISTNAME ascending select dbo.DISTNAME).Distinct().ToList();
                foreach (String dist in dists)
                {
                    cmbDist.Items.Add(dist);
                }
                IList <String> thanas = (from dbo in allData orderby dbo.THANAME ascending select dbo.THANAME).Distinct().ToList();
                foreach (String dist in thanas)
                {
                    cmbThana.Items.Add(dist);
                }
                foreach (areaCls tmp in allData)
                {
                    cmbUnion.Items.Add(tmp.UNINAME);
                    cmbUnionID.Items.Add(int.Parse(tmp.NGEOCODE.ToString()).ToString());
                }
                foreach (string s in Directory.GetDirectories(txtDataFolder.Text))
                {
                    cmbScenerio.Items.Add(Path.GetFileName(Path.GetDirectoryName(s + pathseperator)));
                    cmbScenerio.SelectedIndex = cmbScenerio.Items.Count - 1;
                }
            }
            catch (Exception ex)
            {
                lbllog.Text = ex.Message;
            }
        }