Пример #1
0
 public void BuildChartData(string StationName, string ShortName, string CurrentWRWName, WRWData wrwData)
 {
     Dictionary<int, KeyValuePair<DateTime, float?>> dictionary = wrwData.Data24hList;
     this.airDataContext.WRWData24hList.Clear();
     for (int i = 0; i < dictionary.Count; i++)
     {
         KeyValuePair<DateTime, float?> pair = dictionary[0];
         DateTime time = pair.Key.AddHours((double) (-1 * ((dictionary.Count - 1) - i)));
         KeyValuePair<DateTime, float?> pair2 = dictionary[i];
         WRWData24h item = new WRWData24h(StationName, CurrentWRWName, pair2.Value, time, new float?(Convert.ToSingle(wrwData.AVG24h)));
         this.airDataContext.WRWData24hList.Add(item);
     }
 }
Пример #2
0
 private void dataService_GetRTCCompleted(object sender, GetRTCCompletedEventArgs e)
 {
     if ((e.Error == null) && (e.Result != null))
     {
         App app = Application.get_Current() as App;
         string str = "";
         StationData data = null;
         using (List<TB_RTC>.Enumerator enumerator = e.Result.GetEnumerator())
         {
             Func<StationData, bool> predicate = null;
             TB_RTC data;
             while (enumerator.MoveNext())
             {
                 data = enumerator.Current;
                 if (data.Station != str)
                 {
                     if (predicate == null)
                     {
                         predicate = x => x.ShortName == data.Station;
                     }
                     data = app.StationsList.SingleOrDefault<StationData>(predicate);
                     if (data == null)
                     {
                         continue;
                     }
                     data.SetData(data);
                     str = data.Station;
                 }
                 if (data.Pollutant == data.PriPollutant)
                 {
                     data.AQI = data.AQI;
                     data.QLevel = data.QLevel;
                     data.Quality = data.Quality;
                 }
                 IAQIData item = new IAQIData();
                 string pollutant = data.Pollutant;
                 if (pollutant != null)
                 {
                     if (!(pollutant == "PM2.5"))
                     {
                         if (pollutant == "SO2")
                         {
                             goto Label_01DA;
                         }
                         if (pollutant == "CO")
                         {
                             goto Label_023B;
                         }
                         if (pollutant == "NO2")
                         {
                             goto Label_029C;
                         }
                         if (pollutant == "O3")
                         {
                             goto Label_02FD;
                         }
                         if (pollutant == "PM10")
                         {
                             goto Label_035B;
                         }
                     }
                     else
                     {
                         item.Pollutant = "PM2.5 - 24小时";
                         item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                         item.Quality = data.Quality;
                     }
                 }
                 goto Label_03B7;
             Label_01DA:
                 item.Pollutant = "SO2 - 1小时";
                 item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                 item.Quality = data.Quality;
                 goto Label_03B7;
             Label_023B:
                 item.Pollutant = "CO - 1小时";
                 item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                 item.Quality = data.Quality;
                 goto Label_03B7;
             Label_029C:
                 item.Pollutant = "NO2 - 1小时";
                 item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                 item.Quality = data.Quality;
                 goto Label_03B7;
             Label_02FD:
                 item.Pollutant = "O3 - 1小时";
                 item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                 item.Quality = data.Quality;
                 goto Label_03B7;
             Label_035B:
                 item.Pollutant = "PM10 - 24小时";
                 item.IAQI = !data.Eval24h.HasValue ? "--" : data.Eval24h.ToString();
                 item.Quality = data.Quality;
             Label_03B7:
                 data.IAQIDataList.Add(item);
                 WRWData data3 = new WRWData {
                     ShortName = data.ShortName,
                     Group = data.Group,
                     Pollutant = data.Pollutant,
                     Value = !data.Value.HasValue ? "--" : data.Value.ToString(),
                     AVG24h = !data.AVG24h.HasValue ? "--" : data.AVG24h.ToString(),
                     QLevel = data.QLevel,
                     Quality = data.Quality
                 };
                 data.WRWDataList.Add(data3);
                 StationPushpin station = this.GetStation(data.Station);
                 if (station != null)
                 {
                     station.set_Background(data.BackColor);
                 }
             }
         }
         this.lbl_DateTime_WRW.set_Text(app.StationsList[0].Date_Time);
         this.lbl_DateTime_AQI.set_Text(app.StationsList[0].Date_Time);
         PagedCollectionView view = new PagedCollectionView(app.StationsList) {
             GroupDescriptions = { new PropertyGroupDescription("Group") }
         };
         this.dgAQI.ItemsSource = view;
         view = new PagedCollectionView(app.StationsList) {
             GroupDescriptions = { new PropertyGroupDescription("Group") }
         };
         this.dgWRW.ItemsSource = view;
         this.bWRWDataLoaded = true;
         if (this.bWRWDataLoaded && (this.WRWChannelClicked == 1))
         {
             this.wrw_pm25.set_Visibility(0);
             (this.wrwButtons.get_Resources().get_Item("PM25Storyboard") as Storyboard).Begin();
         }
     }
 }
