尹鹿英,樊 紅,馮 浩,趙 銳
(1. 中國電信 陜西公司 信息技術支撐中心,陜西 西安710065;2.武漢大學 測繪遙感信息工程國家重點實驗室,湖北 武漢 430079)
浙江省舟山市位于我國東南沿海,全市包含島嶼1 390個,“港、景、漁”是舟山最大的海洋特色資源。綜合考慮舟山海島建設的信息化需求,舟山市民政局地名委員會辦公室決定建設“舟山市海島信息查詢系統”,對舟山海島的地理數據與專題數據進行一體化組織和管理。本文總結了舟山市海島信息查詢系統的設計與開發經驗,詳細地介紹了該系統的設計、實現方法、關鍵技術等。
系統使用的數據包括地理數據和專題數據。地理數據包括矢量數據、影像數據以及DEM數據,主要是為系統的三維影像顯示及地圖矢量查詢提供數據支持,如表1所示。專題數據包括興趣點數據,如海島匯總數據和興趣點數據,專題數據名稱為海島,屬性含名稱、類別、坐標、文字目錄、圖片目錄、音像目錄6項。

表1 地圖數據
系統將通過三維地圖瀏覽模塊、信息查詢模塊以及海島專題模塊等,實現下列功能:
1)三維地圖瀏覽模塊,包括三維地圖漫游、放大、縮小、長度量算、面積量算等基本功能。
2)信息查詢模塊,提供"鼠標點擊查詢"和"基于關鍵字查詢"兩種查詢手段。前者支持用戶點擊查詢興趣點信息,后者支持用戶通過輸入關鍵字查詢感興趣的內容。它還支持模糊查詢、周邊查詢等功能。
3)海島專題模塊,包括海島專題信息瀏覽和專題數據更新兩部分。前者支持用戶瀏覽海島的文字、圖片、視頻等信息,后者支持管理員添加、修改、刪除海島專題數據。
系統采用B/S(瀏覽器/服務器)架構。服務器端包括:①Web服務器,接收客戶端請求并轉發給應用程序服務器,隨后將應用程序服務器的處理結果發送給客戶端。②應用程序服務器與GeoGlobe服務器、專題服務器一起組成邏輯上的業務層。應用程序服務器通過調用GeoGlobe服務器與專題服務器中提供的服務來處理Web服務器轉發的用戶請求,并將處理結果發送給Web服務器;GeoGlobe[1]服務器提供地圖數據服務、查詢服務、空間分析服務;專題服務器提供專題數據服務、專題數據查詢服務。③數據庫服務器相當于邏輯上的數據層,負責存儲和管理系統中所需的數據。系統的客戶端是Internet瀏覽器,相當于邏輯上的表示層,提供了人機交互功能,如圖1。
本文使用Microsoft .NET平臺以及武漢大學自主研發的GeoGlobe完成整個系統的開發。具體使用的技術包括:.NET Web服務技術,實現數據相關的服務;ASP.NET與JavaScript技術,實現網站開發;GeoGlobe三維可視化插件,實現客戶端地圖三維瀏覽;GeoGlobe地圖數據與目錄服務發布工具,用于發布地圖數據服務及目錄服務;SQL Server 2008數據庫管理系統,管理海島專題數據。

圖1 系統架構
本文采用瓦片金字塔模型來組織影像、矢量、地名、DEM等數據。具體方法如下:全球經度范圍[-180,180],緯度范圍[-90,90],將第0層劃分為5行10列共50個36°×36°瓦片;在第1層中,將第0層中36°×36°的瓦片剖分為4個18°×18°瓦片,形成10行20列共200個瓦片;依此類推。其中,瓦片行列號的編碼方法為從左到右、從下至上,即左下角的瓦片編號為(0,0),右上角的瓦片編號為(5×2n-1,10×2n-1)。本文基于目錄的方法管理這些數據,如圖2。

圖2 影像瓦片的目錄格式
本文采用Web服務的方式向應用程序提供瓦片形式的數據服務。影像瓦片服務請求格式為:http://localhost /MapDataService/GetTile.ashx?T=datasetName&L=levelNum&X=colNum&Y =rowNum,其中,問號之前的部分為影像瓦片服務URL,后面是請求的參數對,T表示請求的數據集,L表示請求的是數據集的哪一層,X表示請求的瓦片列號,Y表示請求的瓦片行號。
專題服務包含專題數據服務、專題查詢服務等,其實現方法類似,都是先解析用戶請求參數,再查詢數據庫獲得相關數據,最后以xml形式向用戶返回結果。此處以專題查詢服務中的普通查詢為例,介紹專題服務的實現方法。
普通查詢服務定義了QueryType(查詢類型,普通查詢時值為normal)、Category(興趣點類型,如學校、海島等)、KeyWord(查詢關鍵字,可多個)。當查詢名稱中包含"寺"時,發送的數據請求為:"http://localhost/NormalThematicQuery.ashx?QueryType=normal& Category = 寺廟&name=寺"。問號之前的內容為普通查詢服務URL,返回結果中包含了符合條件的興趣點名稱、類型以及經緯度坐標,如圖3。查詢結果經過解析后,興趣點會標繪在GeoGlobe上,以便用戶定位。

圖3 普通查詢服務返回結果
三維地圖瀏覽功能是通過在網頁中嵌入GeoGlobe三維可視化AcitveX插件實現的。本文在GeoGlobe中定義了一些接口及事件,包括:屬性接口,控制三維地圖的顯示;地圖操作工具接口,實現地圖的操作;地圖標注接口,定義在地圖上添加、修改和刪除標注的操作;鼠標單擊事件,當單擊插件中某一位置時,會計算該點的地理坐標,并觸發鼠標單擊事件且事件參數為該點的地理坐標。利用JavaScript腳本語言調用該插件的接口和響應該插件的事件,可以實現三維漫游、空間量算、地圖標注等一系列功能。
本文采用xml文件來配置網站,將需要動態改變的信息寫入xml文件,程序運行時讀取并使用xml中的內容即可。當用戶需要更新上述信息時,只需改變對應xml文件中的內容,不必改動程序。本文將專題服務的地址寫入專題服務配置xml文件,程序運行時,讀取該xml文件獲得專題服務的地址,也可以在該xml文件中改變專題服務的地址(圖4)。

圖4 網站專題服務地址配置示例
目前,系統已通過驗收并交付使用,運行狀況良好。該系統全面直觀地反映了舟山諸島的現狀,為舟山市政府各部門提供了基礎地理信息服務,有利于有關部門掌握舟山海島的基本情況,進而為海島建設提供有力的決策工具。
[1]李德仁,龔健雅,朱慶,等.GeoStar ——中國人為“數字地球”設計的GIS 軟件[J].遙感信息,2000,58:37-41
[2]蔡磊,龔健雅.分布式海量多源空間數據的組織與網絡可視化[J]. 測繪信息與工程,2009(6):28-30
[3]張書亮,陶陶.地理信息共享與互操作框架研究[J].測繪科學,2004(6):58-61
[4]朱鐵穩,陳宏盛,景寧.開發地理數據互操作規范綜述[J].計算機科學,2001(7):12-15
[5]OpenGIS Web Map Service (WMS) Implementation Specification [EB/OL]. http://www.opengeospatial.org/standards/wms,2006-04-02
[6]OpenGIS Web Feature Service (WFS) Implementation Specification [EB/OL]. http://www.opengeospatial.org/standards/wfs/,2004-09-04
[7]Web Coverage Service (WCS) Implementation Standard [EB/OL].http://www.opengeospatial.org/standards/wcs,2007-06-07