我正在考虑如何在我的应用程序中构建数据,其中一个最重要的查找将是距离一个位置集合(10,000多个位置)最近的位置,我正在寻找最快速,最有效的方法此
我的想法:
使用核心数据并存储cllocations或double,使用谓词查询最接近参考位置的顺序
将它们存储在sqlite数据库中并使用sql查询中的距离公式
将所有位置加载到内存中的某种数据结构(数组,链表,散列图等)并以不同的方式计算距离
这些解决方案中哪些是最快/最有效的?或者你会推荐另一种解决方案吗?
答案 0 :(得分:0)
正如其他人所提到的,您无法使用核心数据按计算值进行排序,因此遗憾地查询最近的位置。我使用过以下内容"拳击"近似的方法,可能会或可能不会满足您的需求:
如果您想为最近的位置提出一个请求,您可能需要直接使用SQLite。我不会将所有的点加载到内存中,而不会仔细检查这样做的总内存影响,并了解您的应用程序同时出于其他原因使用了多少内存。