选择距离数据库非常近的GPS坐标

时间:2013-08-15 07:20:24

标签: c# sql google-maps-api-3 gps

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

因为表包含大量值,我必须避免遍历所有现有的GPS坐标来计算距离。有没有办法只选择与所选地址非常接近的坐标?然后我可以使用较小的数据集来计算点之间的距离。

1 个答案:

答案 0 :(得分:0)

考虑到特定的经度,你应该能够确定北纬50公里的经度和南方50公里的经度(假设在极点50公里范围内没有地址)。为纬度做同样的事情。搜索适合这两个范围的值。找到此子集中的最小距离。显然,界限内的一些点可能仍然高达sqrt(50 * 50 * 2)km,所以你仍然需要与之进行比较,而不是仅仅采取最小值。