从数据库中选择非常接近的 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 坐标中恢复数据?

从USB GPS解码GPS坐标

PHP / MySQL - 从实际 gps 坐标查找半径 500 米内的所有项目

android,检查gps位置是不是接近/接近某个位置

从阿尔伯斯转换为 GPS 坐标