Ricerca di risorse o algoritmo per calcolare quanto segue in un'app di navigazione:Calcoli GPS/GIS: Algoritmo per prevedere la posizione futura in base al movimento/mph?
Se la mia posizione GPS corrente è (0,0) e sto andando 32 gradi a 15 miglia all'ora, come posso calcolare quello che il mio la posizione sarà tra 10 secondi?
cioè: GPSCoordinate predictedCoord = GPSCoordinate.FromLatLong(0, 0).AddByMovement(32, 15, TimeSpan.FromSeconds(10));
Edit: codice di corrente in base alla risposta di seguito:
public GPSCoordinate AddMovementMilesPerHour(double heading, double speedMph, TimeSpan duration)
{
double x = speedMph * System.Math.Sin(heading * pi/180) * duration.TotalSeconds/3600;
double y = speedMph * System.Math.Cos(heading * pi/180) * duration.TotalSeconds/3600;
double newLat = this.Latitude + 180/pi * y/earthRadius;
double newLong = this.Longitude + 180/pi/System.Math.Sin(this.Latitude * pi/180) * x/earthRadius;
return GPSCoordinate.FromLatLong(newLat, newLong);
}
Se la vettura è in movimento su una strada che si potrebbe desiderare di seguire la strada invece di estrapolare in modo lineare. – CodesInChaos
@CodeInChaos in questo caso, voglio lineare; questo non tiene percorsi a terra in considerazione (forse più tardi!) – Brandon
Il codice in prima risposta sul http://stackoverflow.com/questions/3225803/calculate-endpoint-given-distance-bearing-starting-point
ti spiegherò tutto – faruk