文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。數據庫
在內網項目中須要展現興趣點,而此時對方並無提供興趣點數據,同時也不能經過百度在線服務去獲取時,可以將百度的興趣點趴取組織而後存放在本地顯得十分有用。若是,還能將百度興趣點的座標逆轉換成本地座標系下的座標,那麼剛纔描述的這個問題也便能迎刃而解。緩存
百度服務端提供了請求興趣點的接口。對於通常用戶,一個key一天能夠請求的上限是10W次。基於此服務,咱們即可以開展百度興趣點下載工具的研發。微信
無論咱們向百度的後臺請求的範圍是多大,其返回的總數(不是指每頁數量)最多不會超過400個。多線程
因此,若是想盡量多的下載到範圍內的興趣點,咱們須要作到如下兩步:工具
a.儘可能使用範圍來進行請求。測試
b.將範圍進行格網化,而且此格網大小要合適。選擇1KM做爲格網劃分單位比較合適。而後按照格網範圍進行請求。優化
在開發過程當中,涉及到首先遍歷全部格網,其次在每次遍歷中,根據第一次返回的total以及pagesize作遞歸或者堆棧循環。ui
根據自身所需的關鍵字組合而獲取的全部興趣點中,會出現uid重複問題。這個主要是某個興趣點同時屬於多個關鍵字。線程
因此在後臺進行數據整合時,須要進行過濾。blog
使用多線程下載能夠比較好的解決下載速度問題。可是如何劃分每一個線程所管轄的下載範圍,每一個線程負責下載的關鍵字,線程開啓多少合適,須要測試優化。
數據有可能存在到多種數據庫中。這裏若是能夠生成中間緩存文件。而後再導入進所需的數據庫,能規避許多沒必要要深究的問題。
而且多線程同時操做相同的文件,容易出現線程堵塞或者資源搶佔錯誤。這裏建議以不一樣線程對應不一樣臨時文件來解決。
在請求解析時,不免會出現返回結果不正確致使的解析錯誤等其餘問題。這裏須要對錯誤請求進行記錄。而且提供修復功能。
後續中能夠嵌入網頁地圖,方便選擇範圍。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^