王濤濤
(1.廣東省國土資源測(cè)繪院,廣東 廣州 510500)
測(cè)量標(biāo)志是國民經(jīng)濟(jì)建設(shè)、科學(xué)研究、國防建設(shè)的重要基礎(chǔ)設(shè)施,是空間位置定位的基準(zhǔn),在國民經(jīng)濟(jì)建設(shè)和社會(huì)發(fā)展中發(fā)揮著重要的基礎(chǔ)保障作用。改革開放以來,隨著城市化進(jìn)程的加快和大量基礎(chǔ)設(shè)施的建設(shè),難免會(huì)對(duì)測(cè)量標(biāo)志造成損毀或破壞。建設(shè)測(cè)量標(biāo)志管理信息系統(tǒng)不僅可統(tǒng)一監(jiān)管體系,而且可解決測(cè)量標(biāo)志管理點(diǎn)位查詢難等問題,有效實(shí)現(xiàn)測(cè)量標(biāo)志管理信息化??傊?,建立完整的測(cè)量標(biāo)志管理技術(shù)服務(wù)體系是測(cè)量標(biāo)志信息化監(jiān)管常態(tài)化、網(wǎng)絡(luò)化的基礎(chǔ),也是測(cè)量標(biāo)志監(jiān)管持續(xù)化,不斷更新的重要保障。
目前主流的大地測(cè)量成果管理系統(tǒng)一般采用B/ S架構(gòu),一方面能夠分布式存儲(chǔ)大量數(shù)據(jù),另一方面也方便了用戶從不同終端對(duì)數(shù)據(jù)進(jìn)行訪問[1]。例如,Malik T[2]等采用SkyQuery技術(shù)在聯(lián)合的多個(gè)數(shù)據(jù)源上執(zhí)行分布式查詢并以Web Service發(fā)布,為有效查詢分散數(shù)據(jù)提供了一個(gè)解決方案;Tasoulas E[3]等提出了基于GIS的城市植被管理規(guī)劃系統(tǒng),該系統(tǒng)以ASP.NET MVC4為基礎(chǔ)架構(gòu),采用Geoserver發(fā)布電子地圖服務(wù),Entity Framework 5.0 進(jìn)行數(shù)據(jù)持久化,OpenLayers和GDAL展示和分析數(shù)據(jù),取得了較好的效果?;谏鲜鲅芯?,本文采用由傳統(tǒng)3層架構(gòu)延伸而來的更具擴(kuò)展性和低耦合性的4層架構(gòu)框架,在調(diào)用天地圖服務(wù)作為底圖的同時(shí),自行開發(fā)數(shù)據(jù)存儲(chǔ)管理、業(yè)務(wù)服務(wù)、用戶管理、安全審核等功能模塊,通過RESTful API發(fā)布和調(diào)用服務(wù),實(shí)現(xiàn)跨操作系統(tǒng)、跨平臺(tái)的分布式WebGIS系統(tǒng)。
測(cè)量標(biāo)志管理信息系統(tǒng)存儲(chǔ)的點(diǎn)之記信息是重要的基礎(chǔ)測(cè)繪成果,對(duì)系統(tǒng)的安全性、容錯(cuò)性和穩(wěn)定性具有較高要求,必須保證7×24 h全天候正常運(yùn)行。同時(shí),測(cè)量標(biāo)志管理信息系統(tǒng)需要有較高的響應(yīng)效率,保證高并發(fā)訪問時(shí)的數(shù)據(jù)庫反應(yīng)速度,從而獲取較高的用戶滿意度。此外,隨著新需求的出現(xiàn),數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫類型都可能發(fā)生變化,系統(tǒng)也可能會(huì)增加新的功能模塊,因此在設(shè)計(jì)開發(fā)時(shí)必須考慮程序的可擴(kuò)展性和靈活性。目前計(jì)算機(jī)網(wǎng)絡(luò)和GIS技術(shù)發(fā)展迅速,若測(cè)量標(biāo)志管理信息系統(tǒng)的設(shè)計(jì)不具有技術(shù)上的先進(jìn)性,其開發(fā)的成果必將很容易被淘汰?;谏鲜隹紤],系統(tǒng)采用ASP.NET MVC5+MySQL+Entity FrameWork6+Autofac的開發(fā)架構(gòu),能夠有效保證項(xiàng)目技術(shù)的先進(jìn)性和適用性。
系統(tǒng)采用數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、Web服務(wù)接口層和表現(xiàn)層4層架構(gòu),以ASP.NET MVC5為基礎(chǔ)開發(fā)框架,每層均采用Autofac框架實(shí)現(xiàn)依賴注入,降低對(duì)象和模塊間的耦合關(guān)系,實(shí)現(xiàn)代碼的重用。Autofac框架使用控制反轉(zhuǎn)模式將應(yīng)用程序的配置和依賴性與實(shí)際的應(yīng)用程序代碼分開(通過配置文件即可建立對(duì)象或模塊間的調(diào)用關(guān)系),即應(yīng)用程序各層之間為弱耦合結(jié)構(gòu),使得整個(gè)程序框架能做到真正意義的代碼重用,也非常容易維護(hù)。Autofac框架的核心容器Components可把各業(yè)務(wù)邏輯和下層的數(shù)據(jù)訪問模塊綁定到容器中,通過配置文件建立對(duì)象或模塊間的調(diào)用關(guān)系,在大幅減少編碼工作的同時(shí)實(shí)現(xiàn)了代碼重用。
1)數(shù)據(jù)訪問層,負(fù)責(zé)數(shù)據(jù)在數(shù)據(jù)庫中的持久化和檢索,采用ORM數(shù)據(jù)實(shí)體關(guān)系映射部件實(shí)現(xiàn),以統(tǒng)一的接口支持多種數(shù)據(jù)庫,使得數(shù)據(jù)庫之間的移植非常方便?;贠RM的數(shù)據(jù)庫訪問接口可實(shí)現(xiàn)一次編碼多 次使用,在不同系統(tǒng)中使用時(shí)不用重復(fù)編程。
2)業(yè)務(wù)邏輯層,負(fù)責(zé)控制業(yè)務(wù)邏輯,對(duì)資源提交、更改和檢索的邏輯進(jìn)行約束,并通過依賴注入技術(shù)把應(yīng)用程序分離成一個(gè)個(gè)低耦合、高聚能的模塊,再采用一種靈活的方式組裝各模塊,方便后期系統(tǒng)的修改和維護(hù)。系統(tǒng)主要依靠Autofac框架的核心容器控制模塊間的關(guān)系,該容器在系統(tǒng)啟動(dòng)時(shí)生成,并把各業(yè)務(wù)邏輯和下層的數(shù)據(jù)訪問模塊綁定到容器中。當(dāng)系統(tǒng)調(diào)用業(yè)務(wù)邏輯時(shí),依賴注入會(huì)根據(jù)需要自動(dòng)注入其他依賴模塊。
3)Web服務(wù)接口層,負(fù)責(zé)發(fā)布資源接口,采用ASP.NET MVC5 的 RESTful Web API進(jìn)行資源發(fā)布[4],對(duì)系統(tǒng)數(shù)據(jù)庫的查詢、修改等采用OData技術(shù)發(fā)布接口。所有支持Linq查詢的集合均可采用OData技術(shù)查詢,實(shí)際的查詢語句被下放到客戶端,增加了查詢的靈活性,如查詢地址位于‘天河區(qū)伍仙橋’且已損壞的標(biāo)志點(diǎn),可在客戶端構(gòu)造語句:URL: ~/api/mark?$filer=Address eq‘天河區(qū)伍仙橋’and IsDestroy eq‘true’,即可獲取以JSON格式返回的結(jié)果數(shù)據(jù)。采用OData技術(shù)能夠消除傳統(tǒng)開發(fā)過程中為每種查詢、修改數(shù)據(jù)庫的方法都單獨(dú)創(chuàng)建一個(gè)服務(wù)的步驟,可減少60%以上的編碼工作。
4)表現(xiàn)層,負(fù)責(zé)用戶界面呈現(xiàn)以及用戶交互處理,采用HTML5技術(shù)進(jìn)行界面展示。其中地圖服務(wù)和動(dòng)態(tài)地圖服務(wù)屬于外部服務(wù),系統(tǒng)不獨(dú)立提供地圖服務(wù),而是通過接口調(diào)用數(shù)字城市或天地圖提供的符合OGC標(biāo)準(zhǔn)的地圖服務(wù)[5]。
圖1 廣東省測(cè)量標(biāo)志管理信息系統(tǒng)首頁
桌面管理子系統(tǒng)主要為用戶提供查閱或管理測(cè)量標(biāo)志點(diǎn)之記和相應(yīng)普查登記表信息功能(圖1)。通過該子系統(tǒng),用戶能夠在電子地圖上瀏覽標(biāo)志點(diǎn)的具體位置,查看標(biāo)志點(diǎn)附近的地形地貌,并可根據(jù)查詢條件(如區(qū)域、位置范圍、點(diǎn)名關(guān)鍵字等),讓系統(tǒng)自動(dòng)篩選符合條件的點(diǎn)之記顯示在地圖上;用戶也可使用統(tǒng)計(jì)功能,統(tǒng)計(jì)并自動(dòng)輸出統(tǒng)計(jì)表(圖2)。
圖2 廣東省測(cè)量標(biāo)志管理信息系統(tǒng)點(diǎn)之記詳情
用戶管理子系統(tǒng)主要用于控制人員、系統(tǒng)和數(shù)據(jù)的權(quán)限。系統(tǒng)以角色為單位配置權(quán)限,不同的角色對(duì)應(yīng)不同的權(quán)限。管理員可通過給不同用戶分配不同角色來管理用戶權(quán)限。
數(shù)據(jù)審核子系統(tǒng)能檢索出新增或被修改的數(shù)據(jù),審核員對(duì)該數(shù)據(jù)進(jìn)行二級(jí)判別以確保數(shù)據(jù)的合理性和準(zhǔn)確性,審核通過的數(shù)據(jù)才能進(jìn)入成果數(shù)據(jù)庫。審核不通過的數(shù)據(jù)需注明原因,以便返回?cái)?shù)據(jù)修改操作者重新修改(圖3)。回溯子系統(tǒng)通過建立歷史數(shù)據(jù)庫和日志管理將被修改的信息存入歷史數(shù)據(jù)庫,審核員在進(jìn)行數(shù)據(jù)審核時(shí)能方便地將同一份記錄修改前后的信息進(jìn)行對(duì)比,從而確認(rèn)是否通過審核;若發(fā)現(xiàn)修改有誤,可通過查詢?nèi)罩菊业叫薷挠涗?,從歷史數(shù)據(jù)庫中恢復(fù)被誤操作的信息。沒有審核權(quán)限的人員,可在審核信息查詢界面查看自己提交信息的審核情況以及審核員的審核意見。
業(yè)務(wù)服務(wù)接口子系統(tǒng)提供業(yè)務(wù)數(shù)據(jù)的對(duì)接模式,是業(yè)務(wù)數(shù)據(jù)的發(fā)布平臺(tái)。所有的業(yè)務(wù)工作流必須封裝在該系統(tǒng)下并由接口公開,從而使得桌面管理子系統(tǒng)或第三方業(yè)務(wù)系統(tǒng)能通過接口處理業(yè)務(wù)工作流,邏輯開發(fā)者能專注于業(yè)務(wù)邏輯的開發(fā)。該子系統(tǒng)需提供外部訪問接口,允許廣東省國土資源在線巡查系統(tǒng)外業(yè)移動(dòng)巡查終端對(duì)測(cè)量標(biāo)志點(diǎn)的現(xiàn)狀進(jìn)行查詢和修改,確保測(cè)量標(biāo)志管理數(shù)據(jù)的準(zhǔn)確性和更新的及時(shí)性。
圖3 廣東省測(cè)量標(biāo)志管理信息系統(tǒng)數(shù)據(jù)審核子系統(tǒng)
本文分析和研究了當(dāng)前測(cè)量標(biāo)志管理中存在的問題,并討論了測(cè)量標(biāo)志管理信息系統(tǒng)建設(shè)的重要意義和價(jià)值;以現(xiàn)代Web技術(shù)為基礎(chǔ),提出了測(cè)量標(biāo)志管理信息系統(tǒng)的建設(shè)思路。在分析國內(nèi)外大地測(cè)量管理系統(tǒng)研究現(xiàn)狀的基礎(chǔ)上,提出了以標(biāo)石為基本存儲(chǔ)和管理對(duì)象,對(duì)測(cè)量標(biāo)志數(shù)據(jù)進(jìn)行管理的模式,打破了傳統(tǒng)的以點(diǎn)之記為對(duì)象的管理模式,更符合實(shí)際情況;同時(shí)有效解決了一石多點(diǎn)時(shí)的管理混亂,加強(qiáng)了測(cè)量標(biāo)志的管理。
本文研究了測(cè)量標(biāo)志管理信息系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù),并對(duì)系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì),開發(fā)了廣東省測(cè)量標(biāo)志管理信息系統(tǒng)。在整體架構(gòu)上,系統(tǒng)采用4層架構(gòu)合理地劃分層次,在大大加強(qiáng)系統(tǒng)可擴(kuò)展性的同時(shí)減少了耦合性,增強(qiáng)了系統(tǒng)的融合能力和易維護(hù)性。在地圖服務(wù)方面,鑒于天地圖、廣東省地理信息公共服務(wù)平臺(tái)已建設(shè)完成,各級(jí)地理信息公共服務(wù)平臺(tái)均發(fā)布了符合OGC標(biāo)準(zhǔn)的地理信息服務(wù)(WFS服務(wù)和WMS服務(wù)),系統(tǒng)沒有發(fā)布單獨(dú)的電子地圖服務(wù),而是調(diào)用天地圖提供的WFS和WMS(或WMTS)服務(wù)作為系統(tǒng)底圖進(jìn)行展示。在業(yè)務(wù)服務(wù)的發(fā)布和調(diào)用方面,系統(tǒng)自行開發(fā)了數(shù)據(jù)存儲(chǔ)管理、業(yè)務(wù)服務(wù)、用戶管理、安全審核等功能模塊,并通過RESTful技術(shù)實(shí)現(xiàn)了Web Service的發(fā)布和調(diào)用。在系統(tǒng)認(rèn)證方面,系統(tǒng)采用OAuth技術(shù)實(shí)現(xiàn)了安全而開放的認(rèn)證服務(wù),有效解決了第三方應(yīng)用接入時(shí)用戶信息的安全問題。在數(shù)據(jù)庫操作管理方面,采用ORM技術(shù)建立了對(duì)象和實(shí)體之間的映射關(guān)系,隱藏?cái)?shù)據(jù)訪問細(xì)節(jié),將數(shù)據(jù)庫訪問過程進(jìn)行封裝,用戶不必考慮具體的SQL語句,實(shí)現(xiàn)了方便快捷的數(shù)據(jù)持久化。同時(shí),為了保持?jǐn)?shù)據(jù)庫在高并發(fā)訪問條件下的良好性能,系統(tǒng)采用了緩存策略,有效減少了數(shù)據(jù)庫訪問次數(shù),提升了系統(tǒng)性能和用戶體驗(yàn)。
測(cè)量標(biāo)志管理信息系統(tǒng)的進(jìn)一步完善和改進(jìn)主要分為兩個(gè)方向:以用戶需求為導(dǎo)向,根據(jù)用戶在實(shí)際生產(chǎn)應(yīng)用中提出的需求對(duì)業(yè)務(wù)邏輯進(jìn)行改進(jìn);持續(xù)關(guān)注新興技術(shù),不斷提升系統(tǒng)性能。
1)目前測(cè)量標(biāo)志管理信息系統(tǒng)提供的服務(wù)都是測(cè)量標(biāo)志信息的簡單呈現(xiàn),沒有更進(jìn)一步的分析和應(yīng)用。通過對(duì)數(shù)據(jù)庫中測(cè)量標(biāo)志信息進(jìn)行統(tǒng)計(jì)分析,可提供水準(zhǔn)路線、GPS點(diǎn)構(gòu)網(wǎng)等服務(wù),提升了測(cè)量標(biāo)志管理信息系統(tǒng)的應(yīng)用深度。
2)擴(kuò)展測(cè)量標(biāo)志管理系統(tǒng)的管理對(duì)象范圍。諸如重力點(diǎn)、像控點(diǎn)等測(cè)量成果類型和結(jié)構(gòu)均與系統(tǒng)已入庫的測(cè)量標(biāo)志相似,可很容易地納入系統(tǒng)管理,從而拓展測(cè)量標(biāo)志管理信息系統(tǒng)的應(yīng)用范圍。
綜上所述,隨著時(shí)代發(fā)展,WebGIS技術(shù)正在日新月異的飛速發(fā)展。下一步工作將會(huì)繼續(xù)關(guān)注新興技術(shù),重點(diǎn)研究網(wǎng)絡(luò)環(huán)境下更好的WebGIS程序架構(gòu)、開放式GIS[6]、面向?qū)ο蟮牡乩硇畔?shù)據(jù)庫以及更有效率的空間數(shù)據(jù)交換格式[7]等,爭(zhēng)取能持續(xù)地用更合適更優(yōu)異的技術(shù)代替陳舊方法。在滿足未來需求拓展的同時(shí),也要努力避免陷入“過度設(shè)計(jì)”的陷阱,實(shí)現(xiàn)更好的WebGIS系統(tǒng),從而帶給用戶更好的體驗(yàn)。
[1] 孟令奎,史文中,張鵬林.網(wǎng)絡(luò)地理信息系統(tǒng)原理與技術(shù)[M].北京:科學(xué)出版社,2005
[2] Malik T, Szalay A S, Budavari T, et al. SkyQuery: a Web Service Approach to Federate Databases[J].Computer and Information Science,2002,11(2):23-32
[3] Tasoulas E, Varras G, Tsirogiannis I, et al. Development of a GIS Application for Urban Forestry Management Planning[J].Procedia Technology,2013(8):70-80
[4] Esposito D. Which ASP.NET Is Better?[J]. InformationWeek,2011(1 307):50-52
[5] 鐘廣銳.基于OGC規(guī)范的WebGIS解決方案研究[J].微計(jì)算機(jī)信息,2007,23(31):184-186
[6] Alex M. Web Service [J]. Bollettino del CILEA,2007:105
[7] 沈曄,馮徑,舒躍強(qiáng),等.WebGIS數(shù)據(jù)高效傳輸技術(shù)的研究與實(shí)現(xiàn)[J]. Computer Science and Application,2012,2(1):40-46