拼接完整数据

【1】defaultdata完整时间

#region defaultdata完整时间
            List<defaultData> defaultdata = new List<defaultData>();
            DateTime temp_time = STime;//定义defaultdata的开始时间
           DateTime city_hourtime = ETime;//定义defaultdata的结束时间
            //给defaultdata赋值,citycode、monidate、value
            foreach (var item in station)
            {
                temp_time = STime;
                while (temp_time <= city_hourtime)
                {
                    defaultdata.Add(new defaultData
                    {
                        CITYCODE = item.CITYCODE,
                        CITYNAME = item.CITY,
                        MONIDATE = temp_time,
                        value = "-1"
                    });
                    temp_time = temp_time.AddHours(1);
                }
            }
            
            #endregion

【2】defaultdata、airData 、airData_day 、awsData 数据拼接

            var air_query = (from a in defaultdata
                             join b in airData on new { a.CITYCODE, a.MONIDATE } equals new { b.CITYCODE, b.MONIDATE }
                             into temp
                             from tt in temp.DefaultIfEmpty()
                             //空气质量日数据
                             join c in airData_day on new { a.CITYCODE, MONIDATE = Convert.ToDateTime(a.MONIDATE.ToShortDateString()) } equals new { c.CITYCODE, c.MONIDATE }
                             into temp1
                             from aa in temp1.DefaultIfEmpty()
                             //气象小时数据
                             join d in awsData on new { a.CITYCODE, a.MONIDATE } equals new { d.CITYCODE, d.MONIDATE }
                             into temp2
                             from bb in temp2.DefaultIfEmpty()
                             select new
                             {
                                 a.CITYNAME,
                                 a.CITYCODE,
                                 a.MONIDATE,
                                 SO2 = tt == null ? a.value : tt.SO2.ToString(),
                                 NO2 = tt == null ? a.value : tt.NO2.ToString(),
                                 O3 = tt == null ? a.value : tt.O3.ToString(),
                                 PM25 = tt == null ? a.value : tt.PM25.ToString(),
                                 PM10 = tt == null ? a.value : tt.PM10.ToString(),
                                 CO = tt == null ? a.value : tt.CO.ToString(),
                                 AQI = tt == null ? a.value : tt.AQI.ToString(),


                                 AVGSO2 = aa == null ? a.value : aa.SO2.ToString(),
                                 AVGNO2 = aa == null ? a.value : aa.NO2.ToString(),
                                 AVGO3 = aa == null ? a.value : aa.O3.ToString(),
                                 AVGPM25 = aa == null ? a.value : aa.PM25.ToString(),
                                 AVGPM10 = aa == null ? a.value : aa.PM10.ToString(),
                                 AVGCO = aa == null ? a.value : aa.CO.ToString(),
                                 AVGAQI = aa == null ? a.value : aa.AQI.ToString(),


                                 PRECIPITATION = bb == null ? a.value : bb.PRECIPITATION.ToString(),
                                 TEMPERATURE = bb == null ? a.value : bb.TEMPERATURE.ToString(),
                                 HUMIDITY = bb == null ? a.value : bb.HUMIDITY.ToString(),
                                 POINTTEMPERATURE = bb == null ? a.value : bb.POINTTEMPERATURE.ToString(),
                                 AIRPRESSURE = bb == null ? a.value : bb.AIRPRESSURE.ToString(),
                                 VISIBILITY = bb == null ? a.value : bb.VISIBILITY.ToString(),
                                 WIND16DIRECTION = bb == null ? a.value : bb.WIND16DIRECTION.ToString(),
                                 WINDSPEED = bb == null ? a.value : bb.WINDSPEED.ToString()
                             }).ToList();


【3】defaultData定义

        public class defaultData
        {
            public string CITYCODE { get; set; }
            public string CITYNAME { get; set; }
            public DateTime MONIDATE { get; set; }
            public string value { get; set; }
        }


猜你喜欢

转载自blog.csdn.net/u010082526/article/details/78920038