2011-08-04 37 views
1

我正在用Silverlight bing地圖控件構建地圖應用程序。(冰)地圖:+5000個皮點

在地圖控件中,我想顯示所有訂閱的客戶。 客戶數量介於5000到7000之間,這意味着我無法一次顯示全部。我想這會導致崩潰。

你會如何解決這個問題? 我已閱讀關於縮放級別等事件關於空間sql 瓷磚層的事件,但我不知道什麼是正確的解決方案是在這種情況下,從哪裏開始。

在使用地圖時,這看起來像是一個非常基本的問題,但在使用bing地圖時,很少或根本沒有關於如何處理大量數據的信息。

任何人都可以解釋或指向我一個很好的教程?

回答

2

您可以使用空間填充曲線或空間索引來獲取與地圖應用程序的縮放級別嵌套的點,以實現集羣效果http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves。 sfc和hilbert曲線有許多實現。我已經在phpclasses.org上(hilbert-curve,bsd license)上傳了我自己的文件,並且使用quadkey函數實現了羣集功能。我已經成功地爲一些客戶實施了它。這個想法是從左到右搜索一個quadkey來獲得pois的一部分。 www.maptiler.org使用帶有z曲線的quadkey。可能你在gis.stackexchange上得到了更好的答案。一個sfc通常具有2的冪約束。

+0

這似乎是一個複雜而有趣的話題。由於我沒有開發地圖應用程序的經驗,因此從空間開始閱讀sql似乎是一個很好的開始,可以充分理解這些算法以及如何實現它們。感謝您的信息。 – BBQ

+0

@BBQ:以下是你如何使用MySQL的方法http://stackoverflow.com/questions/6919661/select-within-20-kilometers-based-on-latitude-longitude/6919743#6919743。我的解決方案是針對硬核編碼器或專業人士。 – Bytemain

相關問題