Example #1
0
        private static List <StationStat> GetStats(StreamReader reader)
        {
            HtmlDocument document = new HtmlDocument();

            document.Load(reader);

            List <StationStat> stats = new List <StationStat>();

            var nodes = new List <HtmlNode>();

            GetNodesRecursive(document.DocumentNode, nodes);

            foreach (var node in nodes)
            {
                try
                {
                    StationStat stat = ParseRowToStat(node);
                    stats.Add(stat);
                }
                catch (InvalidCastException e)
                {
                    Debug.WriteLine(e.Message);
                }
                catch (FormatException e)
                {
                    Debug.WriteLine(e.Message);
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.Message);
                }
            }

            return(stats);
        }
Example #2
0
        private static StationStat ParseRowToStat(HtmlNode node)
        {
            StationStat stat        = new StationStat();
            var         statStrings = node.ChildNodes.Select(x => x.InnerText).ToList();
            string      dateString  = statStrings[0];
            double      magnitude   = double.Parse(statStrings[1]);

            string startTime    = statStrings[2];
            string startAlt     = statStrings[3];
            string startAzimuth = statStrings[4];

            string topTime    = statStrings[5];
            string topAlt     = statStrings[6];
            string topAzimuth = statStrings[7];

            string endTime    = statStrings[8];
            string endAlt     = statStrings[9];
            string endAzimuth = statStrings[10];

            string passType = statStrings[11];

            stat.Brightness = magnitude;
            stat.PassType   = passType;
            stat.Start      = new ISSPosition()
            {
                Time     = TimeFromString(startTime, dateString),
                Altitute = AltitudeFromString(startAlt),
                Azimuth  = AzimuthFromString(startAzimuth)
            };

            stat.Top = new ISSPosition()
            {
                Time     = TimeFromString(topTime, dateString),
                Altitute = AltitudeFromString(topAlt),
                Azimuth  = AzimuthFromString(topAzimuth)
            };

            stat.End = new ISSPosition()
            {
                Time     = TimeFromString(endTime, dateString),
                Altitute = AltitudeFromString(endAlt),
                Azimuth  = AzimuthFromString(endAzimuth)
            };

            return(stat);
        }
Example #3
0
        private static StationStat ParseRowToStat(HtmlNode node)
        {
            StationStat stat = new StationStat();
            var statStrings = node.ChildNodes.Select(x => x.InnerText).ToList();
            string dateString = statStrings[0];
            double magnitude = double.Parse(statStrings[1]);

            string startTime = statStrings[2];
            string startAlt = statStrings[3];
            string startAzimuth = statStrings[4];

            string topTime = statStrings[5];
            string topAlt = statStrings[6];
            string topAzimuth = statStrings[7];

            string endTime = statStrings[8];
            string endAlt = statStrings[9];
            string endAzimuth = statStrings[10];

            string passType = statStrings[11];

            stat.Brightness = magnitude;
            stat.PassType = passType;
            stat.Start = new ISSPosition()
            {
                Time = TimeFromString(startTime, dateString),
                Altitute = AltitudeFromString(startAlt),
                Azimuth = AzimuthFromString(startAzimuth)
            };

            stat.Top = new ISSPosition()
            {
                Time = TimeFromString(topTime, dateString),
                Altitute = AltitudeFromString(topAlt),
                Azimuth = AzimuthFromString(topAzimuth)
            };

            stat.End = new ISSPosition()
            {
                Time = TimeFromString(endTime, dateString),
                Altitute = AltitudeFromString(endAlt),
                Azimuth = AzimuthFromString(endAzimuth)
            };

            return stat;
        }