示例#1
0
        public static DataSheet Query(Station _station, PublicDataType _type, DateTime _start, DateTime _end)
        {
            DataSheet _sheet = new DataSheet($"{_station.ID}_{_type}_{_start}_{_end}", _type);


            WebClient _wc = new WebClient();


            string url = $"http://data.hisparc.nl/data/{_station.ID}/";

            if (_type == PublicDataType.Events)
            {
                url += "events/";
            }


            var _data  = _wc.DownloadString(url);
            var _lines = _data.Split('\n').Where(p => p[0] != '#');


            foreach (string s in _lines)
            {
                var d = s.Split('\t');

                _sheet.AddRow
                (
                    ulong.Parse(d[2]),   // Unix Timestamp
                    ulong.Parse(d[3]),   // ns Timestamp

                    int.Parse(d[4]),     // ph1
                    int.Parse(d[5]),     // ph2
                    int.Parse(d[6]),     // ph3
                    int.Parse(d[7]),     // ph4

                    int.Parse(d[8]),     // int1
                    int.Parse(d[9]),     // int2
                    int.Parse(d[10]),    // int3
                    int.Parse(d[11]),    // int4

                    float.Parse(d[12]),  // mips1
                    float.Parse(d[13]),  // mips2
                    float.Parse(d[14]),  // mips3
                    float.Parse(d[15]),  // mips4

                    float.Parse(d[16]),  // arr1
                    float.Parse(d[17]),  // arr2
                    float.Parse(d[18]),  // arr3
                    float.Parse(d[19]),  // arr4

                    float.Parse(d[20]),  // trigger
                    float.Parse(d[21]),  // zenith
                    float.Parse(d[22])   // azimuth

                );
            }

            return(_sheet);
        }
示例#2
0
        public DataSheet(string name, PublicDataType type)
        {
            Name = name;

            if (type == PublicDataType.Events)
            {
                DataTable = new DataTable(name);

                DataTable.Columns.Add(new DataColumn("UnixTimestamp", typeof(ulong)));
                DataTable.Columns.Add(new DataColumn("NanosecondTimestamp", typeof(ulong)));

                // --- Pulseheights

                DataTable.Columns.Add(new DataColumn("Pulseheight_Mas_Ch1", typeof(int)));
                DataTable.Columns.Add(new DataColumn("Pulseheight_Mas_Ch2", typeof(int)));

                DataTable.Columns.Add(new DataColumn("Pulseheight_Slv_Ch1", typeof(int)));
                DataTable.Columns.Add(new DataColumn("Pulseheight_Slv_Ch2", typeof(int)));

                // --- Integral

                DataTable.Columns.Add(new DataColumn("Integral_Mas_Ch1", typeof(int)));
                DataTable.Columns.Add(new DataColumn("Integral_Mas_Ch2", typeof(int)));

                DataTable.Columns.Add(new DataColumn("Integral_Slv_Ch1", typeof(int)));
                DataTable.Columns.Add(new DataColumn("Integral_Slv_Ch2", typeof(int)));

                // --- MIPS

                DataTable.Columns.Add(new DataColumn("Mips_Mas_Ch1", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Mips_Mas_Ch2", typeof(float)));

                DataTable.Columns.Add(new DataColumn("Mips_Slv_Ch1", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Mips_Slv_Ch2", typeof(float)));

                // --- Arrival times

                DataTable.Columns.Add(new DataColumn("Arrivals_Mas_Ch1", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Arrivals_Mas_Ch2", typeof(float)));

                DataTable.Columns.Add(new DataColumn("Arrivals_Slv_Ch1", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Arrivals_Slv_Ch2", typeof(float)));

                DataTable.Columns.Add(new DataColumn("TriggerTime", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Zenith", typeof(float)));
                DataTable.Columns.Add(new DataColumn("Azimuth", typeof(float)));
            }
        }
示例#3
0
 public static DataSheet Query(Station _station, PublicDataType _type)
 {
     return(Query(_station, _type, DateTime.Today.AddDays(-1), DateTime.Today));
 }