【问题标题】:Find data from table using radius check in geomatry column使用几何列中的半径检查从表中查找数据
【发布时间】:2022-01-25 14:02:55
【问题描述】:

我有表“vehicle_location”和表数据类型中的“坐标”列是geomatry

在我的控制器中,我得到了经纬度和半径的请求,所以我想使用半径查找车辆位置数据

【问题讨论】:

    标签: php sql laravel


    【解决方案1】:

    看看维基百科上解释的公式:https://en.wikipedia.org/wiki/Great-circle_distance

    你会发现有人在这里问同样的问题:Measuring the distance between two coordinates in PHP

    理想情况下,最好能够减少对距离您所在位置不远的汽车的距离计算。因此,通常情况下,我会从一个 SQL 查询开始,该查询仅根据给定的半径返回附近具有纬度和经度值的车辆。

    然后,在第二步中,您可以使用算法(需要一些计算时间)计算这些汽车与您的位置之间的所有距离,然后对其进行排序。

    理想的做法是尽可能尝试直接在 SQL 中进行计算,以便您可以对它们进行排序并使用半径进行过滤。如果它变得复杂,那么在 PHP 中进行计算和排序。

    【讨论】:

      猜你喜欢
      • 2014-03-07
      • 2017-08-05
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 2012-12-07
      相关资源
      最近更新 更多