private Dictionary <int, int> GetHourDistributionPositive(IEnumerable <BaseStrikeChina> strikes)
 {
     if (strikes != null || strikes.Any())
     {
         return(iStrikesDistributionStatisticService.CalcuHourDistribution_Positive(strikes.Where(x => x.Intensity > 0).Select(x => x)));
     }
     else
     {
         throw new ArgumentOutOfRangeException();
     }
 }
        /// <summary>
        /// 统计本类目下所有相关属性,耗时操作
        /// </summary>
        public override void CalcuDistribution(string _areaName)
        {
            if (Strikes.Any() & IStrikesDistributionStatisticService != null)
            {
                //年分布
                YearDistribution         = IStrikesDistributionStatisticService.CalcuYearDistribution(Strikes);
                YearDistributionPositive = IStrikesDistributionStatisticService.CalcuYearDistributionPositive(Strikes);
                YearDistributionNegative = IStrikesDistributionStatisticService.CalcuYearDistributionNegative(Strikes);
                YearDistributionDesc     = IStrikesDistributionStatisticService.GenerateYearDistributionText(Strikes);
                //月分布
                MonthDistribution         = IStrikesDistributionStatisticService.CalcuMonthDistribution(Strikes);
                MonthDistributionPositive = IStrikesDistributionStatisticService.CalcuMonthDistributionPosive(Strikes);
                MonthDistributionNegative = IStrikesDistributionStatisticService.CalcuMonthDistributionNegative(Strikes);
                MonthDistributionDesc     = IStrikesDistributionStatisticService.GenerateMonthDistributionText(Strikes);
                //时分布
                HourDistribution         = IStrikesDistributionStatisticService.CalcuHourDistribution(Strikes);
                HourDistributionPositive = IStrikesDistributionStatisticService.CalcuHourDistribution_Positive(Strikes);
                HourDistributionNegative = IStrikesDistributionStatisticService.CalcuHourDistribution_Negative(Strikes);
                HourDistributionDesc     = IStrikesDistributionStatisticService.GenerateHourDistributionText(Strikes);
                //统计各类总数
                SumStrikesNum        = IStrikesDistributionStatisticService.CalcuSumNum(Strikes);
                SumNumPositive       = IStrikesDistributionStatisticService.CalcuPositiveSumNum(Strikes);
                SumNumNegative       = IStrikesDistributionStatisticService.CalcuNegativeSumNum(Strikes);
                MinNegativeIntensity = IStrikesDistributionStatisticService.CalcuMinNegativeIntensity(Strikes);
                MaxNegativeIntensity = IStrikesDistributionStatisticService.CalcuMaxNegativeIntensity(Strikes);
                MinPositiveIntensity = IStrikesDistributionStatisticService.CalcuMinPositiveIntensity(Strikes);
                MaxPositiveIntensity = IStrikesDistributionStatisticService.CalcuMaxPositiveIntensity(Strikes);

                // 雷电流强度
                IntensityAvg         = IStrikesDistributionStatisticService.CalcuAbsAvgIntensity(Strikes);
                IntensityPositiveAvg = IStrikesDistributionStatisticService.CalcuPositiveAvgIntensity(Strikes);
                IntensityNegativeAvg = IStrikesDistributionStatisticService.CalcuNegativeAvgIntensity(Strikes);

                //yearList
                YearList = IStrikesDistributionStatisticService.CalcuYearList(Strikes);
                //雷电流累计概率分布
                ProbabilityDistribution    = IStrikesDistributionStatisticService.CalcuProbabilityDistribution(Strikes);
                ProbabilityDistributioDisc = IStrikesDistributionStatisticService.GenerateProbabilityDistributionText(Strikes);
                //雷电日
                LightningStrikeDays = IStrikesDistributionStatisticService.GetLightningStrikesDays(Strikes, _areaName);
            }
        }