private IList <GPSPointViewModel> processGPSPoints(IList <GPSPoint> points)
        {
            var     viewModels = new List <GPSPointViewModel>();
            decimal distance   = 0;

            GPSPoint previousPoint = null;

            for (int index = 0; index < points.Count; index++)
            {
                var gpsPoint = points[index];
                if (gpsPoint.IsPause())
                {
                    previousPoint = null;
                }
                if (gpsPoint.IsPoint() && previousPoint != null)
                {
                    var coordinate1 = previousPoint.ToCoordinates();
                    var coordinate2 = gpsPoint.ToCoordinates();
                    distance += (decimal)coordinate2.GetDistanceTo(coordinate1);
                }
                GPSPointViewModel pointViewModel = new GPSPointViewModel(gpsPoint);
                pointViewModel.Distance = distance;
                viewModels.Add(pointViewModel);
                if (gpsPoint.IsPoint())
                {
                    previousPoint = gpsPoint;
                }
            }



            return(viewModels);
        }