百度興趣點下載工具設計和實現


文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

1.前言

在內網項目中需要展示興趣點,而此時對方並沒有提供興趣點數據,同時也不能通過百度在線服務去獲取時,能夠將百度的興趣點趴取組織然后存放在本地顯得十分有用。如果,還能將百度興趣點的坐標逆轉換成本地坐標系下的坐標,那么剛才描述的這個問題也便能迎刃而解。

百度服務端提供了請求興趣點的接口。對於一般用戶,一個key一天可以請求的上限是10W次。基於此服務,我們便可以開展百度興趣點下載工具的研發。

2.思路

                       

3.實際開發中遇到的問題

3.1 請求返回的數據個數問題

不管我們向百度的后台請求的范圍是多大,其返回的總數(不是指每頁數量)最多不會超過400個。

 

所以,如果想盡可能多的下載到范圍內的興趣點,我們需要做到以下兩步:

a.盡量使用范圍來進行請求。

b.將范圍進行格網化,並且此格網大小要合適。選擇1KM作為格網划分單位比較合適。然后按照格網范圍進行請求。

在開發過程中,涉及到首先遍歷所有格網,其次在每次遍歷中,根據第一次返回的total以及pagesize做遞歸或者堆棧循環。

3.2興趣點uid重復問題

根據自身所需的關鍵字組合而獲取的所有興趣點中,會出現uid重復問題。這個主要是某個興趣點同時屬於多個關鍵字。

所以在后台進行數據整合時,需要進行過濾。

4.優化

4.1 多線程下載

使用多線程下載可以比較好的解決下載速度問題。但是如何划分每個線程所管轄的下載范圍,每個線程負責下載的關鍵字,線程開啟多少合適,需要測試優化。

4.2 數據保存問題

數據有可能存在到多種數據庫中。這里如果可以生成中間緩存文件。然后再導入進所需的數據庫,能規避許多不必要深究的問題。

並且多線程同時操作相同的文件,容易出現線程堵塞或者資源搶占錯誤。這里建議以不同線程對應不同臨時文件來解決。

4.3 錯誤記錄修復

在請求解析時,難免會出現返回結果不正確導致的解析錯誤等其他問題。這里需要對錯誤請求進行記錄。並且提供修復功能。

4.4 嵌入網頁地圖

后續中可以嵌入網頁地圖,方便選擇范圍。

5.已完成的工具展示

 

 

                                                                              -----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

                                                                                     如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                                

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM