Рассчитайте расстояние 100 метров, когда широта и долгота - известная точка - PullRequest
10 голосов
/ 12 декабря 2010

Я хочу знать, возможно ли рассчитать расстояние в 100 метров вокруг заданной точки с известной широтой и долготой.У меня есть некоторые координаты в базе данных MySQL, и я хочу знать, лежит ли конкретная координата в диапазоне 100 метров от заданной точки.

Я использую платформу Android.Я знаю только одну координату (долгота и широта), в которой я стою (текущее местоположение), и я хочу установить диапазон расстояний (скажем, 100 метров).

У меня сохранено больше координат в базе данных, и я хочу рассчитать, находятся ли другие точки, сохраненные в базе данных, в диапазоне 100 метров от моего текущего местоположения или нет.Я не знаю, смогу ли я использовать базу данных ГИС в своем приложении.

Ответы [ 2 ]

8 голосов
/ 12 декабря 2010

Полный код для расчета расстояния между двумя точками с учетом широты и долготы http://www.movable -type.co.uk / scripts / latlong.html

5 голосов
/ 12 декабря 2010

Дано значение _LATITUDE, _LONGITUDE и _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
...