从数据库中选择距离较近的GPS坐标

本文关键字:GPS 坐标 距离 数据库 选择 | 更新日期: 2023-09-27 18:27:56

我有一个表,其中包含-26.0346511492626和28.0677509307861形式的大量纬度和经度值。用户可以从谷歌地图中选择他的地址,我必须确定所选地址是否在任何已经捕获的GPS坐标的50公里范围内。

因为表中包含一大组值,所以我必须避免迭代所有现有的GPS坐标来计算距离。有没有办法只选择离所选地址很近的坐标?然后我可以使用较小的数据集来计算点之间的距离。

从数据库中选择距离较近的GPS坐标

给定一个特定的经度,您应该能够确定北纬50公里和南纬50公里的经度(假设距离极点50公里内没有地址)。对纬度也要这样做。搜索符合这两个范围的值。找出该子集内的最小距离。显然,边界内的一些点可能仍然高达sqrt(50*50*2)公里,所以你仍然需要与之进行比较,而不仅仅是取最小值。