我将尝试用一个例子来解释这一点:
我有一个包含数千个 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/