当纬度和经度是已知点时,计算100米距离

时间:2010-12-12 05:40:39

标签: android mysql geocoding distance

我想知道是否可以用已知的纬度和经度计算给定点周围100米的距离。我在MySQL数据库中有一些坐标,想要知道特定坐标是否位于给定点的100米范围内。

我正在使用Android平台。我只知道我所站立的一个坐标(经度和纬度)(当前位置),我想设置距离范围(比如说100米)。

我在数据库中保存了更多坐标,并且想要计算数据库中保存的其他点是否在距我当前位置100米范围内。我不知道我是否可以在我的应用程序中使用GIS数据库。

2 个答案:

答案 0 :(得分:8)

在给定纬度和经度http://www.movable-type.co.uk/scripts/latlong.html

的情况下计算两点之间距离的完整代码

答案 1 :(得分:5)

鉴于输入为_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