1

Comment cloner votre propre emplacement, puis ajouter quelques mètres supplémentaires dans la direction souhaitée?Positionnement de la latitude et de la longitude dans la direction opposée

En ce moment mon application Android peut obtenir l'azimut, et ma position GPS, et j'ai codé en dur la distance désirée pour un exemple, 10 mètres.

Ensuite, mon application devrait créer un nouvel emplacement, exactement 10 mètres en avant où je suis confronté.

Donc, si ma position est la suivante: la longitude 17,537200603552526, latitude 25,70358496181195

et je veux à déplacer 8 mètres directement vers le nord, et 2 mètres directement vers l'est.

Est-ce que la nouvelle longitude et la latitude ressembler à:

longitude actuelle + 0,00008, latitude actuelle + 0,00002

Heres une partie de mon code pour calculer le gradient et le nouvel emplacement:

public double[] calculateXYLength(double[] vals, double distance) 
{ 
    double x = vals[0]; 
    double y = vals[1]; 

    if (vals[0] < 0) 
     { 
      x = x * -1; 
     } 
    if (vals[1] < 0) 
     { 
      y = y * -1; 
     } 
    // Log.d("lengths", "K = " + distance + "/(" + x + " + " + y + ")"); 
    double k = distance/(x + y); 

    // Log.d("lengths", "vals[0]: " + vals[0] + " vals[1]: " + vals[1]); 
    // Log.d("lengths", "x: " + (vals[0] * k) + " y: " + (vals[1] * k) + 
    // " k: " + k); 
    return new double[] { (vals[0] * k), (vals[1] * k) }; 
} 

Remarquez que le vals est le dégradé que j'ai déjà calculé, et le résultat que je vais revenir que je vais utiliser pour ajouter à mon nouveau point de localisation. Mais le fait est que je n'obtiens pas la distance désirée entre ces deux endroits. Et je ne comprends pas pourquoi. Comment puis-je ajouter la distance souhaitée sur la latitude/longitude?

Merci, Johan

+0

Solution trouvée ici: http://stackoverflow.com/questions/2187657/calculate-second-point-knowing-the-starting-point-and-distance – leu2tm

Répondre

0

Les mesures de longitude et latitude sont pas degrés mètres, je pense que le problème. 1 degré = 111.12 km

+0

Oui, je le reconnais, mais comment? serais-je capable de convertir ceci en géopoints ou en coordonnées? Parce que je ne vois pas comment je pourrais trouver mon nouvel emplacement. – leu2tm

+0

Oui, j'ai trouvé une autre question similaire. http://stackoverflow.com/questions/2187657/calculate-second-point-knowing-the-starting-point-and-distance – leu2tm

+0

ok avez-vous résolu cela alors? Si vous avez une autre question, je travaille également avec google maps + Directions sur Android, j'espère que nous pourrons nous entraider. –

Questions connexes