我有位置數據存儲在Core Data中的對象,我希望能夠獲取並顯示與當前位置最近的點。我知道有些公式會計算從當前緯度/經度到存儲緯度/經度的距離,但我很好奇最好的方式來對存儲在覈心數據中的一組1000+點執行此操作。我知道我可以將核心數據中的點返回給一個數組,然後循環遍歷那些尋找點間距離的最小值,但我想可能會有更高效的方法,可能以某種方式利用核心數據。什麼是計算最近點的有效方法?
任何有識之士將不勝感激。
編輯: 我不知道我是如何在初始搜索時錯過的,但this SO question建議只是遍歷核心數據對象的數組,但使用基於當前位置的邊界框限制數組大小。這是我能做的最好的嗎?
使用邊界框聽起來很合理,應該很快得到第一組點,如果猜測是好的,不需要迭代太多。技巧是猜測正確的盒子大小,我想你可以從一個小的開始,並通過某個因子增加它的高度和寬度,直到找到多個點,然後開始迭代。 – Douglas 2010-03-11 09:23:19
我認爲[this](http://en.wikipedia.org/wiki/Voronoi_diagrams)可以幫助你。 – user272879 2010-03-11 09:02:17