public void ReadAll_GetsData()
        {
            // initial data workbook has 4492 records
            var data = PrecipitationData.ReadAll("data.xlsx");

            Assert.IsNotNull(data, "data != null");
            // Current version of data may have more results
            Assert.GreaterOrEqual(data.Count, 4492, "data.Count < 4492");
            Console.WriteLine("Has {0} results, expected at least 4492.", data.Count);
        }
        public void ReadForMonthDay_GetsData()
        {
            // initial data workbook has 9 entries for august 17th
            var data = PrecipitationData.ReadForMonthDay("data.xlsx", 8, 17);

            Assert.IsNotNull(data, "data != null");

            // Current version of data may have more results
            Assert.GreaterOrEqual(data.Count, 9, "data.Count < 9");
            Console.Write("Has {0} results, expected at least 9.", data.Count);
        }
Ejemplo n.º 3
0
        private void AddData(string dt, float value, ref List <PrecipitationData> data)
        {
            var pd = new PrecipitationData
            {
                Station             = "TestStation",
                DateString          = dt,
                PrecipitationString = value.ToString(CultureInfo.InvariantCulture)
            };

            data.Add(pd);
        }
Ejemplo n.º 4
0
        static void process()
        {
            try
            {
                IPrecipitationData p  = new PrecipitationData(inputfilestoprocess);
                DataTable          dt = p.parseInputFile();

                IDAL sqldal = new DAL(sqldbConn);
                sqldal.bulkSQLInsert(dt, destinationTableName);
            }
            catch (Exception ex)
            {
            }
        }
Ejemplo n.º 5
0
        public static void GenerateWeatherFromDateTime(this DateTime dateTime, WeatherNotesWindow window, RoutedEventArgs e)
        {
            DayData day;

            WeatherData[] weatherDatas = null;

            if (window.CalendarData.ContainsKey(dateTime))
            {
                day = window.CalendarData[dateTime];

                if (!day.WeatherGenerated)
                {
                    weatherDatas = WeatherGenerator.GenerateWeather(dateTime, day.Weather);
                    day.Weather  = weatherDatas[0];
                }
            }
            else
            {
                weatherDatas = WeatherGenerator.GenerateWeather(dateTime);

                day = new DayData(dateTime, window.TbxSelectedDayNotes.Text, weatherDatas[0]);

                window.CalendarData.Add(dateTime, day);
            }

            DateTime prevDate = dateTime.AddDays(-1);

            if (!day.WeatherGenerated && window.CalendarData.ContainsKey(prevDate))
            {
                DayData prevDay = window.CalendarData[prevDate];

                if (prevDay.WeatherGenerated)
                {
                    day.Weather.Temperature = (day.Weather.Temperature + prevDay.Weather.Temperature) / 2.0;
                    day.Weather.Precipitation.SnowAccumulation = day.Weather.Precipitation.SnowAccumulation + prevDay.Weather.Precipitation.SnowAccumulation;
                    PrecipitationData.MeltSnowOverDay(day.Weather);
                }
            }

            day.WeatherGenerated = true;

            window.CalendarData.SetDictionaryWeatherDatas(dateTime, weatherDatas);

            //dateTime.SetSelectedDayWeatherNotes(window.CalendarData, window.TbxSelectedDayNotes, window.LblSelectedDayWeather);

            e.Handled = true;
        }
Ejemplo n.º 6
0
        public static WeatherData[] GenerateWeather(DateTime?equivalentDateTime, WeatherData weather = null)
        {
            if (equivalentDateTime.HasValue)
            {
                DateTime dateTime = equivalentDateTime.Value;
                int      monthIdx = dateTime.Month - 1;
                if (weather == null)
                {
                    weather = new WeatherData();
                }

                List <WeatherData> weatherDatas = WeatherData.GenerateTemperature(dateTime, weather);

                weatherDatas = FogData.GenerateFog(dateTime, weatherDatas);

                weatherDatas = WindData.GenerateWind(dateTime, weatherDatas);

                weatherDatas = PrecipitationData.GeneratePrecipitation(dateTime, weatherDatas);

                return(weatherDatas.ToArray());
            }

            return(null);
        }
Ejemplo n.º 7
0
        private void SetChart()
        {
            //extrema bepalen
            int TRangeMax = TemperatureData.Max() >= PrecipitationData.Max() / 2 ? (int)Math.Round(TemperatureData.Max() * 1.5 / 5) * 5 : (int)Math.Round(PrecipitationData.Max() * 1.5 / 5) * 5 / 2;
            int PRangeMax = TemperatureData.Max() < PrecipitationData.Max() / 2 ? (int)Math.Round(TemperatureData.Max() * 1.5 / 5) * 10 : (int)Math.Round(PrecipitationData.Max() * 1.5 / 5) * 5;

            int TRangeMin = TemperatureData.Min() < 0 ? (int)Math.Round(TemperatureData.Min() * 1.5 / 5) * 5 : 0;
            int PRangeMin = TRangeMin * 2;


            Chart = new Highcharts("Climatogram")
                    .SetTitle(new Title {
                Text = Location.Name + " (" + Country.Name + ") - station " + Location.Station
            })
                    .SetSubtitle(new Subtitle {
                Text = Location.CoordinateDegreeLat(Location.CoordinateLat)[0] + "° " +
                       Location.CoordinateDegreeLat(Location.CoordinateLat)[1] + "\" " +
                       Location.CoordinateDegreeLat(Location.CoordinateLat)[2] + " " +
                       //Location.CoordinateDegreeLat(Location.CoordinateLat)[3] + " " +
                       Location.CoordinateDegreeLong(Location.CoordinateLong)[0] + "° " +
                       Location.CoordinateDegreeLong(Location.CoordinateLong)[1] + "\" " +
                       Location.CoordinateDegreeLong(Location.CoordinateLong)[2] + " " +
                       //Location.CoordinateDegreeLong(Location.CoordinateLong)[3] + " " +
                       Location.Height + "m"
            })
                    .SetXAxis(new[]
            {
                new XAxis()
                {
                    Categories = MonthLabels
                }
            })
                    .SetYAxis(new []
            {
                new YAxis()
                {
                    Title = new YAxisTitle {
                        Text = "Neerslag (mmN)"
                    },
                    Min          = PRangeMin,
                    Max          = PRangeMax,
                    TickInterval = 10,
                },
                new YAxis()
                {
                    Title = new YAxisTitle {
                        Text = "Temperatuur (°C)"
                    },
                    Min          = TRangeMin,
                    Max          = TRangeMax,
                    TickInterval = 5,
                    Opposite     = true
                },
            })
                    .SetSeries(new []
            {
                new Series()
                {
                    Name  = "Neerslag (mmN)",
                    Type  = ChartTypes.Column,
                    YAxis = "0",
                    Data  = new Data(PrecipitationData.Cast <object>().ToArray())
                },
                new Series()
                {
                    Name  = "Temperatuur (°C)",
                    Type  = ChartTypes.Spline,
                    Color = Color.Red,
                    YAxis = "1",
                    Data  = new Data(TemperatureData.Cast <object>().ToArray())
                }
            });
        }
        public void ReadForMonthDay_WithInvalidPath()
        {
            var data = PrecipitationData.ReadForMonthDay("invalid.xlsx", 8, 17);

            Assert.IsNull(data);
        }
        public void ReadAll_WithInvalidPath()
        {
            var data = PrecipitationData.ReadAll("invalid.xlsx");

            Assert.IsNull(data);
        }