Beispiel #1
0
        static void Main(string[] args)
        {
            Zeittyp zeittyp = Zeittyp.Standard;
            Werttyp werttyp = Werttyp.Luftfeuchte;

            // ein.csv Laden
            List <KlimaWS> klimaWsListe = Load(DataSourceURL);

            // Analysieren
            Analyze(klimaWsListe, werttyp);

            // Extrahieren
            Extract(klimaWsListe, zeittyp, werttyp); // Extract(); kann auch so sein, standard Werttyp ist Temperatur

            HumidityChart(klimaWsListe);
        }
Beispiel #2
0
        private static void Analyze(List <KlimaWS> klimaWsListe, Werttyp werttyp = Werttyp.Temperatur)
        {
            WebClient wClient = new WebClient();

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            Console.WriteLine("{0} Analysieren ...", werttyp.ToString());
            for (int i = 0; i < klimaWsListe.Count; i++)
            {
                if (i == 0)
                {
                    continue;
                }

                string addrs = string.Empty;

                switch (werttyp)
                {
                case Werttyp.Temperatur:
                    addrs = string.Format(Culture, AnalyzeURL, klimaWsListe[i].Temp, klimaWsListe[i - 1].Temp);
                    break;

                case Werttyp.Luftfeuchte:
                    addrs = string.Format(Culture, AnalyzeURL, klimaWsListe[i].Hum, klimaWsListe[i - 1].Hum);
                    break;

                case Werttyp.Luftdruck:
                    addrs = string.Format(Culture, AnalyzeURL, klimaWsListe[i].Druck, klimaWsListe[i - 1].Druck);
                    break;

                case Werttyp.Feinstaub10:
                    addrs = string.Format(Culture, AnalyzeURL, klimaWsListe[i].PM10, klimaWsListe[i - 1].PM10);
                    break;

                case Werttyp.Feinstaub25:
                    addrs = string.Format(Culture, AnalyzeURL, klimaWsListe[i].PM25, klimaWsListe[i - 1].PM25);
                    break;
                }

                Stream       data   = wClient.OpenRead(addrs);
                StreamReader reader = new StreamReader(data);
                klimaWsListe[i].Change = int.Parse(reader.ReadToEnd());
            }

            Console.WriteLine("{0} Werten werden Analysiert.", klimaWsListe.Count);
        }
Beispiel #3
0
            public string GetAsString(Zeittyp zeittyp = Zeittyp.Standard, Werttyp werttyp = Werttyp.Temperatur)
            {
                string strKlimaWS = this.Nr.ToString() + ";\t";

                switch (zeittyp)
                {
                case Zeittyp.Standard:
                    strKlimaWS += this.Zeit.ToString("dd.MM.yy HH:mm") + ";\t";
                    break;

                case Zeittyp.Unix:
                    strKlimaWS += this.UnixTime.ToString() + ";\t";
                    break;
                }

                switch (werttyp)
                {
                case Werttyp.Temperatur:
                    strKlimaWS += this.Temp.ToString().Replace(',', '.');
                    break;

                case Werttyp.Luftfeuchte:
                    strKlimaWS += this.Hum.ToString().Replace(',', '.');
                    break;

                case Werttyp.Luftdruck:
                    strKlimaWS += this.Druck.ToString().Replace(',', '.');
                    break;

                case Werttyp.Feinstaub10:
                    strKlimaWS += this.PM10.ToString().Replace(',', '.');
                    break;

                case Werttyp.Feinstaub25:
                    strKlimaWS += this.PM25.ToString().Replace(',', '.');
                    break;
                }

                strKlimaWS += ";\t";
                strKlimaWS += this.Change.ToString();

                return(strKlimaWS + "\r\n");
            }
Beispiel #4
0
        static void Extract(List <KlimaWS> klimaWsListe, Zeittyp zeittyp = Zeittyp.Standard, Werttyp werttyp = Werttyp.Temperatur)
        {
            StringBuilder content = new StringBuilder();

            Console.WriteLine("{0} Extrahieren werden extrahiert", werttyp.ToString());

            content.AppendLine("Nr;\tZeit;\t\t\tWert;\tVeraenderung");
            foreach (KlimaWS kws in klimaWsListe)
            {
                content.AppendLine(kws.GetAsString(zeittyp, werttyp));
            }

            File.WriteAllText(OutDataFile, content.ToString());

            int recordCount = RecordsCount(OutDataFile);

            Console.WriteLine("{0} Datensätze werden extrahiert", recordCount);
        }