2010-12-12 7 views
9

Chcę wiedzieć, czy możliwe jest obliczenie odległości 100 metrów wokół danego punktu o znanej szerokości i długości geograficznej. Mam pewne współrzędne w bazie danych MySQL i chcę wiedzieć, czy określona współrzędna leży w odległości 100 metrów od danego punktu.Oblicz odległość 100 metrów, gdy szerokość i długość geograficzna jest znanym punktem

Używam platformy Android. Znam tylko jedną współrzędną (długość i szerokość geograficzną), na której stoję (obecna lokalizacja) i chcę ustawić odległość (powiedzmy 100 metrów).

Mam więcej współrzędnych zapisanych w bazie danych i chcę obliczyć, czy inne punkty zapisane w bazie danych znajdują się w odległości 100 metrów od mojej bieżącej lokalizacji, czy nie. Nie wiem, czy mogę korzystać z bazy danych GIS w mojej aplikacji.

+0

Co platforma robisz obliczenia w? MySql lub JavaScript? – Brad

+0

Na 100m możesz albo (a) przyjąć, że ziemia jest płaska w tej skali, i użyć dość prostych formuł, które kilka osób już podało, albo (b) dbać o wzrost, w takim przypadku potrzebujesz bazy danych GIS. – derobert

Odpowiedz

3

Biorąc pod uwagę wejście jest _LATITUDE, _LONGITUDE i _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 
Powiązane problemy