/// <summary>
        /// 判断闪电是否在边界内,是则加入;内存中只存1000个闪电,节约内存
        /// </summary>
        /// <param name="_strikes"></param>
        public void AddStrikeToShapeWithJudgment(IEnumerable <LightningStrikeStandard> _strikes)
        {
            Int64 count = _strikes.LongCount();

            strikes_Standard = new LightningStrikes_Standard(); //重新初始化核心列表
            int spanNum       = 1000;                           //分段的个数
            var tmpStrikeList = new ConcurrentBag <LightningStrikeStandard>();

            if (count > spanNum)//个数超过1000
            {
                Int64 sumTimes = count / spanNum + 1;
                for (int cicledTimes = 0; cicledTimes < sumTimes; cicledTimes++)
                {
                    foreach (var tmpStrike in strikes_Standard.Strikes.Skip(cicledTimes * spanNum).Take(spanNum))
                    {
                        if (JudgePointInRange(tmpStrike.Longitude, tmpStrike.Latitude))
                        {
                            strikes_Standard.Strikes.Add(tmpStrike);
                        }
                    }
                }
            }
            else//个数不足spanNum
            {
                foreach (var tmpStrike in _strikes)
                {
                    if (JudgePointInRange(tmpStrike.Longitude, tmpStrike.Latitude))
                    {
                        strikes_Standard.Strikes.Add(tmpStrike);
                    }
                }
            }
        }
 //内部Dispose方法,真正试试资源释放工作
 protected virtual void Dispose(bool disposing)
 {
     if (!m_disposed)
     {
         if (disposing)
         {
             // Release managed resources
             strikes_Standard = new LightningStrikes_Standard();
         }
         // Release unmanaged resources
         m_disposed = true;
     }
 }
 public override bool Equals(object obj)
 {
     if (obj == null || !(obj is BaseStrikeStandard))
     {
         return(false);
     }
     else
     {
         LightningStrikes_Standard o = new LightningStrikes_Standard();
         o = (LightningStrikes_Standard)obj;
         foreach (var tmp in o.Strikes)
         {
             if (!this.Strikes.Contains(tmp))
             {
                 return(false);
             }
         }
         return(true);
     }
 }