我的iPhone應用程序中有大約800個地理座標作爲平面文件。我正在尋找一種有效的方法來找到一個將採用當前用戶位置的算法,循環遍歷所有這800個座標,並只拉動10英里附近的座標。這可以做得多有效?也請分享鏈接,讓我對這背後的數學有基本的瞭解。查找離我目前GPS位置最近的座標
回答
這是一個link的問題,其中OP的最終代碼可以幫助您瞭解如何從座標創建位置以及如何計算它們之間的距離。
這裏是如何創建一個位置:
CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
這裏是如何找到兩個位置之間的距離:
CLLocationDistance distance = [locationA distanceFromLocation:locationB]; //CLLocationDistance is a double
但是你不必位置排序。只需循環遍歷它們並將附近的位置添加到數組中即可。
首先,我認爲每個人都同意計算距離,你需要使用Haversine函數。
Finding the closest point to a given point
如果搜索的時間是一個問題(迭代你所提到的800個數據點),那麼怎麼樣二維散列?只需根據lat/long將數據集加載到存儲桶或區域中 - 那麼您不必搜索整個數據集 - 只有可能包含匹配的存儲桶。
這正是我正在尋找的感謝.. – dreampowder 2013-12-21 20:11:21
如果我在地圖上有10點。我想找到給定的「目標」點的最近點。我得到我的尺子並計算從「目標」到每個點的距離。我不會找到最近的點嗎?爲什麼我需要沙灘車? – dimitris93 2016-05-18 23:28:23
- 1. 查找距離最近的GPS座標(最鄰近搜索)
- 2. 按特定距離查找距離目標位置最近的位置
- 3. 如何查找當前位置列表中最近的位置座標?
- 4. 查找接近距離GPS
- 5. 從現有座標查找最近的位置mapkit
- 6. MongoDB gps離我最近
- 7. 如何從我的GPS座標ge附近的位置?
- 8. 從我的當前位置獲取距離最近的位置
- 9. 查找就近我的GPS定位
- 10. 從多個GPS座標計算到最近岸的距離
- 11. 查找離緯度/經度座標最近的5個車站
- 12. android-尋找最近的位置到我目前的地方
- 13. Python:在一組GPS座標中找出最常見的位置
- 14. 獲取給定當前位置,方位和距離的GPS座標
- 15. 使用javascript/jQuery查找與鼠標位置最接近的網格座標
- 16. JavaScript地理位置:檢查距離2個GPS座標的距離
- 17. 如何找到距離當前位置最近的經緯度?
- 18. 查找幾個座標中最接近的座標
- 19. 如何在我目前的位置附近找到最近的地方?
- 20. 查找離我最近的CCSprite
- 21. 尋找距離鼠標最近的對象座標
- 22. 獲得距離點最近的座標
- 23. 如何查找我當前位置附近的位置?
- 24. 從座標列表的最小距離查找座標
- 25. 查找距離陣列最近的位置(iOS)
- 26. 查找當前位置的座標並找出國家
- 27. GPS座標距離測量
- 28. 如何找到已知GPS距離的GPS座標?
- 29. Android GPS我的位置查找
- 30. 在R中,將浮點座標離散到最近的座標
你或許可以看到這個問題http://stackoverflow.com/questions/913576/finding-the-closest-point-to-a-given-point他們提供了一個簡單的例子,雖然它不是用Objective-C編寫。 – 2012-02-18 00:30:49
我認爲你已經得到了與鏈接問題不同的問題,因爲它試圖找到_the closest_,並且你正試圖在指定的距離內找到_all_,對嗎? – sarnold 2012-02-18 00:46:36