/// <summary>
        /// totale afstand in meters
        /// </summary>
        /// <param name="segment"></param>
        /// <returns></returns>
        private double CalculateDistanceOfSegment(trksegType segment)
        {
            var analyzer = new DataAnalyzer(segment.trkpt.ToList());
            var distance = analyzer.TotalDistance();

            return(distance);
        }
        private void Recalculate(double speedInMperS)
        {
            var dataAnalyzer = new DataAnalyzer(_waypoints);
            var distances    = dataAnalyzer.Distances;
            var wayPointTime = _waypoints.First().time;

            for (int i = 0; i < _waypoints.Count - 2; i++)
            {
                var distance     = distances[i];
                var time         = distance / speedInMperS;
                var seconds      = (int)Math.Truncate(time);
                var milliseconds = (int)((time - Math.Truncate(time)) * 1000);
                var timeOffset   = new TimeSpan(0, 0, 0, seconds, milliseconds);
                _waypoints[i + 1].time = wayPointTime.Add(timeOffset);
                wayPointTime           = _waypoints[i + 1].time;
            }
        }