java - 从数据集中计算最近的 GeoLocation

标签 java android geolocation

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

我有一个包含数千个 GeoLocations 的数据集以及它们附带的一些信息,并且有一个与该数据集交互的脚本。

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

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

如果不能,我可以采取什么方法?

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

最佳答案

通常的方式是进行K-最近搜索查询,可以使用R-tree或GIST索引。

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

SQlite Getting nearest locations (with latitude and longitude)

如果没有,请查看 PostGIS (对于 PostgreSQL),MySQL's GIS functionality

关于java - 从数据集中计算最近的 GeoLocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6167274/

相关文章:

java - Objective C JAVA字节序

java - 是否可以从响应对象中提取方法名称?

手机处于非 Activity 状态时的 Android 位置更新

c# - [Location1].DistanceTo[Location2] 中的单位

Java servlets,将文本文件中的数据写入网页

java - 捕获错误消息并显示在控制台(IDE)中

Android - 获取图像 uri 时出现问题

android - 如何使用 phonegap 在状态栏上创建通知

android - 在 Viewpager 中从位图中保存图像

java - 如何从一个地方的纬度和经度得到一个地方到另一个地方的方向?