按坐标搜索附近位置?

Search Nearby Location by Coordinate?

我正在尝试为我们的移动开发人员创建 Web 服务。

我有位置坐标数据库。如何return 给定坐标附近坐标的结果?比方说在 100 英里的半径范围内。

有什么想法吗?

  1. 创建一个空数组。
  2. 对于每个位置,测试该位置是否在您坐标的 100 英里半径范围内。如果是,将该位置添加到数组中。
  3. 将数组转换为适用于网络服务的格式,例如。 G。肥皂或 JSON.
  4. 输出转换后的数组

可以使用

计算坐标为 (lat1|lng1) 和 (lat2|lng2) 的点之间的距离(以米为单位)
      arccos(sin(lat1)sin(lat2)+cos(lat1)cos(lat2)cos(lng1-lng2))
-----------------------------------------------------------------------
sqrt((cos(0.5(lat1+lat2))/6378137)^2 + (sin(0.5(lat1+lat2))/6356752)^2)

分子计算半径为 1 的球体上的相应距离。分母根据地球的短轴和长轴半径进行调整。