吳彬卓,付榮祥,黃 樺,俞志強
(1.中國測繪科學研究院浙江分院,浙江杭州310012;2.長興縣地理信息中心,浙江長興313100)
瓦片地圖服務轉換中間件的設計與實現
吳彬卓1,付榮祥2,黃樺1,俞志強1
(1.中國測繪科學研究院浙江分院,浙江杭州310012;2.長興縣地理信息中心,浙江長興313100)
以瓦片地圖為核心的WMTS服務是當前最流行的地理信息服務形式,我國的天地圖建設統一采用了這一服務形式。但天地圖提供的WMTS服務地圖形式固定、發布分級分區的特點也限制了其廣泛應用。本文提出了一種基于瓦片地圖服務的地理信息服務轉換技術,將WMTS服務轉換成其他形式的地圖服務,適用于任意比例尺、任意維度的地圖服務。
天地圖;瓦片地圖;WMTS;服務變換;KML服務
瓦片地圖一經出現就受到了GIS行業的重點研究和應用,OGC在2010年頒布了以瓦片地圖為核心的WMTS規范,同年中國推出了以WMTS為主要地圖服務形式的天地圖·中國。天地圖WMTS服務后臺數據主要以金字塔結構緩存瓦片地圖,總共分為20級,1~14級由天地圖·中國發布,15~17級由省區天地圖發布,18~20級由市縣天地圖發布。WMTS服務具有標準、展示快速的特點,在各行業地理信息相關系統應用中廣受歡迎,其不足是天地圖WMTS服務標準單一、坐標系固定、數據分級分區。標準單一使得只有能夠調用WMTS服務的應用系統才能接入天地圖;坐標系固定使得其無法在使用其他坐標系的應用系統中調用;數據分級分區導致跨級別、跨區域調用方式復雜,疊合效果差。因此,本文設計并實現一種基于天地圖WMTS服務的地理信息服務轉換中間件。該中間件在天地圖提供的靜態、分級分區WMTS服務的基礎上,通過投影轉換、服務聚合、接口變換等技術手段,封裝出其他類型的地理信息服務,滿足比例尺不固定、跨區域跨比例尺、三維等應用場景,從而擴展天地圖的應用領域,也為基于天地圖WMTS服務的應用系統提供更為方便的調用方式。
1.架構設計
筆者設計的基于WMTS的地理信息服務轉換中間件架構如圖1所示。

圖1 中間件架構
基于WMTS的地理信息服務轉換中間件包括天地圖瓦片獲取層、瓦片地圖存儲層和服務層3塊結構。天地圖瓦片獲取層的主要功能是負責根據需要讀取來自國家、省、市、縣各級天地圖的WMTS服務,并拼接形成跨越1~20級比例尺的、跨區域的瓦片地圖。瓦片地圖存儲層以文件形式存儲瓦片地圖數據。服務層根據客戶端請求讀取瓦片地圖存儲層的數據,以相應的地圖服務標準響應請求。本方案與原來的天地圖WMTS服務相比,增加了天地圖瓦片獲取層作為瓦片地圖抓取器,服務層則除了提供天地圖原始的WMTS服務以外,還提供了WMS、WMS-C、TMS、KML等服務。
2.工作流程
工作流程包括天地圖瓦片獲取和服務響應。
天地圖瓦片獲取工作流程由天地圖瓦片獲取層負責,包括以下步驟:①服務層在響應客戶端請求時讀取存儲層的瓦片,首先要判斷瓦片地圖存儲層中是否已有目標瓦片,若沒有,則將級別、行列號等參數發送給天地圖瓦片獲取層;②天地圖瓦片獲取層根據瓦片的級別及坐標判斷屬于哪個天地圖節點提供的服務并遠程讀取地圖瓦片;③如果是跨區域的瓦片,則分別讀取多個天地圖節點的瓦片,并根據行政區邊界進行拼接,最后按照《地理信息公共服務平臺電子地圖數據規范》(CH/Z 9011—2011)的要求保存到瓦片地圖存儲層。如圖2所示。

