百度谷歌离线地图解决方案(离线地图下载)
離線地圖解決方案,除了買地圖數據,使用專業的ArcGIS來做外,也可以使用GMap.Net來做。
關于GMap的開發教程,可以看我以前的文章:基于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庫做。
更多關于離線web GIS方面的資料,請參考《Web GIS離線解決方案》。
如下是用leaflet js做的簡單的demo,用的是google的地圖:
6)GPX數據的讀取與展示。
7)KML數據的保存與讀取展示。
8)POI數據查詢展示:
通過省市名稱和關鍵字查詢POI數據,圖示如下:
9)地址定位:輸入地址關鍵字定位到某些點。
輸入一個確定的地址定位到地圖上的點。
10)地址逆解析:點擊地圖上某點,查詢該點的位置。
11)路徑導航:通過“起點”和“終點”,查詢路徑顯示路徑規劃。
配置使用:MapDownloader.exe.config配置文件
<appSettings><!--Mysql Server的IP和Port--><add key="MySQLServerIP" value="127.0.0.1"></add><add key="MySQLServerPort" value="3306"></add><!--Mysql Server的數據庫名、用戶名、密碼--><add key="Database" value="mapcache"></add><add key="UserID" value="root"></add><add key="Password" value="admin"></add><!--地圖中心點坐標:--><!--南京:118.773,32.043--><add key="MapCenter" value="118.773,32.043"></add><!--本地存儲切片的路徑--><add key="TilePath" value="D:\\GisMap"></add><!--下載失敗時重試的最大次數,網絡狀態不好時候可修改為一個大的整數值,比如10--><add key="Retry" value="3"></add></appSettings>一些功能說明:
推薦下載范圍:
?? ? ? ? 世界: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)路徑導航:
? ? ? ? 聯網使用一些服務查詢路徑并顯示。
?
下載地址:http://pan.baidu.com/s/1hqvQr7e
本軟件僅供個人學習與科研使用,所下載的數據版權歸各個地圖服務商所有,任何組織或個人因數據使用不當造成的問題,軟件作者不負責任。
聯系方式:站內信,QQ:599965176
?
參考:
http://www.cnblogs.com/luxiaoxun/p/3802559.html
http://www.cnblogs.com/luxiaoxun/category/513908.html
后續小編的主要精力放到GIS理論開發知識的大眾化的道路了,通過淺顯易懂的語言,結合多年行業應用開發,通過微信訂閱號傳播(每周更新三篇文章及相關GIS編碼知識),為GIS的發展盡微博之力。終極目標是讓GIS不再專業,讓GIS更加大眾,使得GIS深入各行業應用,讓每位GISER都有一股自豪感!以下是我的微信訂閱號二維碼,感興趣的可以交流溝通!
?
作者:阿凡盧
出處:http://www.cnblogs.com/luxiaoxun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
?
?
?
總結
以上是生活随笔為你收集整理的百度谷歌离线地图解决方案(离线地图下载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模之时间序列分析
- 下一篇: 机器人学导论三