周 毅 范 鴻 魏 曉
(成都理工大學 沉積地質(zhì)研究院,四川 成都 610059)
MOBAC 全稱Mobile Atlas Creator 是免費開源地圖下載軟件,用戶可根據(jù)協(xié)議修改程序和自定義編寫圖源。在線地圖為了保證效率和性能會將地圖按照縮放等級進行分割。這些圖片塊稱為“瓦片”。每增加一級,圖片個數(shù)增加4 倍。從地圖的左上角開始,每個等級的每張圖片按X 軸和Y 軸取0,1,2,3…這樣的整數(shù)進行編號。加上縮放等級z,則x,y,z 三個數(shù)字組成的編號可以唯一確定某個縮放級別下唯一的一個區(qū)域[1-2]。MOBAC通過自定義編寫圖源文件可以抓取這些地圖瓦片。
由于MOBAC 官方版(http://mobac.sourceforge.net/)不能下載經(jīng)緯度投影的天地圖和以經(jīng)緯度投影的天地圖為底圖的其他在線地圖。因此本論文介紹MOBAC 在github 上的另一個開源項目MOBAC1.9.16-Ext 版本(https://github.com/rilyu/mobac-ext)。其 增 加 了msGeo-Latlong參數(shù),能夠使MOBAC下載經(jīng)緯度投影的地圖如天地圖總站上的地圖和以經(jīng)緯度方式投影的各分省天地圖。
經(jīng)過瀏覽器解析及對天地圖的瓦片地址仔細對比,天地圖按投影方式和圖層可細分為8 種類型[3-4](見表1)。
表1 天地圖8種類型樣式的區(qū)分
可以以其中之一的天地圖底圖為例來具體分析其解析過程和解析地址。
筆者采用的工具是火狐瀏覽器加上Firebug插件,在國家天地圖網(wǎng)站中,將投影方式調(diào)為經(jīng)緯度投影。啟動Firebug工具(F12),用鼠標在地圖上劃動,則Firebug的圖片欄會顯示被刷新出來的地圖切片。仔細分析會發(fā)現(xiàn)有兩種類型的地圖切片,一種是解析地址中包含T=vec_c的天地圖底圖片,為底圖不透明層;另一種是地址中包含T=cva_c的文字標注層,為透明圖層。并且在解析地址中還可見到x、y和圖片層級l等信息(見圖1)。
圖1 瀏覽器解析天地圖瓦片
其中的一個天地圖底圖層瓦片地址為:http://t0.tianditu.com/DataServer?T=vec_c&x=1686&y=283&l=11,透明文字標注圖層瓦片地址為:http://t6.tianditu.com/DataServer?T=cva_c&x=12935&y=2700&l=14,(見圖2)。
圖2 天地圖底圖層(左)和透明文字層(右)
以上面任意抓取的一個經(jīng)緯度投影的天地圖圖片為例,我們可以編寫一個完整的MOBAC 圖源文件,其代碼如下:
使用經(jīng)緯度投影的天地圖-->
在代碼中,我們定義了圖源名稱為天地圖底圖-C,最小和最大的縮放級別分別是0 級和20 級,地圖切片的類型是png格式,指定該切片是經(jīng)緯度投影方式。在上述代碼中,url 地址是將解析的地址中的數(shù)字都用變量代替,其中參數(shù)serverpart 代表線程,經(jīng)過試驗,總共用6個線程,以提高下載速度;x、y、l分別用{$x}、{$y}、{$z}代替。將上述代碼另存為xml 格式,編碼為可識別中文的UTF-8(無簽名)。命名之后將此xml 圖源文件放在MOBAC 的mapsource 文件夾中,這樣就添加了一個自定義圖源(見圖3)。
圖3 天地圖底圖層在MOBAC中的顯示
此圖源是一個混合圖源,最頂上的圖源是天地圖的文字標注層,是一個透明圖層,在圖源代碼中寫在最下面;最底下的圖層是天地圖底圖,圖源代碼中寫在最上面。需要注意的是,在這個混合圖源中,這三個分圖源的具體代碼并沒有寫出,是因為MOBAC可以將已經(jīng)寫好并放在圖源文件夾mapsource 中的這三個圖源自動讀取并按照新圖源的命令進行整合(見圖4)。
其混合圖源代碼如下:
<customMultiLayerMapSource>
圖4 天地圖底圖配合文字標注層
因此基于上述的方法,我們可以自定義豐富的圖源,如谷歌衛(wèi)星圖和天地道路圖的混合,騰訊衛(wèi)星圖和高德文字標注層的混合等以滿足不同的用圖需求。
[1]付云虹,方俊.基于ArcGISEngine和Google靜態(tài)地圖服務的背景地圖實現(xiàn)[J].計算技術與自動化,2012,31(3):142-144.
[2]董元,李娜,張廣平.應用G_tilelayer的谷歌混合地圖顯示[J].地理空間信息,2011,9(4):72-74.
[3]仲偉政,魏金明,邵飛.基于天地圖的地圖服務方法初探[J].測繪通報,2014(S2):265-268.
[4]郭偉鵬,沈松雨.Silverlight支持下的WebGIS的研究與實現(xiàn)[J].地理空間信息,2011,9(4):34-36.