Пример #3
0
 public void BuildChartData(WRWData wrwData)
 {
     Dictionary<int, KeyValuePair<DateTime, float?>> dictionary = wrwData.Data24hList;
     LinearAxis axis = this.WRWChart.FindName("YAxis") as LinearAxis;
     string pollutant = wrwData.Pollutant;
     if (pollutant != null)
     {
         if (!(pollutant == "PM2.5"))
         {
             if (pollutant == "PM10")
             {
                 if (wrwData.MaxValue <= 200.0)
                 {
                     axis.Maximum = 200.0;
                     axis.Interval = 50.0;
                 }
                 else if (wrwData.MaxValue <= 400.0)
                 {
                     axis.Maximum = 500.0;
                     axis.Interval = 125.0;
                 }
                 else if (wrwData.MaxValue <= 1200.0)
                 {
                     axis.Maximum = 1200.0;
                     axis.Interval = 300.0;
                 }
             }
             else if (pollutant == "SO2")
             {
                 if (wrwData.MaxValue <= 180.0)
                 {
                     axis.Maximum = 200.0;
                     axis.Interval = 50.0;
                 }
                 else if (wrwData.MaxValue <= 500.0)
                 {
                     axis.Maximum = 500.0;
                     axis.Interval = 125.0;
                 }
                 else if (wrwData.MaxValue <= 1200.0)
                 {
                     axis.Maximum = 1200.0;
                     axis.Interval = 300.0;
                 }
             }
             else if (pollutant == "NO2")
             {
                 if (wrwData.MaxValue <= 150.0)
                 {
                     axis.Maximum = 200.0;
                     axis.Interval = 50.0;
                 }
                 else if (wrwData.MaxValue <= 500.0)
                 {
                     axis.Maximum = 500.0;
                     axis.Interval = 125.0;
                 }
                 else if (wrwData.MaxValue <= 1200.0)
                 {
                     axis.Maximum = 1200.0;
                     axis.Interval = 300.0;
                 }
             }
             else if (pollutant == "O3")
             {
                 if (wrwData.MaxValue <= 250.0)
                 {
                     axis.Maximum = 200.0;
                     axis.Interval = 50.0;
                 }
                 else if (wrwData.MaxValue <= 500.0)
                 {
                     axis.Maximum = 500.0;
                     axis.Interval = 125.0;
                 }
                 else if (wrwData.MaxValue <= 1200.0)
                 {
                     axis.Maximum = 1200.0;
                     axis.Interval = 300.0;
                 }
             }
             else if (pollutant == "CO")
             {
                 if (wrwData.MaxValue <= 6.0)
                 {
                     axis.Maximum = 8.0;
                     axis.Interval = 2.0;
                 }
                 else if (wrwData.MaxValue <= 20.0)
                 {
                     axis.Maximum = 24.0;
                     axis.Interval = 6.0;
                 }
                 else if (wrwData.MaxValue <= 60.0)
                 {
                     axis.Maximum = 60.0;
                     axis.Interval = 15.0;
                 }
             }
         }
         else if (wrwData.MaxValue <= 150.0)
         {
             axis.Maximum = 160.0;
             axis.Interval = 40.0;
         }
         else if (wrwData.MaxValue <= 300.0)
         {
             axis.Maximum = 320.0;
             axis.Interval = 80.0;
         }
         else if (wrwData.MaxValue <= 1000.0)
         {
             axis.Maximum = 1000.0;
             axis.Interval = 200.0;
         }
     }
     if ((wrwData.Pollutant == "PM2.5") || (wrwData.Pollutant == "PM10"))
     {
         this.WRWChartTitle.set_Text("过去24小时均值:" + wrwData.AVG24h + " " + wrwData.CotUnit);
         float? nullable = null;
         if (!string.IsNullOrEmpty(wrwData.AVG24h) && !(wrwData.AVG24h == "-9999"))
         {
             nullable = new float?(Convert.ToSingle(wrwData.AVG24h));
         }
         List<KeyValuePair<DateTime, float?>> list = new List<KeyValuePair<DateTime, float?>>();
         for (int j = 0x17; j >= 0; j--)
         {
             DateTime time = DateTime.Now.AddHours((double) (-1 * j));
             DateTime key = new DateTime(time.Year, time.Month, time.Day, time.Hour, 0, 0);
             KeyValuePair<DateTime, float?> pair = new KeyValuePair<DateTime, float?>(key, nullable);
             list.Add(pair);
         }
         LineSeries item = new LineSeries {
             Title = "24小时浓度均值    ",
             IndependentValueBinding = new Binding("Key"),
             DependentValueBinding = new Binding("Value"),
             DataPointStyle = base.get_Resources().get_Item("Yellow_LineDataPointStyle") as Style,
             ItemsSource = list
         };
         this.WRWChart.Series.Add(item);
     }
     else
     {
         this.WRWChartTitle.set_Text("");
     }
     this.IsFirst = true;
     for (int i = 0; i < (dictionary.Count - 1); i++)
     {
         List<KeyValuePair<DateTime, float?>> points = new List<KeyValuePair<DateTime, float?>>();
         KeyValuePair<DateTime, float?> pair2 = dictionary[i];
         if (pair2.Value.HasValue)
         {
             KeyValuePair<DateTime, float?> pair3 = dictionary[i + 1];
             if (pair3.Value.HasValue)
             {
                 points.Add(dictionary[i]);
                 points.Add(dictionary[i + 1]);
                 this.FillLineSeries(points, i);
             }
         }
     }
 }
