天天看點

百度谷歌離線地圖解決方案(離線地圖下載下傳)

離線地圖解決方案,除了買地圖資料,使用專業的arcgis來做外,也可以使用gmap.net來做。

使用了gmap一年了,也有了一些積累,開發了一個可以下載下傳arcgis、百度、谷歌、高德、騰訊soso、天地圖、here等地圖的地圖下載下傳器。

百度和google地圖加載顯示如下:

百度普通地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

百度混合地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

谷歌普通地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

谷歌混合地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

從目前的情況來看,百度的普通的地圖資料是更新最快的,但是有些小地方沒有衛星地圖,而谷歌幾乎所有的地方都有衛星地圖,但是谷歌中國的地圖更新太慢,比如說南京已經有3号線和10号線了,谷歌地圖上就沒有。

隻要地圖能加載顯示,就可以下載下傳到本地,開發的地圖下載下傳器支援sqlite、mysql、mssql、postgresql等資料庫儲存,也可以以固定目錄組織儲存到本地磁盤上,支援arcgis的wms切片服務的圖源使用。

下載下傳到本地磁盤的地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

支援的地圖下載下傳方式:

(1)選擇一個矩形區域下載下傳。

(2)選擇某個省、市進行下載下傳。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

下載下傳到mysql的地圖資料:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

自己擴充的.net地圖控件主要功能:

1)下載下傳百度、谷歌、高德、騰訊、here、天地圖的地圖,按區域下載下傳或是省市邊界下載下傳。

2)各類畫圖工具:矩形、圓形、多邊形、線段、折線段。可以作為電子圍欄、地圖圈選工具、地圖畫圖工具使用。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

3)各種圖示:圖檔、圖檔+文字說明、gif動态圖檔、帶旋轉角度的箭頭、閃動的報警圖示

百度谷歌離線地圖解決方案(離線地圖下載下傳)
百度谷歌離線地圖解決方案(離線地圖下載下傳)

4)類似百度地圖的“測距”功能:兩點之間的距離,或者根據某個距離在地圖上展示線段或者多邊形。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

5)釋出離線地圖服務:這裡的離線地圖隻是地圖顯示服務,将下載下傳的離線地圖資料作為http服務釋出在區域網路内使用。

這樣的離線地圖用戶端仍然可以使用gmap.net,而web端可以使用openlayers或者是leaflet等js庫做。

如下是用leaflet js做的簡單的demo,用的是google的地圖:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

6)gpx資料的讀取與展示。

7)kml資料的儲存與讀取展示。

8)poi資料查詢展示:

通過省市名稱和關鍵字查詢poi資料,圖示如下:

百度谷歌離線地圖解決方案(離線地圖下載下傳)

9)位址定位:輸入位址關鍵字定位到某些點。

輸入一個确定的位址定位到地圖上的點。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

10)位址逆解析:點選地圖上某點,查詢該點的位置。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

11)路徑導航:通過“起點”和“終點”,查詢路徑顯示路徑規劃。

百度谷歌離線地圖解決方案(離線地圖下載下傳)

配置使用:mapdownloader.exe.config配置檔案

百度谷歌離線地圖解決方案(離線地圖下載下傳)
百度谷歌離線地圖解決方案(離線地圖下載下傳)

一些功能說明:

推薦下載下傳範圍:

         世界:1--5級。中國:5--9級。省:9--12級。市:12--18級。級數超過16後資料會比較大。

1)下載下傳方式:

        (1)在“畫圖工具”中選擇“矩形”畫圖(按着左鍵拖動滑鼠,放開左鍵完成畫圖),右邊輸入要下載下傳的zoom,點選下載下傳即可。

        (2)在“區域下載下傳”下點選某個省、市,右邊輸入要下載下傳的zoom,點選下載下傳即可。

2)下載下傳速度:

        下載下傳采用了單線程,一張一張圖檔進行下載下傳的,沒有采用多線程,有待改進。選擇某個市的前15級下載下傳還是比較快的,16級以後由于圖檔數量巨大,下載下傳需要等待較長時間。

3)下載下傳儲存方式:

        預設是在mapcache下sqlite資料庫裡(\mapcache\tiledbv5\en\data.gmdb),下載下傳後可使用相應工具打開資料庫檢視。

        如果要儲存到mysql裡,需要修改對應mapdownloader.exe.config配置檔案裡的配置項,資料庫”mapcache“要先手動建好,表會自動建立。

        如果選擇“本地磁盤”,則以切片形式儲存到配置檔案“tilepath”對應的路徑目錄裡。

4)測試下載下傳的地圖是否可用:

        在“地圖通路”中選擇“本地緩存”,則地圖自動切換到離線模式,使用本地下載下傳的緩存來通路地圖。

5)“拼接圖”測試:

        在“畫圖工具”中選擇“矩形”畫圖,畫要拼接的範圍,填入要拼接的zoom,點選“拼接圖”,會自動在程式運作目錄下生成一張拼接大圖。這個拼接圖沒有內建地理資訊,個人覺得拼接圖沒有太大意義,在實際應用中,要先下載下傳各個zoom下的切片,根據坐标資訊拼接成一個大圖,再在類似arcgis或geoserver中切片釋出成服務,這樣做太麻煩,不如直接按arcgis或geoserver的切片組織規則下載下傳命名切片,再加上對應的配置就可以直接釋出服務使用。

6)離線切片導出,作為arcgis或geoserver中服務使用的切片:

        把下載下傳到資料庫中的切片按arcgis或geoserver的切片組織規則導出到本地作為服務的資料使用。

7)離線web服務:

        勾選“離線web服務”,可以将下載下傳的地圖切片釋出為地圖底圖服務(先下載下傳谷歌地圖,用作地圖服務的切片),可用于區域網路下的web項目,僅僅用于測試。

8)poi查詢導出:

        聯網使用服務查詢poi資料,導出到excel或者資料庫中。高德和騰訊的poi可以和地圖無偏差顯示,百度的不行。

9)位址解析與位址逆解析:

        聯網使用一些服務獲得位址資訊。

10)路徑導航:

        聯網使用一些服務查詢路徑并顯示。

本軟體僅供個人學習與科研使用,所下載下傳的資料版權歸各個地圖服務商所有,任何組織或個人因資料使用不當造成的問題,軟體作者不負責任。

聯系方式:站内信,qq:599965176

參考:

http://www.cnblogs.com/luxiaoxun/p/3802559.html

http://www.cnblogs.com/luxiaoxun/category/513908.html

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

http://www.cnblogs.com/luxiaoxun/p/4454880.html