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); }
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); }
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"); }
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); }