private void Button_Click_1(object sender, RoutedEventArgs e) { PassParameters ps = new PassParameters(); DateTime startTime = DateTime.UtcNow; ps.setInitialDate(startTime); GeoLocation GL = new GeoLocation(); GL.Location(); ps.setPhoneNumber(phoneNumber); ps.setInitialLatitude( GL.getLatitude() ); ps.setInitialLongitude( GL.getLongitude() ); NavigationService.Navigate(new Uri("/Pg3_Reached.xaml", UriKind.Relative), ps); }
public double CalculateSpeed() { TimeSpan elapsedTime = DateTime.UtcNow - initialDate; GeoLocation GL = new GeoLocation(); GL.Location(); /*dlon = lon2 - lon1 * dlat = lat2 - lat1 * a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2 * c = 2 * atan2( sqrt(a), sqrt(1-a) ) * d = R * c (where R is the radius of the Earth)*/ lat1 = DegreeToRadian(ps.getInitialLatitude()); lat2 = DegreeToRadian(GL.getLatitude()); lon1 = DegreeToRadian(ps.getInitialLongitude()); lon2 = DegreeToRadian(GL.getLongitude()); double speed; /* * MessageBox.Show("1 " + lat1 + " 2 " + lon1); * MessageBox.Show("1 " + lat2 + " 2 " + lon2); * MessageBox.Show(elapsedTime.TotalHours.ToString()); */ if (Math.Round(lat1, 3) == Math.Round(lat2, 3) && Math.Round(lon1, 3) == Math.Round(lon2, 3)) { speed = 0; } else { double dlon = lon2 - lon1; double dlat = lat2 - lat1; double a = Math.Pow((Math.Sin(dlat / 2)), 2) + Math.Cos(lat1) * Math.Cos(lat2) * Math.Pow((Math.Sin(dlon / 2)), 2); double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a)); double distance = 3961 * c; //3961 miles = Radius of the Earth. It is equivalent to 6373 km // miles / second speed = distance / elapsedTime.TotalHours; // return Math.Round(speed,2); // MessageBox.Show(elapsedTime.TotalHours.ToString()); } return(speed); }
private void Button_Click_1(object sender, RoutedEventArgs e) { PassParameters ps = new PassParameters(); DateTime startTime = DateTime.UtcNow; ps.setInitialDate(startTime); GeoLocation GL = new GeoLocation(); GL.Location(); ps.setPhoneNumber(phoneNumber); ps.setInitialLatitude(GL.getLatitude()); ps.setInitialLongitude(GL.getLongitude()); NavigationService.Navigate(new Uri("/Pg3_Reached.xaml", UriKind.Relative), ps); }
public double CalculateSpeed() { TimeSpan elapsedTime = DateTime.UtcNow - initialDate; GeoLocation GL = new GeoLocation(); GL.Location(); /*dlon = lon2 - lon1 dlat = lat2 - lat1 a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2 c = 2 * atan2( sqrt(a), sqrt(1-a) ) d = R * c (where R is the radius of the Earth)*/ lat1 = DegreeToRadian(ps.getInitialLatitude()); lat2 = DegreeToRadian(GL.getLatitude()); lon1 = DegreeToRadian(ps.getInitialLongitude()); lon2 = DegreeToRadian(GL.getLongitude()); double speed; /* MessageBox.Show("1 " + lat1 + " 2 " + lon1); MessageBox.Show("1 " + lat2 + " 2 " + lon2); MessageBox.Show(elapsedTime.TotalHours.ToString()); */ if (Math.Round(lat1,3) == Math.Round(lat2,3) && Math.Round(lon1,3) == Math.Round(lon2,3)) { speed = 0; } else { double dlon = lon2 - lon1; double dlat = lat2 - lat1; double a = Math.Pow((Math.Sin(dlat / 2)),2) + Math.Cos(lat1) * Math.Cos(lat2) * Math.Pow((Math.Sin(dlon / 2)),2); double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a)); double distance = 3961 * c; //3961 miles = Radius of the Earth. It is equivalent to 6373 km // miles / second speed = distance / elapsedTime.TotalHours; // return Math.Round(speed,2); // MessageBox.Show(elapsedTime.TotalHours.ToString()); } return speed; }