圖2 天地圖瓦片獲取流程
服務請求響應工作流程由服務層負責。根據客戶端請求類型的不同,有不同的工作流程。
如果客戶端請求的是WMS、WMS-C服務,則啟動如下工作流程:①獲取服務請求的地圖范圍(bbox)、圖片大小(WMS的請求參數是with、height,WMS-C無此參數)、比例尺(WMS-C的請求參數是resolution,WMS無此參數)和坐標系;②根據請求的地圖范圍和圖片大小計算出比例尺最接近的瓦片地圖級別,然后根據地圖范圍計算出地圖瓦片起止行列號,確定目標瓦片矩陣;③根據目標瓦片矩陣,讀取存儲層中緩存的地圖瓦片(如不存在則啟動天地圖瓦片獲取流程),將獲取到的瓦片進行拼接,形成完整的瓦片;④根據請求坐標系對拼接好的瓦片進行坐標系及投影轉換;⑤根據地圖范圍對坐標系轉換后的瓦片進行裁切;⑥將裁切后的瓦片縮放至請求的圖片大小;⑦將圖片返回給客戶端。如圖3所示。

圖3 WMS、WMS-C服務轉換工作流程
對于TMS、WMTS服務,則根據1~20級瓦片地圖的比例尺生成相應的能力文檔。客戶端根據能力文檔發出符合規范的瓦片請求,工作流程包括以下步驟:①獲取服務請求的級別、行列號;如果請求的是TMS服務,則需反算到WMTS服務規范中相應的行列號(TMS服務行列號從左下角起算);②根據目標瓦片矩陣,讀取存儲層中緩存的地圖瓦片(如不存在則啟動天地圖瓦片獲取流程);③將圖片返回給客戶端。如圖4所示。

圖4 TMS、WMTS服務轉換工作流程
KML服務的工作流程包括:①返回第一級比例尺KML數據;②客戶端解析KML數據,根據地圖顯示范圍和顯示屏幕大小,請求合適區域的較大一級比例尺KML數據,持續解析、請求,直至找到最合適的顯示范圍(〈LatLonAltBox/〉)和顯示屏幕大小〈Lod/〉的KML數據;③根據KML數據中的〈Link/〉節點獲取WMTS瓦片地址,請求WMTS瓦片服務;④轉到請求WMTS服務工作流程。
實現上述設計的關鍵技術包括跨區域地圖瓦片聚合、地圖瓦片快速投影及KML服務發布。
1.跨區域地圖瓦片聚合
為消除天地圖瓦片跨區域調用產生的邊界地區地圖遮蓋、冗余調用、效率低下的問題,必須將跨區域瓦片進行聚合,變成一個瓦片服務。中間件存儲了各天地圖節點的行政邊界數據,當獲取到的瓦片是跨區域瓦片時,使用各自節點的行政邊界數據對瓦片進行裁切并拼接到一起,生成一張無縫貼合的新的地圖瓦片,然后保存到磁盤上,為快速提供跨區域地圖服務提供數據。
2.地圖瓦片快速動態投影
對于使用不同于天地圖坐標系的應用系統,應提供WMS服務供其使用。地圖瓦片快速動態投影是解決坐標系轉換的重要手段。首先根據WMS請求的地理范圍和圖片尺寸,計算出最接近的瓦片比例尺和地理范圍內的瓦片矩陣;然后按照天地圖坐標系統將瓦片矩陣進行拼接,計算矩陣4個角點在WMS圖片中的像素位置,將圖片進行矩形或梯形拉伸,畫在目標圖片中;最后形成投影后的WMS地圖圖片。使用地圖瓦片快速動態投影技術比根據矢量進行實時繪制具備相當強的速度優勢。
3.KML服務發布
KML服務是將WMTS服務封裝成KML Networklink數據的形式。一般包含一個代表當前瓦片〈GroundOverlay/〉節點,以及代表下一級相應的4張KML瓦片數據的4個〈Networklink/〉節點,客戶端根據〈Networklink/〉節點請求下一級的KML瓦片數據時,同樣得到下一級瓦片的〈GroundOverlay/〉節點和下下一級4張KML瓦片數據。以此不斷循環,形成整個KML服務。
為了測試中間件的轉換效率,本文搭建了測試環境對地圖瓦片服務和轉換后的接口進行了對比測試。測試目的主要是對轉換后的服務對效率的影響作評價。
1.測試方案
在測試環境方面,測試客戶端采用Jmeter來模擬地圖瓦片訪問操作;測試服務器端選用i7八核2.50 GHz CPU、16 GB內存、SSD固態硬盤;網絡采用100 Mbps網絡連接。在測試數據方面,使用天地圖·湖州、天地圖·德清、天地圖·長興18~20級電子地圖和長興縣1∶2000、1∶500矢量地圖。電子地圖占用空間為40 GB,矢量數據占用空間約為200 MB。天地圖·湖州、天地圖·長興、天地圖·德清18~20級電子地圖發布為 WMS、WMS-C、WMTS、TMS和KML服務并預先進行天地圖數據緩存,形成跨區域、跨級別的統一的瓦片數據;長興縣1∶2000、1∶500矢量地圖使用ArcGIS Server軟件發布為矢量WMS服務,見表1。

