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