相关疑难解决方法(0)

查找与所选点的特定距离内的所有地址的最佳方法是什么

我正在开发一个应用程序,它应该显示位于特定距离的地址.我知道如何找到两点之间的距离,但问题是我不确定在性能方面什么是最好的方法.

一种方法是检索所有地址并逐一检查后端的选定地址,但有没有办法最小化我从数据库中检索的项目数,而不是使用内存?最好的做法是什么?如何做?

想象一下,我有300,000条记录,我必须全部检索它们并计算它们到选定点的距离吗?正如詹姆斯建议我可以在不同地区记录并计算距离,那么哪种方法可以遵循,通过查询或Java进行距离计算?

  public class Address{
    long Id;
    Double latitude;
    Double longitude;
    ..
  }
Run Code Online (Sandbox Code Playgroud)

计算

public static double distFrom(double lat1, double lng1, double lat2, double lng2) {
  double earthRadius = 3958.75;
  double dLat = Math.toRadians(lat2-lat1);
  double dLng = Math.toRadians(lng2-lng1);
  double sindLat = Math.sin(dLat / 2);
  double sindLng = Math.sin(dLng / 2);
  double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2)
        * Math.cos(Math.toRadians(lat1)) *     Math.cos(Math.toRadians(lat2));
  double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  double dist = earthRadius * c;

  return dist;
}
Run Code Online (Sandbox Code Playgroud)

这个问题 …

java mysql spring hibernate latitude-longitude

12
推荐指数
2
解决办法
2407
查看次数

MySQL纬度和经度表设置

我想在mysql数据库表中存储位置的纬度和经度值.考虑到未来,我希望能够在特定位置的特定半径范围内找到这些位置.话虽如此,我应该将纬度和经度值存储在哪些数据类型?请你能为我提供一个创建表脚本,如下所示:

place_id  |  lat  |  long
Run Code Online (Sandbox Code Playgroud)

上表中是否有一个我缺少的专栏,它将为我提供我目前可能看不到的其他信息?

谢谢你的帮助.

mysql spatial latitude-longitude

9
推荐指数
1
解决办法
8091
查看次数

如何在laravel中搜索给定距离和给定纬度和经度的所有位置

这是我的senario:我通过以下方式在mysql数据库中保存了商店详细信息.

shopName,纬度,经度,

现在,如果有人在经度和距离(如5公里)的位置给出了他的位置,我需要在距离他5公里范围内填写所有商店,

在这里用户是中心,半径是5公里,我需要找到该圈内的所有商店,我的应用程序是在laravel 5.1中开发的

我试图遵循这个代码,但它不起作用.

谁能帮我.

php mysql google-maps geolocation laravel-5.1

3
推荐指数
1
解决办法
2692
查看次数