/// <summary> /// 计算总闪击、总正闪、总负闪、平均强度正闪、平均强度负闪、强度平均绝对值 /// </summary> private void CalcuIntensity() { if (IStrikesDistributionStatisticService != null) { SumNumPositive = IStrikesDistributionStatisticService.CalcuPositiveSumNum(Strikes); SumNumNegative = IStrikesDistributionStatisticService.CalcuPositiveSumNum(Strikes); IntensityPositiveAvg = IStrikesDistributionStatisticService.CalcuPositiveAvgIntensity(Strikes); IntensityNegativeAvg = IStrikesDistributionStatisticService.CalcuNegativeAvgIntensity(Strikes); IntensityAvg = IStrikesDistributionStatisticService.CalcuAbsAvgIntensity(Strikes); } }
/// <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); } }