表1 測試數據列表
測試方法采用對比測試。針對各種已經準備好的數據服務,分別以10個并發作15 min連續訪問,測試結果從服務響應隨時間變化方面進行評價。
2.結果及分析
如圖5、圖6所示,轉換后的WMTS、TMS訪問效率基本穩定在40 ms左右,KML則稍高一些。KML由于要先請求KML,再請求地圖瓦片,因此比WMTS、TMS的訪問耗時稍長一些。轉換后的WMS 和WMS-C服務訪問時間基本穩定在90 ms,而使用矢量數據發布的WMS服務訪問時間則從25 ms~8 s不等。

圖5 天地圖與轉換后服務的耗時對比

圖6 基于矢量數據的WMS服務請求耗時
轉換后的WMS服務主要耗時包括瓦片數據讀取和圖片變形及繪制,每次訪問所需要讀取的瓦片和圖片變形繪制次數是固定的,而且直接拼接圖片速度較快。使用矢量數據發布的WMS服務會受到矢量數據索引速度、繪制數據量、符號繪制復雜程度的影響,產生訪問效率不穩定的情況。
通過以上測試可以得出,基于WMTS的地理信息服務轉換中間件可提供良好的訪問效率。
在天地圖應用推廣過程中,各式各樣的地理信息應用環境對天地圖提出了更高的要求,單純以性能為目標的WMTS服務無法滿足多種多樣的運行環境。基于WMTS的地理信息服務轉換中間件將天地圖服務轉換為跨區域WMTS、TMS、WMS、WMS-C、KML服務,在保證地圖服務效率的前提下拓寬了天地圖的應用領域。但中間件的轉換效果也存在一些問題。如跨區域瓦片融合,在行政區域交接的范圍,往往由于數據的誤差、境界線的不完全重合、境界符號不完全疊蓋、注記超出境界范圍等因素,造成融合后的瓦片注記缺失、境界交錯等情況,影響地圖瓦片的美觀。地圖瓦片動態投影采用的是矩形變換或舉行變換,沒有嚴格按照點對點進行投影轉換,投影轉
換后的要素位置存在一定偏差,注記和符號也有模糊的情況出現。在今后的研究中,還需要進一步對這種情況進行分析,從WMTS服務本身和轉換技術兩方面進行改進,以期達到更好的效果。
[1] 王曉東,劉慧平,喬瑜.利用Bing Maps地圖切片實現網絡地圖服務[J].國土資源遙感,2010(2):122-127.
[2] 劉冰,謝軻,陳小樂.基于GIS的瓦片式地圖切圖算法的設計與實現[J].科技信息,2011(7):60-61.
[3] 許虎,聶云峰,舒堅.基于中間件的瓦片地圖服務設計與實現[J].地球信息科學學報,2010,12(4):562-567.
[4] 聶云峰,劉海玲,許虎.GeoWebCache瓦片地圖服務中間件研究[J].測繪科學,2011,36(6):207-209.
[5] 謝忠,豐榮祥,羅顯剛.一種分布式空間數據的服務聚合模型[J].測繪科學,2011,28(3):223-226.
[6] 周耀學,衛東,邱文.省級地理信息公共服務平臺服務體系建設[J].測繪通報,2011(8):23-25.
[7] 杜清運,虞昌彬,任福.利用嵌套金字塔模型進行瓦片地圖數據組織[J].武漢大學學報(信息科學版),2011,36(5):564-567.
[8] 黃夢龍.瓦片地圖技術在桌面端GIS中的應用[J].地理空間信息,2011(4):149-151.
[9] 周沛.智能交通系統中的瓦片地圖技術研究與應用[D].上海:同濟大學,2008.
[10] 國家測繪地理信息局.地理信息公共服務平臺電子地圖數據規范:CH/Z 9011—2011[S].北京:測繪出版社,2011.
Design and Implementation of Tile Map Service Transformation Middleware
WU Binzhuo,FU Rongxiang,HUANG Hua,YU Zhiqiang
10.13474/j.cnki.11-2246. 2016.0234.
P208
B
0494-0911(2016)07-0103-03
2016-05-04
測繪地理信息公益性行業科研專項(201512024;201512012)
吳彬卓(1979—),男,碩士,高級工程師,主要研究方向為測繪與地理信息。E-mail:wubbzz@qq.com
引文格式:吳彬卓,付榮祥,黃樺,等.瓦片地圖服務轉換中間件的設計與實現[J].測繪通報,2016(7):103-105.