2010-12-12 5 views
9

Je veux savoir s'il est possible de calculer une distance de 100 mètres autour d'un point donné avec une latitude et une longitude connues. J'ai quelques coordonnées dans une base de données MySQL et je veux savoir si une coordonnée spécifique se trouve à 100 mètres d'un point donné. J'utilise la plateforme Android. Je ne connais qu'une coordonnée (Longitude et Latitude) où je suis debout (emplacement actuel) et je veux définir la distance (disons 100 mètres).Calculer une distance de 100 mètres lorsque la latitude et la longitude sont un point connu

J'ai plus de coordonnées sauvegardées dans la base de données et je veux calculer si les autres points enregistrés dans la base de données sont dans une plage de 100 mètres de mon emplacement actuel ou non. Je ne sais pas si je peux utiliser la base de données SIG dans mon application.

+0

Quelle plate-forme que vous faites le calcul? MySQL ou JavaScript? – Brad

+0

A 100m, vous pouvez (a) supposer que la terre est plate sur cette échelle, et utiliser des formules assez simples que plusieurs personnes ont déjà données ou (b) se soucier de la hauteur, auquel cas vous avez besoin d'une base de données SIG. – derobert

Répondre

3

entrée, est _LATITUDE, _LONGITUDE et _METERSRANGE

SELECT *, 
     (((Acos(Sin((_LATITUDE * Pi()/180)) * Sin(( 
        ` LATITUDE `* Pi()/180)) + 
        Cos 
         (( 
         _LATITUDE * Pi()/180)) * Cos(( 
        ` LATITUDE `* Pi()/180)) * 
        Cos 
         (( 
         ( 
          _LONGITUDE - ` LONGITUDE `) * Pi()/180)))) * 
      180/Pi 
      () 
     ) * 60 * 1.1515 * 1.609344 * 1000) AS METERS 
FROM MYTABLE 
WHERE METERS <= _METERSRANGE 
Questions connexes