J'essaie d'obtenir deux points, A et B, qui sont chacun à une distance de 5km horizontalement et verticalement autour d'un point central C. Ainsi les points A et B créent un "box" d'une longueur de 10km et C est exactement au centre de cette case. Voici mon code:Calcul d'une "boîte" autour des coordonnées de latitude et longitude en Java
//Distance is 5 kilometers
float distance = 5;
float latCenter = locationInfo.lastLat;
float lngCenter = locationInfo.lastLong;
// Calculate corner point distance in lat and long
float latDelta = distance/110.54f;
float longDelta = distance/(111.320f(float)Math.cos((double)latCenter));
// Calculate coordinates of the corner points
float latA = lat - latDelta;
float longA = lng - longDelta;
float latB = lat + latDelta;
float longB = lng + longDelta;
Je sais que ce sont des approximations, mais se rapprochant avec une marge d'erreur de ~ 1 km est très bien dans mon cas. La distance verticale est bonne (10.06km) mais la distance horizontale est d'environ 6km au lieu de 10km.
Quel est le problème avec ma formule? Je suppose que c'est une erreur mathématique très simple, mais je ne peux pas le trouver. Il me fallait un code très simple et rapide, donc je basé mes calculs sur cette réponse StackOverflow: Simple calculations for working with lat/lon + km distance?
C'était l'erreur, cela fonctionne parfaitement maintenant! Merci pour l'aide rapide! –
Vous êtes les bienvenus :) –