秦麗娟
摘 要:為提高地質資料信息化服務水平,豐富網絡服務方式,通過圖形化方式在線檢索、展示和利用地質資料,采用基于OpenLayers的技術開發了湖北省地質資料在線檢索可視化服務系統。
關鍵詞:Web GIS;OpenLayers;地質資料在線服務
中圖分類號:P628 文獻標志碼:A 文章編號:2095-2945(2017)36-0157-02
前言
目前湖北省國土資源資料館目前館藏成果地質資料8045檔,共計19萬余件,按照國家大數據發展戰略和“互聯網+”行動計劃要求,地質信息服務要面向社會大眾,多元化創新服務方式,特別是在網絡服務模式上要以用戶需求為出發點進行創新和深化。由于地質資料數據是具有空間位置信息和空間屬性的數據,傳統的列表瀏覽和關鍵字查詢的檢索方式無法展示地質資料數據的空間特征與屬性。為更好的提供基礎地質信息服務,進行了地質資料可視化查詢系統的開發研究工作,系統主要面對地質行業工作人員和社會公眾,向用戶提供更加直觀的可視化展示與查詢服務。
1 系統總體架構
本系統采用基于B/S模式的三層架構,即界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。三層架構中業務邏輯層響應界面層的用戶請求,執行邏輯任務并從數據訪問層獲得數據,將處理后的數據按照一定的格式發送給界面層。三層架構的優點是:在犧牲一定性能的前提下,項目結構更清楚,分工更明確,提高了系統的安全性,既便于團隊協作開發,也為系統后期維護和擴展打下良好基礎。
界面層,采用OpenLayers框架實現多源地圖數據疊加顯示,采用AJAX技術與業務邏輯層之間進行數據交互,實現客戶端瀏覽器頁面的無刷新更新,優化用戶體驗。
業務邏輯層采用ASP.NET提供的ashx一般處理程序向界面層提供數據服務,采用MapGIS IGServer平臺架設地圖服務器,發布MAPGIS格式的地質專業地圖服務。
數據訪問層通過微軟提供的OLEDB接口訪問SQL Server數據庫存儲的地質資料目錄數據,向業務邏輯層提供數據。
2 關鍵技術
2.1 通過OpenLayers實現多源地圖數據疊加
OpenLayers是輕量級的實現交互式Web地圖的開源JavaScript類庫,用于在Web GIS客戶端上實現標準格式發布的地圖數據訪問與用戶交互。OpenLayers支持Open GIS協會制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等網絡服務規范,可以通過遠程服務的方式,將以OGC服務形式發布的各類地圖數據加載到基于瀏覽器的客戶端顯示。OpenLayers支持OGC標準地圖服務、多種數據格式、多種網絡地圖。既支持各種瓦片地圖,例如OSM、MapBox、Bing、Stamen、Google maps、百度地圖、天地圖等等,也支持各種矢量格式地圖,比如KML、GML、GeoJSON、TopoJSON等等。
本系統通過OpenLayers框架實現了多源地圖數據的疊加顯示:加載國家測繪地理信息局發布的天地圖網絡地圖服務作為底圖圖層,加載通過MapGIS IGServer發布的MAPGIS格式的地質專業地圖服務作為疊加分析圖層,加載SQL Server數據庫存儲的地質資料空間位置信息數據生成位于最上層的標注點圖層。OpenLayers向多來源、多格式、多比例尺的地圖數據分別進行請求和傳輸,最后在客戶端瀏覽器頁面上完成全部圖層的渲染和疊加。
2.2 SQL Server數據庫對空間數據的支持以及空間運算的具體實現方法
湖北省國土資源資料館地質資料數據目前采用SQL Server數據庫存儲,每檔地質資料的拐點坐標使用符合WKT(well-known text)格式的文本字段類型來存儲。SQL Server作為主流的關系型數據庫系統,為滿足空間數據應用的需求,從2008版本開始,新增兩個用于支持空間數據存儲與運算的字段類型:幾何平面向量空間類型(geometry)和大地向量空間類型(geography),同時提供了相關的空間運算的方法。
SQL Server(2008及以上版本)提供了方法geography:STGeomFromText實現由WKT文本格式向geography格式數據類型的轉換。SQL Server(2012及以上版本)提供了STContains方法判斷geography對象之間是否存在包含關系。基于上述方法本系統實現了地質資料信息的空間檢索功能,用戶在瀏覽器的地圖上自由繪制任意空間范圍,系統將該范圍的坐標拐點WKT格式字符串傳遞到數據庫,從數據庫中篩選并顯示包含在該范圍內的地質資料信息。
2.3 AJAX技術
Web GIS應用屬于大流量應用,因此要求不能頻繁的刷新重載整個瀏覽器頁面,因此本系統采用AJAX技術來實現服務器端與客戶端的數據交互。AJAX技術在服務器端與客戶端之間增加一個AJAX引擎,客戶端的請求先發送到AJAX引擎,然后由AJAX引擎向服務器端發起請求,服務器端只返回必要的數據,而不是整個頁面,AJAX引擎根據返回的數據局部更新客戶端頁面,實現了瀏覽器的無刷新更新。
2.4 使用JSON格式進行數據交換
JSON作為一種輕量級的文本方式數據交換格式,具有通用性好,格式簡單,便于傳輸等諸多優點,而且OpenLayers和AJAX和都對JSON格式數據有良好的支持,因此本系統的服務器端與客戶端之間使用JSON格式進行數據交換。
2.5 通過MapGIS IGServer發布地圖服務
因為已經擁有比較豐富的MAPGIS格式地圖成果數據資源,所以本系統采用MapGIS IGServer平臺作為地圖服務器發布MAPGIS格式地圖數據服務,可以充分利用已有的地圖與數據庫資源,縮短開發周期,減少圖件處理的工作量。MapGIS IGServer支持MAPGIS6.7和MAPGIS10格式的圖件直接發布為地圖服務。MapGIS IGServer可以將MAPGIS格式文件發布為MAPGIS格式的矢量地圖服務和瓦片地圖服務,還可以發布為符合OGC標準的WMS和WFS等規范的地圖服務。
3 系統實現
系統客戶端界面如圖1所示,瀏覽器窗口分為地圖顯示模塊和地圖查詢模塊,右邊的地圖顯示模塊提供了地圖的顯示、縮放、平移、復位、切換底圖和疊加地圖等基礎功能。左邊的地圖查詢模塊既提供了傳統的基于各類檢索條件的字符串組合檢索的方式,也提供了基于空間位置信息的查詢方式。用戶可以在當前地圖顯示窗口范圍內查詢,也可以在地圖上自由繪制一個封閉區域范圍查詢。查詢的結果既以傳統列表的形式展示于地圖查詢模塊,同時也以標注點的形式直接標記在地圖上,點擊標注點展開資料詳細信息。
4 結束語
本文通過對基于OpenLayers的地質資料在線檢索可視化查詢系統的研究,實現了地質資料的檢索展示從文本查詢向圖形化查詢展示的進步,提供了準確,高效,形式豐富直觀的地質資料在線查詢功能,一定程度上提升了地質信息化服務水平,向行業用戶和社會公眾提供了更好的基礎地質信息服務。
參考文獻:
[1]楊鵬,鄒時林.基于OpenLayers的Web GIS客戶端的研發[J].測繪與空間地理信息,2012,35(3):131-133.
[2]李新慶,等.OpenLayers在寧夏區域自動氣象站顯示系統中的應用與研究[J].寧夏工程技術,2015(06):14-2.
[3]吳信才.MapGIS IGServer原理與方法[M].電子工業出版社,2012.
[4]黃露.基于MapGIS IGServer的地質災害氣象預警預報系統的研究與應用[A].第十屆全國數學地質與地學信息學術研討會論文集[C].
2011.endprint