private void menuDetails_Click(object sender, EventArgs e) { DataGridViewCell cell = dataGrid1.SelectedCells[0]; if (cell.ColumnIndex != 0 && cell.Value != DBNull.Value) { DataRow row = ((DataRowView)cell.OwningRow.DataBoundItem).Row; MultipleSeriesDataTable tbl = row.Table as MultipleSeriesDataTable; DateTime t = Convert.ToDateTime(row[0]); string interval = tbl.TableName; HdbPoet.TimeSeriesDataSet.SeriesRow s = tbl.LookupSeries(cell.ColumnIndex); var info = Hdb.Instance.BaseInfo(t, s.hdb_site_datatype_id, interval); info = DataTableUtility.Transpose(info); TableViewer tv = new TableViewer(info); tv.Show(); //msDataTable //row[cell.ColumnIndex] = DBNull.Value; } }
private void linkLabelUSGSInfo_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (textBoxSiteNumber.Text.Trim() != "") { try { string url = "https://staging.waterservices.usgs.gov/nwis/site/?format=rdb&sites=" + textBoxSiteNumber.Text.Trim(); var data = Reclamation.Core.Web.GetPage(url); UsgsRDBFile rdb = new UsgsRDBFile(data); DataTable tbl = DataTableUtility.Transpose(rdb); var dlg = new Reclamation.Core.TableViewer(tbl); dlg.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { Process.Start("http://waterdata.usgs.gov/nwis/"); } }
private void ReadSeriesData(string url, DateTime t1, DateTime t2) { double siteElev = -999.0; if (offsetReadingsWithSiteElevation) { string siteInfoUrl = @"https://waterservices.usgs.gov/nwis/site/?format=rdb&sites=" + m_site_no; var data = Reclamation.Core.Web.GetPage(siteInfoUrl); UsgsRDBFile rdb = new UsgsRDBFile(data); DataTable tbl = DataTableUtility.Transpose(rdb); siteElev = Convert.ToDouble(rdb.Rows[0]["alt_va"]); } url += "&startDT=" + t1.ToString("yyyy-MM-dd") + "&endDT=" + t2.ToString("yyyy-MM-dd"); string[] response = Web.GetPage(url, true); m_rdb = new UsgsRDBFile(response, true); ParsePreamble(); m_columnName = "lev_va"; for (int i = 0; i < m_rdb.Rows.Count; i++) { DataRow row = m_rdb.Rows[i]; DateTime t = DateTime.MinValue; if (!DateTime.TryParse(row["lev_dt"].ToString(), out t)) { break; } // Read Time component string s = row["lev_tm"].ToString().Trim(); if (s.Length == 4 && Regex.IsMatch(s, "[0-9]{4}")) { int hr = Convert.ToInt32(s.Substring(0, 2)); int min = Convert.ToInt32(s.Substring(2)); t = t.AddHours(hr); t = t.AddMinutes(min); } if (t < t1 || t > t2) { continue; } double d = Point.MissingValueFlag; Point pt = Point.Missing; pt.DateTime = t; pt.Flag = row["lev_status_cd"].ToString(); try { if (!Double.TryParse(row[m_columnName].ToString(), out d)) { Messages.Add("Error reading '" + row[m_columnName] + "' as a number"); AddMissing(t); } else { if (offsetReadingsWithSiteElevation) { pt.Value = siteElev - d; } else { pt.Value = d; } Add(pt); } } catch { //[JR] fix this! } } }