从数据集中计算最近的地理位置

Posted

技术标签:

【中文标题】从数据集中计算最近的地理位置【英文标题】:Calculating nearest GeoLocation out of a dataset 【发布时间】:2011-05-29 10:47:20 【问题描述】:

我将尝试用一个例子来解释这一点:

我有一个包含数千个地理位置的数据集和一些附加信息,并且有一个与该数据集交互的脚本。

我将向此脚本发送一个 GeoLocation,并希望它从最接近我发送的 GeoLocation 的数据集中向我发送一个 GeoLocation。

是否有任何预定义的逻辑/算法/公式可用于此?

如果没有,我可以采取什么方法?

它会像应用普通数学一样简单吗?

【问题讨论】:

感谢您的支持 :) 【参考方案1】:

通常的方法是进行 K-nearest search 查询,可以使用 R-tree 或 GIST 索引。

但是,并非所有数据库都支持这一点。据我所知,SQLite 没有,我猜你正在使用后者,因为你正在为 android 开发。如果是这样,请查看此相关问题以寻找潜在的解决方法:

SQlite Getting nearest locations (with latitude and longitude)

如果没有,请查看PostGIS(用于 PostgreSQL)、mysql's GIS functionality 等。

【讨论】:

太棒了。我将在我的网络服务端使用 MySql.. 只需阅读这篇文章。谢谢,丹尼斯!【参考方案2】:

上周我正在处理一个类似的问题并找到了这个网站。

http://www.imaginerc.com/software/GeoCalc/

它为 php 和 MySQL 添加了地理计算功能。

马丁

【讨论】:

以上是关于从数据集中计算最近的地理位置的主要内容,如果未能解决你的问题,请参考以下文章

arcgis定义查询like公式

如何从数据库中获取最近的位置条目?

仅从数据库中过滤最近的位置

使用距位置的距离有效地计算最近的 5 个位置

使用 hasrsine() 雪花函数从最近的位置动态映射数据

地理位置找到最近的地方[关闭]