/// <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; } }