【问题标题】:Calculate 100 meter distance when the latitude and longitude is a known point当经纬度为已知点时计算100米距离
【发布时间】:2011-05-24 03:53:33
【问题描述】:

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

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

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

【问题讨论】:

  • 你在什么平台上做计算? MySql 还是 JavaScript?
  • 在 100m 处,您可以 (a) 假设地球在该比例尺上是平的,并使用几个人已经给出的相当简单的公式,或者 (b) 关心高度,在这种情况下,您需要地理信息系统数据库。

标签: android mysql geocoding distance


【解决方案1】:

给定经纬度计算两点距离的完整代码http://www.movable-type.co.uk/scripts/latlong.html

【讨论】:

    【解决方案2】:

    给定的输入是_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
    

    【讨论】:

    • 我知道这是很久以前发布的 - 但书面值代表什么,即 ) * 60 * 1.1515 * 1.609344 * 1000 ) 作为米 - 什么是 1.1515? 1.609344?等
    • @tember 1.6 是英里/公里转换器。 60 是一个学位的分钟数; 1000是一公里的米数; 1.1515 是海里的法定英里数。事实:一海里是赤道纬度一分钟的长度。更多解释请参见:stackoverflow.com/questions/389211/…
    • 这个答案是正确的。我测试了它,它工作正常。
    • 既然可以通过差值检查,为什么还要计算呢?
    【解决方案3】:

    如果有人还在寻找答案,计算距离很简单(精确获取方向很难计算,如果有人知道简单的答案,请添加)

    因此请检查您的经纬度值之间的差异,十进制度数更改为 0.001 表示距离为 111 米。检查纬度和经度到十进制度的变化最大 0.001 将在您的点周围绘制一个 111m 半径的圆。

    例如。您的起点是 A(Lat1,Lng1)。您要测试的点 B(LatB,LngB) , C(LatC,LngC) .....

    if: (Lat1 - 0.001)

    if: (Lat1 - 0.001)

    十进制度参考https://en.wikipedia.org/wiki/Decimal_degrees

    decimal degrees distance
    0 1.0 111 km
    1 0.1 11.1 km
    2 0.01 1.11 km
    3 0.001 111 m
    4 0.0001 11.1 m
    5 0.00001 1.11 m
    6 0.000001 0.111 m
    7 0.0000001 1.11 cm
    8 0.00000001 1.11 mm

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 2012-10-13
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      相关资源
      最近更新 更多