从数据库中选择非常接近的 GPS 坐标
Posted
技术标签:
【中文标题】从数据库中选择非常接近的 GPS 坐标【英文标题】:Select GPS coordinates with close proximity from database 【发布时间】:2013-08-15 07:20:23 【问题描述】:我有一个表格,其中包含大量纬度和经度值,格式为 -26.0346511492626 和 28.0677509307861。用户可以从谷歌地图中选择他的地址,我必须确定所选地址是否在任何已捕获的 GPS 坐标的 50 公里范围内。
由于该表包含大量值,因此我必须避免遍历所有现有 GPS 坐标来计算距离。有没有办法只选择与所选地址非常接近的坐标?然后我可以使用较小的数据集来计算点之间的距离。
【问题讨论】:
是的,您可以使用相对于您/用户位置的一些容差值来查询数据库。找出所有添加到用户位置的公差值的GPS,它也会减少数据集。 【参考方案1】:给定一个特定的经度,您应该能够确定北 50 公里的经度和南 50 公里的经度(假设在两极 50 公里范围内没有地址)。对纬度做同样的事情。搜索适合这两个范围的值。在这个子集中找到最小的距离。显然,边界内的某些点可能仍然在 sqrt(50*50*2)km 之外,因此您仍然需要与之进行比较,而不仅仅是取最小值。
【讨论】:
以上是关于从数据库中选择非常接近的 GPS 坐标的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以从作为 LAT/LONG 作为 PostGIS 中的地理数据类型插入的 GPS 坐标中恢复数据?