Пример #4
0
 public StationData()
 {
     this.Station = "--";
     this.ShortName = "--";
     this.Group = "--";
     this.District = "--";
     this.Lat = 0.0;
     this.Lon = 0.0;
     this.Area = "--";
     this.Zone = "--";
     this.AQI = "--";
     this.PriPollutant = "--";
     this.QLevel = "--";
     this.RealTimeQL = "--";
     this.Quality = "--";
     this.AirDataType = "--";
     this.Prompt = "--";
     this.Date_Time = "--";
     this.BackColor = (Application.get_Current() as App).AQILevelColorsList[0];
     this.FontColor = new SolidColorBrush(Colors.get_White());
     this.WRWValue = "--";
     this.WRWCotUnit = "--";
     this.WRWBackColor = (Application.get_Current() as App).AQILevelColorsList[0];
     this.WRWDataVisibility = 1;
     this.AQIDataVisibility = 1;
     this.NoDataPrompt = "遇校准、维护、仪器故障、通讯中断、停电等情况,会发生短时数据缺测现象";
     this.IAQIDataList = new List<IAQIData>();
     IAQIData item = new IAQIData {
         Pollutant = "PM2.5\t  - 24 小时"
     };
     this.IAQIDataList.Add(item);
     item = new IAQIData {
         Pollutant = "PM10\t  - 24 小时"
     };
     this.IAQIDataList.Add(item);
     item = new IAQIData {
         Pollutant = "SO2\t  -  1  小时"
     };
     this.IAQIDataList.Add(item);
     item = new IAQIData {
         Pollutant = "NO2\t  -  1  小时"
     };
     this.IAQIDataList.Add(item);
     item = new IAQIData {
         Pollutant = "O3\t\t  -  1  小时"
     };
     this.IAQIDataList.Add(item);
     item = new IAQIData {
         Pollutant = "CO\t\t  -  1  小时"
     };
     this.IAQIDataList.Add(item);
     this.WRWDataList = new List<WRWData>();
     WRWData data2 = new WRWData {
         Pollutant = "PM2.5"
     };
     this.WRWDataList.Add(data2);
     data2 = new WRWData {
         Pollutant = "SO2"
     };
     this.WRWDataList.Add(data2);
     data2 = new WRWData {
         Pollutant = "NO2"
     };
     this.WRWDataList.Add(data2);
     data2 = new WRWData {
         Pollutant = "O3"
     };
     this.WRWDataList.Add(data2);
     data2 = new WRWData {
         Pollutant = "CO"
     };
     this.WRWDataList.Add(data2);
     data2 = new WRWData {
         Pollutant = "PM10"
     };
     this.WRWDataList.Add(data2);
 }