2010-12-12 5 views
9

Ich möchte wissen, ob es möglich ist, eine 100 Meter Entfernung um einen gegebenen Punkt mit einem bekannten Längen- und Breitengrad zu berechnen. Ich habe einige Koordinaten in einer MySQL-Datenbank und möchte wissen, ob eine bestimmte Koordinate in einem Abstand von 100 Metern zu einem bestimmten Punkt liegt.Berechnen Sie 100 Meter Entfernung, wenn die Breite und Länge ein bekannter Punkt ist

Ich benutze die Android-Plattform. Ich kenne nur eine Koordinate (Länge und Breite) wo ich stehe (aktueller Ort) und ich möchte den Entfernungsbereich (etwa 100 Meter) einstellen.

Ich habe mehr Koordinaten in der Datenbank gespeichert und möchte berechnen, ob die anderen Punkte in der Datenbank in 100 Meter Entfernung von meinem aktuellen Standort gespeichert sind oder nicht. Ich weiß nicht, ob ich GIS-Datenbank in meiner Anwendung verwenden kann.

+0

Welche Plattform sind Sie in der Berechnung zu tun? MySql oder JavaScript? – Brad

+0

Bei 100 m können Sie entweder (a) annehmen, dass die Erde auf dieser Skala flach ist, und ziemlich einfache Formeln verwenden, die mehrere Personen bereits angegeben haben oder (b) sich um die Höhe kümmern. In diesem Fall benötigen Sie eine GIS-Datenbank. – derobert

Antwort

3

Bei Eingang ist _LATITUDE, _LONGITUDE und _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 
Verwandte Themen