我在 MySQL 远程服务器的数据库中存储了 300 个经纬度数。我想远程计算我的手机和我的数据库中的 lat, long 之间的当前纬度和经度之间的差异。○
实现这一目标的最佳方法是什么?
我在想从手机发送当前的纬度和经度并进行计算并将差值发回?
有没有更好的办法?
谢谢!
我在 MySQL 远程服务器的数据库中存储了 300 个经纬度数。我想远程计算我的手机和我的数据库中的 lat, long 之间的当前纬度和经度之间的差异。○
实现这一目标的最佳方法是什么?
我在想从手机发送当前的纬度和经度并进行计算并将差值发回?
有没有更好的办法?
谢谢!
300不是很多数据点。我有一个超过 50,000 的应用程序,完全没有问题。
我会将数据库从远程服务器发送到您的手机(或列的子集)。
在我自己的应用程序中,我将世界划分为 1°x1° 扇区并分配扇区编号
sector = (lat+90)*360 + (lon+180);
有效地散列它们。哈希码是数据库的一部分。
然后,当我想查找附近的数据点时,我计算当前纬度和经度的扇区号,以及八个相邻扇区的扇区号。然后我将我的数据库搜索限制在这九个领域。
之后,只需在数据库中查询附近扇区的数据点,并计算我当前位置与这些数据点之间的距离。
将数据库下载到手机需要一次性成本,但以后可以节省大量时间和带宽。