?

面向國土業務應用的GIS云服務平臺設計

2019-04-10 07:01王建虎吳昊
科技資訊 2019年35期

王建虎 吳昊

摘 ?要:該文基于國土違法用地巡查執法和農村土地確權登記等需求,采用面向服務思想設計并實現了一種基于“云+端”模式的移動GIS快速開發平臺,提出一種分層開發模型OS-GAL-IAL,研制出跨平臺、高性能、全自主的GIS內核,實現了一套精細化、流程化、可視化、易擴展的快速開發框架,能幫助開發者快速構建業務敏捷的移動GIS應用系統。

關鍵詞:移動GIS ?WebGIS ?SOA ?敏捷開發

中圖分類號:P208;TP311 ? 文獻標識碼:A 文章編號:1672-3791(2019)12(b)-0031-02

移動GIS作為移動空間信息服務的基礎設施,其應用領域非常廣泛。然而,當前移動GIS還面臨一些技術難題,包括空間數據量大、計算能力不足、網絡帶寬窄、可靠性差、軟硬件兼容性差等,導致移動GIS項目實施面臨技術門檻高、開發周期長、實施成本高、項目風險大等問題。該文以移動GIS項目共性需求為導向,采用面向服務思想設計并實現了基于“云+端”模式的移動GIS快速開發平臺。平臺具有跨平臺、高性能、可配置、易擴展、支持多語言二次開發等特點,能幫助開發者快速構建業務敏捷的移動GIS應用系統,具有重要的現實意義。

1 ?平臺總體架構

經過多年發展,GIS己從單機工具型軟件系統逐步走向分布式、網絡化的應用軟件平臺,從獨立GIS系統逐步過渡到具有高度資源整合能力和對外服務能力的服務式GIS。服務式GIS是一種面向服務軟件工程方法的GIS技術體系,它支持按照一定規范把GIS的全部功能以服務的方式發布出來,可以跨平臺、跨網絡、跨語言地被多種客戶端調用,同時能聚合來自其他服務器發布的GIS服務。該文以面向服務的思想,分析設計了基于SOA架構的移動GIS開發平臺,提出“云+端”的移動GIS開發模式,由應用層、服務層、支撐層、核心層組成,其總體架構如圖1所示。

其中,應用層是以移動GIS為工具的數據采集、設備巡檢、移動執法等各類應用系統,包括移動作業系統、在線監控、基于WebGIS的業務應用系統、指揮決策系統等,這些運行環境不同、架構各異的應用系統,通過調用、聚合平臺發布的服務,實現數據共享和互操作;服務層由一系列遵循一定規范的應用接口組成,是平臺暴露給應用層進行集成、擴展的應用程序接口;支撐層是平臺的核心,采用B/S和C/S相結合的混合架構,對應用層各類系統起著數據管理、配置等支撐作用。

2 ?平臺主要功能模塊

2.1 GIS核心庫

核心層由HiMap SDK和HiWebGIS引擎組成,前者主要面向桌面端、服務器端和嵌入式設備的輕量級GIS應用程序的開發與部署,而后者是面向WebGIS應用系統的二次開發組件。HiMap SDK采用標準C++開發從底層構建實現,支持跨平臺(Windows Mobile、Android、iOS、Win32等)、多語言(C#、JAVA、Object C)、多并發、高性能的GIS應用程序二次開發。HiMap SDK引入了硬件抽象層的概念,提出分層開發模型OS-GAL-IAL(見圖2)。

2.2 數據管理系統

基礎地圖數據、業務對象數據的預處理是移動GIS應用項目中至關重要的一環,由于這些數據通常是多源異構的,在存儲方式、數據格式、空間參考等方面存在差異,需要對這些數據進行格式轉換、坐標變換、拓撲檢查、符號設置、緩存制作、壓縮轉存等數據預處理工作。數據管理系統綜合考慮桌面系統和嵌入式應用系統在數據精度、顯示分辨率、尋址計算等方面的差異,進行全局的優化設計,提供了豐富實用的功能插件。比如:地圖緩存制作插件可同時制作多種分辨率的地圖瓦片,并提供松散、緊湊這2種存儲格式,確保數據能在桌面端、Web端和移動端均能逼真、流暢地展示。

2.3 通信傳輸系統

通信傳輸系統是承接移動GIS和服務器的關鍵部分,其傳輸效率和系統的安全性、健壯性通常決定著一個移動GIS項目能否成功實施。用戶在戶外開始作業前,移動GIS通過套接字(Socket)連接到通信服務系統進行合法性驗證,作業完成后,現場采集的數據和軌跡數據通過通信服務系統實時地保存到服務器。當監控中心需要對戶外用戶進行指揮調度、多方協助時,可通過通信服務系統將指令推送給現場終端用戶。為了達到最佳系統性能,該文采用完成端口(I/O Completion Ports,IOCP)管理套接字,IOCP充分利用內核對象的調度,只使用少量的幾個線程來處理和客戶端的所有通信,消除了無謂的線程上下文切換,從而最大限度地提高了網絡通信的性能。

2.4 服務管理系統

服務管理系統是平臺各種服務運行的宿主環境,與IIS托管、Windows Services宿主不同,自托管宿主具有便于管控等優勢,能方便地啟動、停止、重啟服務,可有效地對服務消費者進行過濾、監控、報警等,同時能有效聚合外部服務,更適合于平臺級的應用項目。

2.5 WebGIS展示組件

WebGIS是各類業務對象時空信息的綜合展示窗口,是Web端業務應用系統的重要組件,是核心層HiWebGIS引擎二次開發的綜合示例。WebGIS組件中的所有展示方式、事件和行為(如圖層組織、符號樣式、查詢范圍、空間分析、搜索結果、消息處理、事件響應等),均源自運行維護系統對WebGIS的配置結果,它們之間通過GIS服務契約和前端框架引擎實現“所配即所得”的快速定制效果。WebGIS展示組件內置了豐富的功能模塊,包括圖層控制、鷹眼、圖文互查、空間查詢、圖形編輯、專題地圖、GPS軌跡、地圖打印等模塊,程序員只須在頁面中通過為地圖對象添加工具組件的方式完成這些配置。

2.6 代碼生成工具

為進一步提升移動GIS項目的開發效率,降低該平臺框架使用的復雜度,該文設計并實現了基于微軟T4模版引擎的代碼自動生成工具。程序員通過簡單向導,便能自動生成對庫表數據增、刪、改、查等功能多層結構(UI、BLL、DAO、SqlMap)、標準化、高質量的源代碼,并有效地解決了多表關聯等難題。

3 ?結語

該文以解決移動GIS項目實施中所面臨問題為出發點,根據移動GIS類型項目的共性需求,設計并實現了基于“云+端”模式的敏捷開發平臺。目前已成功應用到國土違法用地巡查執法、安監執法、道路養護與路政稽查、輸配電設備巡檢、市政管網巡查、土壤重金屬污染防治普查和農村土地確權登記等領域的多個項目中。實踐證明,該平臺具有多語言、跨平臺、可配置、易擴展等特點,能有效提高開發效率,縮減軟件開發周期,降低項目實施風險,受到開發商和最終用戶的一致好評。

參考文獻

[1] 王志敏.基于GIS云服務的云南省國土空間大數據可視化系統建設研究[J].地礦測繪,2018(9):127-131.

[2] 童麗閨.基于云GIS與大數據的區劃地名云服務平臺設計[J].測繪與空間地理信息,2014(7):1-8.

[3] 王興玲.基于.NET平臺的地理信息Web服務研究與應用[J].計算機工程與應用,2002,38(22):6-8.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合