楊益文
(1. 上海市測繪院,上海 200063)
隨著云計算、人工智能、大數據和實體經濟的深度融合,新型智慧城市建設的加速推進,基礎測繪的轉型升級,新型基礎測繪的快速發展和應用[1-2],地理時空大數據呈指數級增長,催生了龐大的地理時空大數據、空間信息服務和智慧城市專題應用建設需求。然而,目前的GIS管理定制平臺處于獨立分散狀態,缺少統一高效的運維、管理、定制等后臺支撐平臺,滿足不了智慧應用建設對地理空間服務管理和地圖內容定制的需求。隨著云計算分布式計算的普及使用,基于微服務架構的軟件和服務開發日漸成為主流。它可將大型的單體應用或服務按需拆分成多個微服務,從而以快速靈活、輕便、松耦合的方式來構建復雜的應用[3]。本文將微服務架構應用于地理時空大數據平臺框架的搭建中,實現了地圖定制管理平臺設計。方案以企業級GIS平臺為基礎,利用Spring Cloud微服務框架實現了微服務高內聚、微服務間低耦合,便于擴展,提升了平臺穩定性、可用性、可靠性和可擴展性。
本文以地理時空大數據為依托,設計并開發了基于ArcGIS、Spring Cloud、Vue 和上海測繪院SMap JS API等技術的地圖定制B/S管理平臺,實現了地圖實時定制授權和預覽。其主要設計思路為:
1)對組織內的地理時空大數據按需按類型進行資源匯聚,建立地理時空數據庫[4]。依托ArcGIS En?terprise 平臺,將地理時空大數據按標準規范發布為多種類型的地理信息服務,如二三維地理信息服務、要素服務、地理處理服務、網絡分析服務和標準OGC等。
2)基于Sping Cloud 微服務框架,分析地圖定制管理平臺的業務流程,并拆分為多個微服務,包括地圖服務管理、服務定制授權、地圖控件管理、地圖控件定制授權等。
3)基于Vue 前端框架技術,結合后端微服務,實現安全認證、服務引擎管理、服務資源目錄、服務定制授權、地圖組件管理、組件定制授權、地圖代理配置、服務監控等多組模塊應用。
4)根據地理時空大數據應用對地圖內容定制的需求,進行空間服務特性和地圖功能定制,以滿足用戶多維度、多場景、多功能的應用需求。
本文采用的技術平臺主要包括ArcGIS Enter?prise、Spring Cloud、Vue 框架和SMap JS API。ArcGIS Enterprise 是Esri 公司推出的新一代服務器GIS 平臺,用戶可在自有或云環境中搭建平臺核心WebGIS 產品[5],提供了強大的空間數據服務管理、分析、制圖可視化與共享協作平臺能力。Spring Cloud是一種微服務架構風格,是一系列開源組件的有序集合。通過該框架設計理念,可將大型的單體應用程序或服務按需按類型拆分為多個微服務,服務之間采用簡單輕量級通信機制相互協作和配合,并可按需彈性部署運行在獨立進程中,為用戶提供最終價值[6]。Vue是一套用于構建Web用戶界面的漸進式Javascript框架,可簡單快速構建前端界面,通過簡單的API提供高效數據綁定和靈活的組件系統[7]。SMap JS API 是由上海測繪院針對地理時空大數據平臺推出的可運行在手機、平板、計算機等設備上的JS 地圖接口庫[8],可調用GIS 平臺地理時空空間資源服務,提供二三維一體化地圖展示、空間分析、網絡分析、地名地址搜索等功能,為地理時空大數據應用提供了更好的表達方式。
在信息安全、標準規范和運行管理體系下[9],平臺利用已有的基礎設施進行建設,旨在滿足對地理空間大數據服務應用的定制需求,建設具有安全認證管理、地圖引擎管理、地圖服務管理、服務授權定制、地圖組件管理、組件授權定制管理、地圖配置管理和地圖代理管理等模塊的“松散耦合”平臺。平臺架構總體包括基礎設施層、數據資源層、平臺服務層和智慧應用層,如圖1所示。

