コード例 #1
0
 public UsgsRealTimeSeries(string site_no, UsgsRealTimeParameter parameter)
 {
     TimeInterval     = TimeSeries.TimeInterval.Irregular;
     this.SiteID      = site_no;
     this.Parameter   = parameter.ToString();
     m_site_no        = site_no;
     m_parameter      = parameter;
     m_columnName     = "";
     m_flagColumnName = "";
     Table.TableName  = "UsgsRealTime_" + parameter.ToString() + "_" + site_no;
     ConnectionString = "Source=USGS;site_no=" + site_no + ";UsgsParameter=" + parameter.ToString();
     Source           = "USGS";
     Provider         = "UsgsRealTimeSeries";
 }
コード例 #2
0
ファイル: UsgsRealTimeSeries.cs プロジェクト: usbr/Pisces
 public UsgsRealTimeSeries(string site_no, UsgsRealTimeParameter parameter)
 {
     TimeInterval = TimeSeries.TimeInterval.Irregular;
     this.SiteID = site_no;
     this.Parameter = parameter.ToString();
     m_site_no = site_no;
     m_parameter = parameter;
     m_columnName = "";
     m_flagColumnName = "";
     Table.TableName = "UsgsRealTime_" + parameter.ToString() + "_" + site_no;
     ConnectionString = "Source=USGS;site_no=" + site_no+";UsgsParameter="+parameter.ToString();
     Source = "USGS";
     Provider = "UsgsRealTimeSeries";
 }
コード例 #3
0
        /*
         *
         # ---------------------------------- WARNING ----------------------------------------
         # Provisional data are subject to revision. Go to
         # http://waterdata.usgs.gov/nwis/help/?provisional for more information.
         #
         # File-format description:  http://waterdata.usgs.gov/nwis/?tab_delimited_format_info
         # Automated-retrieval info: http://waterdata.usgs.gov/nwis/?automated_retrieval_info
         #
         # Contact:   [email protected]
         # retrieved: 2012-05-02 15:58:03 EDT	(vaas01)
         #
         # Data for the following 1 site(s) are contained in this file
         #    USGS 13206000 BOISE RIVER AT GLENWOOD BRIDGE NR BOISE ID
         # -----------------------------------------------------------------------------------
         #
         # Data provided for site 13206000
         #    DD parameter   Description
         #    01   00060     Discharge, cubic feet per second
         #    02   00065     Gage height, feet
         #
         # Data-value qualification codes included in this output:
         #     P  Provisional data subject to revision.
         #
         # agency_cd	site_no	datetime	tz_cd	01_00060	01_00060_cd	02_00065	02_00065_cd
         # 5s	15s	20d	6s	14n	10s	14n	10s
         # USGS	13206000	2012-05-02 10:00	MDT	7830	P	10.63	P
         # USGS	13206000	2012-05-02 10:15	MDT	7700	P	10.56	P
         # USGS	13206000	2012-05-02 10:30	MDT	7800	P	10.61	P
         # USGS	13206000	2012-05-02 10:45	MDT	7780	P	10.60	P
         # USGS	13206000	2012-05-02 11:00	MDT	7820	P	10.62	P
         # USGS	13206000	2012-05-02 11:15	MDT	7780	P	10.60	P
         # USGS	13206000	2012-05-02 11:30	MDT	7830	P	10.63	P
         # USGS	13206000	2012-05-02 11:45	MDT	7820	P	10.62	P
         # USGS	13206000	2012-05-02 12:00	MDT	7700	P	10.56	P
         # USGS	13206000	2012-05-02 12:15	MDT	7850	P	10.64	P
         # USGS	13206000	2012-05-02 12:30	MDT	7740	P	10.58	P
         # USGS	13206000	2012-05-02 12:45	MDT	7830	P	10.63	P
         # USGS	13206000	2012-05-02 13:00	MDT	7910	P	10.67	P
         # USGS	13206000	2012-05-02 13:15	MDT	7930	P	10.68	P
         # USGS	13206000	2012-05-02 13:30	MDT	7970	P	10.70	P
         # USGS	13206000	2012-05-02 13:45	MDT	8000	P	10.72	P
         */


        /// <summary>
        /// Determine column name where this data exists.
        /// </summary>
        private void ParsePreamble()
        {
            int    idx    = -1;
            string findMe = "#    USGS " + SiteID;

            idx    = m_rdb.TextFile.IndexOf(findMe);
            Name   = SiteID;
            Source = "USGS";

            if (idx >= 0)
            {
                Name = m_rdb.TextFile[idx].Substring(findMe.Length);
            }
            else
            {
                string msg = "Could not find site name " + findMe;
                Core.Logger.WriteLine(msg);
                Messages.Add(msg);
                return;
            }


            idx = -1;
            if (m_parameter == UsgsRealTimeParameter.Discharge)
            {
                idx       = m_rdb.TextFile.IndexOf("Discharge, cubic feet per second");
                Units     = "cfs";
                Parameter = "Discharge";
            }
            if (m_parameter == UsgsRealTimeParameter.GageHeight)
            {
                idx       = m_rdb.TextFile.IndexOf("Gage height, feet");
                Units     = "feet";
                Parameter = "Gage height";
            }
            if (m_parameter == UsgsRealTimeParameter.Temperature)
            {
                idx       = m_rdb.TextFile.IndexOf("Temperature, water, degrees Celsius");
                Units     = "degC";
                Parameter = "Water Temperature";
            }
            //"#    02   00062     Elevation of reservoir water surface above datum, feet
            else if (m_parameter == UsgsRealTimeParameter.ReservoirElevation)
            {
                idx       = m_rdb.TextFile.IndexOf("Elevation of reservoir water surface above datum, feet");
                Units     = "ft";
                Parameter = "elevation";
            }


            if (idx < 0 || idx > m_rdb.DataIndex)
            {
                string msg = "could not find " + m_parameter.ToString();
                Core.Logger.WriteLine(msg);
                Messages.Add(msg);
                m_columnName = "";
                return;
            }
            Name += (" " + Parameter);

            // find the parts of the column name

            /*
             # Data for the following site(s) are contained in this file
             #    USGS 13206000 BOISE RIVER AT GLENWOOD BRIDGE NR BOISE ID
             # -----------------------------------------------------------------------------------
             #
             # Data provided for site 13069500
             #    TS_ID       Parameter Description
             #    47218       00060     Discharge, cubic feet per second
             #
             */
            string line  = m_rdb.TextFile[idx];
            string TS_ID = line.Substring(5, 6).Trim();
            string p     = line.Substring(17, 5).Trim();

            //string stat = line.Substring(20, 5); RealTime doesn't have stat

            m_columnName     = TS_ID + "_" + p;
            m_flagColumnName = m_columnName + "_cd";

            if (m_rdb.Columns.IndexOf(m_columnName) < 0)
            {
                throw new Exception("Could not find column name for '" + line + "'");
            }
        }