【发布时间】:2014-05-12 10:39:20
【问题描述】:
我想找到一种最佳方式来存储包含位置数据坐标的大型数据文件(最大 1.5 GB)中的信息。该文件还包含有关位置的其他信息,例如:位置名称、位置图标。
我需要能够查询数据结构 基于当前用户位置并检索“n”个最近的位置(其中 n 是通常是相对较小的数字,例如 30) 到当前用户位置。
我读过一些帖子建议使用“网格”数据结构,它真正反映了当前的地理坐标系(纬度和经度)。
我当前的解决方案是将矩阵初始化为位置网格,其中每个单元格代表一条平行线和一条子午线。然后该单元格包含对该特定“区域”中位置数组的引用(由平行和子午线定义)。
在数据类型方面:一个 NSArray 被初始化为 meridians 的最大数量,另一个被初始化为 parallels 的最大数量。然后每个单元格将包含该特定单元格中所有位置的 NSMutableArray(例如纬度 50.-,经度 0.-)。从这里我将获得该单元格中所有位置的列表,并且我可以检索数据,例如离当前用户位置最近的位置。
这种数据结构对您来说是否合理,或者是否有“最先进的”方法或库可以做到这一点?
此解决方案的缺点是,如果文件的大部分位置位于某个地理区域,则定义的数据结构将具有高强度的区域(单元格)强度较低的位置和区域。因此,我的直觉是我需要某种动态平衡自身的数据结构。
有什么建议吗?
【问题讨论】:
标签: ios objective-c data-structures geolocation