圖1 系統總體架構
1)基礎設施層提供平臺運行所需的軟硬件資源,包括服務器、存儲設備、高速寬帶、所需的運行系統和支撐軟件,是整個平臺基礎運行的支撐。
2)數據資源層匯聚了整個平臺的地理時空大數據,通過對數據進行清洗、轉換、加載、存儲、組織和整理,使之滿足GIS 平臺建設的數據標準和規范體系;再通過建立地理時空信息二三維數據空間庫,對地理時空大數據進行統一入庫、管理、存儲和更新。
3)平臺服務層?;跀祿Y源層的數據成果,結合專業GIS 平臺,將平臺已有數據成果轉換發布為標準地理信息Web服務[10],便于地理信息服務使用和共享。根據數據資源情況,GIS平臺提供了二三維地理信息服務、影像地圖服務、要素類服務、地理處理服務、網絡分析服務、地理編碼服務和OGC標準服務等功能?;谖⒎盏牡貓D定制管理平臺可實現對GIS平臺已有服務的統一注冊、管理、認證、定制和授權,還可對地圖組件進行統一管理、定制和授權,并提供基于權限的地圖配置管理、地圖代理服務等。
4)智慧應用層可根據微服務地圖定制管理平臺的地圖服務和地圖組件定制授權信息,快速構建滿足面向行業地理時空大數據的智慧應用。
平臺服務的調用統一通過微服務GIS GateWay 網關控制,需通過GIS Auth進行微服務認證,再進行業務流程調用。平臺微服務業務主要包括空間服務(GIS Map Service)、地圖組件(GIS Map Widgets)、地圖引擎(GIS Server Engine)、地圖監控(GIS Server Monitor)等。各微服務獨立開發、部署和維護,并統一進行更新。根據應用性能需求,按需對微服務進行彈性伸縮集群部署,以滿足用戶對地圖內容定制化性能的需求。GIS微服務調用流程如圖2所示。

圖2 GIS微服務調用流程圖
目前微服務地圖定制管理平臺包括空間服務管理、地圖組件管理、地圖代理、地圖配置、地圖定制授權、定制內容預覽等功能模塊。這些模塊可根據地理時空大數據的應用需求進行細粒度服務特性和組件功能的定制授權。
1)空間服務管理模塊包括GIS平臺引擎注冊管理和空間服務注冊等功能,可將GIS 平臺作為空間引擎注冊到平臺中,注冊為空間服務資源目錄,并實現服務運行管理。
2)地圖組件管理模塊包括地圖組件注冊、定制和授權等功能,是平臺的核心模塊之一,可實現地圖可視化組件配置、定制和授權,可將GIS 平臺組件按照平臺規范進行注冊,也可按需進行地圖組件開發定制,并注冊到平臺。根據用戶需求,組合空間服務進行定制授權,滿足地圖組件功能應用需求。
3)地圖代理模塊為所有GIS平臺空間服務提供了統一的代理出口。用戶可通過代理服務的方式訪問地理空間服務,實現所有GIS 平臺與用戶環境網絡的隔離,保證后臺GIS平臺的安全性。
4)地圖配置模塊負責統一平臺地圖配置管理,實現地圖API、地圖代理、地圖認證類型和獲取方式的配置管理,并根據用戶授權賬號進行配置授權,以滿足地圖應用配置需求。
5)地圖定制授權模塊根據注冊用戶對地圖服務和組件應用需求進行定制授權,可對服務特性進行定義,包括渲染方式、內容控制、可見性、透明度、安全控制、彈窗與彈窗模板、標注、子圖層、比例尺和三維模式地形信息等。模塊效果如圖3所示。

圖3 地圖定制授權模塊
6)定制內容預覽模塊。根據定制授權的配置結果,可通過在線地圖模板實時查看預覽、修改、編輯和調整。模塊效果如圖4所示。

圖4 地圖定制實時預覽
1)微服務和地圖定制授權相結合。本文將微服務架構設計理念、專業GIS 平臺與地圖定制管理平臺流程業務相結合,構建了一個可靠穩定、可擴展、可移植、高內聚低耦合的地圖定制管理平臺。
2)地圖定制和智慧應用的開發。地圖定制可根據具體應用對地理時空大數據的需求進行內容定制,還可對地圖交互組件進行功能定制,大大降低了業務系統地圖內容展示的工作量,簡化了業務系統的復雜度,使用戶專注業務本身,節省了時間,降低了項目成本。
本文設計了一套基于Spring Cloud、ArcGIS Enter?prise、Vue和SMap JS API 的地圖定制管理平臺,通過實現地圖內容的定制授權管理滿足日益增長的對地理時空大數據應用的定制需求。平臺采用微服務架構設計理念,將復雜的地圖定制授權業務流程分解為多個職責單一獨立運行的微服務,并實現橫向彈性伸縮擴展部署,保證了系統的可靠性、可用性和可移植性,為地理時空大數據大規模定制應用需求提供了可靠的技術保障。