王 青,王忠芳
(江蘇省基礎地理信息中心,江蘇 南京 210013)
第一次全國自然災害綜合風險普查是一項民心工程、基礎工程,旨在進一步提升全社會抵御自然災害的綜合防范能力。房屋建筑調查成果對于住建部門掌握房屋建筑存量底數和房屋抗震設防整體狀況至關重要,直接關系到政府部門在自然災害防治方面宏觀決策的正確性[1]。江蘇省基礎地理信息中心深度參與南通市海門區房屋建筑普查工作,經過前期對房屋建筑的基本信息、安全信息、抗震設防信息等開展全面調查,積累了大量的房屋建筑承災體數據。筆者基于試點工作成果研發了房屋建筑調查成果管理與應用系統,本文介紹了系統的體系架構、主要功能、關鍵技術等方面。
房屋建筑調查成果管理系統總體框架分為4層,自上至下分別是應用層、服務層、數據層和運行支撐層,如圖1所示。應用層即調查成果管理與應用系統,負責界面展示與事件處理;服務層提供應用服務、接口服務等各類支撐系統運行的服務;數據層用于向服務層提供數據支撐,包括房屋基本信息、建筑信息、使用情況、房屋照片等[2];運行支撐層包括數據庫服務器、應用服務器、ArcGIS服務器。
圖1 系統架構
系統后端采用JavaEE體系的微服務主流技術SpringCloud進行開發,Web前端頁面采用前沿的漸進式框架Vue進行搭建。系統的技術路線由軟硬件支撐層、數據層、消息處理層、服務層和表示層構成。
(1)軟硬件支撐層由PostgreSQL服務器、Tomcat應用服務器、ArcGIS服務器組成。
(2)數據層基于PostgreSQL數據庫服務器及ArcGIS服務器提供數據服務,包括房屋空間數據、房屋基本信息、建筑信息、使用情況、房屋照片、抗震措施照片等數據。
(3)消息處理層基于RabbitMQ消息隊列框架進行開發,以支撐高并發的數據交互請求,實現請求削峰、提升系統的可靠性、健壯性。
(4)服務層基于JavaEE微服務架構SpringCloud進行搭建,包括房屋基本信息查詢服務、調查補充數據查詢服務、房屋數據分類統計服務、專題圖層管理服務等。
(5)表示層即調查成果管理與應用平臺,Web端應用由Vue配合ElementUI進行開發,調用ArcGIS API for JavaScript訪問ArcGIS地圖服務。
本系統運行在互聯網環境中,硬件配置主要包括數據庫服務器、應用服務器以及文件服務器;軟件配置主要包括GIS平臺軟件以及數據庫平臺。其中,軟硬件具體配置情況如表1—2所示。
表1 系統硬件配置
表2 系統軟件配置
系統綜合統計模塊以數據看板的形式分別展示城鎮與農村房屋的概況,通過數據多維化、圖表可視化,全面詳細地展示了各類房屋普查成果。用戶不僅通過點擊可查詢各類專題圖表,主要包括房屋類型、結構類型、建造年代、是否專業設計、是否抗震加固、建造方式等,還可以通過房屋數量和房屋面積按區對房屋進行統計,從而豐富數據成果展示形式。
數據中心模塊展示了區域內房屋專題數據和地下管線專題數據,用戶可直接點擊圖斑查看該房屋的基本信息、建筑信息、使用情況和房屋照片以及管線的基本信息。查詢中心模塊可通過輸入查詢條件對城鎮房屋、農村住宅房屋和農村非住宅房屋圖層進行篩選查詢,點擊查詢結果定位至對應位置查看房屋詳細信息。
Spring Boot和Spring框架緊密結合用于提升Spring開發效率的工具,具有簡化配置、快速啟動、零代碼創建程序、可擴展性、靈活性等優勢。Spring Cloud是一套完整的微服務解決方案,它基于Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,為開發人員提供了快速構建分布式系統工具,如配置管理、服務網關、服務路由、分布式會話、事件總線等[3]。平臺采用基于Spring Boot和Spring Cloud的微服務架構搭建,將巨大單體式應用拆分成多個小型、獨立的服務,每個服務可以獨立部署、擴展和維護,降低系統的耦合度,從而提高系統開發的可靠性、可伸縮性和靈活性[4]。
Vue是用于構建交互式的Web界面的庫,是一個構建數據驅動的Web界面漸進式框架,其核心庫只關注視圖層,能通過盡可能簡單的API實現相應的數據綁定和組合的視圖組件[5]。本項目采用Vue框架搭建前端頁面,利用Vue數據雙向綁定的特性,采用MVVM(Model-View-ViewModel)模式進行設計,綜合運用Webpack、Vuex、VueRouter、Vuetify、Axios等技術,不僅簡化了開發流程,而且具有較好的適用性與擴展性,提高了渲染性能以及加載速度。
ECharts是一款基于JavaScript的開源可視化圖表庫,底層依賴輕量級Canvas類庫ZRender,通過豐富的API接口可以將后臺傳送的json數據,以多種方式進行展示,兼容絕大多數瀏覽器和設備,可以提供形象直觀、交互個性化的數據展示[6]。平臺基于ECharts可視化技術將海量數據按房屋數量、房屋面積、房屋類型、結構類型、建造年代、建造方式等類別進行歸納統計,通過圖形、圖標等方式實現統一數據的多維度分析與展示。
PostgreSQL是一個功能非常強大、源代碼開放的客戶/服務器關系型數據庫管理系統(RDBMS),支持絕大部分SQL標準,并提供了許多新特性,如復雜查詢、多版本并發控制等。PostGIS是PostgreSQL的空間數據庫擴展器,可以提供空間對象、空間索引、空間操作函數和空間操作符等空間信息服務功能,不能獨立于PostgreSQL運行。PostgreSQL/PostGIS數據庫的易用性和可擴展性為房屋建筑調查成果管理系統的構建提供了良好的底層支撐。平臺基于PostgreSQL數據庫開發,提供了一個開放式架構,方便后期集成其他專題數據,從而擴大應用的范圍與深度。
本文從系統體系架構、主要功能、關鍵技術3方面介紹了房屋建筑調查成果管理與應用系統。本系統被成功運用到南通市海門區房屋建筑普查試點工作中,通過地圖瀏覽、數據查詢、圖表統計等直觀形象地將房屋建筑信息展示出來,實現房屋建筑調查成果的有序組織和高效管理,支撐房屋建筑調查成果數據統一管理和數據更新,為有效開展自然災害防治和應急管理工作提供權威的災害風險信息和科學決策依據。