


關鍵詞:地質公園;Cesium;PostgreSQL;三維地理信息;組件化
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)28-0044-04
0引言
隨著互聯網的不斷發展,當前我國地質公園信息化存在形式單一、集成度低、功能匱乏等問題[1],部分地質公園仍然采用傳統網站加表格數據的方式展示地質公園信息。為優化地質公園的管理效率與科研支持,本文創新性地構建了一款集成Cesium技術的地質公園綜合大屏展示系統。該系統不僅標準化了地質遺跡等關鍵信息的采集與數字化流程,還實現了數據的實時更新、有效整合及廣泛共享功能,旨在提升地質公園的整體管理水平與科研合作效率。該系統為推動我國地質公園信息化建設進程提供有益的借鑒,助力我國地質遺跡保護工作的深化與地質公園運營模式的優化,共同邁向更加可持續的發展軌道。
該系統采用Cesium 和Vue.js 構建前端,Think?PHP5構建后端,并結合某地質公園的實際需求進行開發。
1 系統總體設計
1.1 設計思路
在構建系統架構時,依據系統的實際應用需求,采用分層設計的策略,遵循自頂向下的邏輯順序,逐步細化設計層次。首先根據不同用戶角色的需求劃分應用功能,然后將功能模塊化聚合并形成業務組件。這一過程旨在構建一個既高效又易于維護的業務系統架構,并最終確保系統能夠順利部署在相應的基礎設施之上,以支持整體功能的穩定運行。
1.2 系統邏輯架構
系統總體邏輯結構如圖1所示。邏輯結構由六層組成:基礎設施層、數據庫層、業務支撐層、應用層、訪問層和用戶層。
1) 基礎設施層:提供基礎運行環境支撐,包括各種網絡設施、應用服務設施、短信服務、數據服務設施、存儲備份服務等。
2) 數據庫:作為數據存儲中心,包括地質公園管理數據子庫、地質公園地質遺跡數據子庫、影(音)像制品數據子庫、博物館數據庫、科學研究與學術交流數據子庫等。
3) 業務支撐系統:提供用戶管理、資料文件管理、數據分析報表管理、系統運行監督管理等功能。
4) 應用層:提供大屏一張圖系統的三維可視化瀏覽、查詢、標注、空間分析、統計等功能。
5) 訪問層:整個系統的訪問入口,如大屏一張圖系統和Web端的后臺管理系統。
6) 用戶層:各類系統使用人員,包括系統管理員、地質公園管理員、普通用戶等。
1.3 系統關鍵技術
1) Cesium。作為一個頂尖的開源解決方案,Ce?sium專注于三維地球與地圖的可視化,采用JavaScript 作為核心開發語言。其提供的開發套件極大地簡化了用戶構建無插件依賴的虛擬地球Web應用的流程,同時在性能優化、數據精度、視覺渲染效果以及跨平臺兼容性和用戶友好性方面均展現出卓越的品質,確保了高質量的應用體驗[2]。Cesium平臺卓越支持全球高精度地形與影像,跨越2D至2.5D及全3D展示,無縫融合多維空間體驗。該平臺靈活集成矢量、大規模模型(傾斜攝影、BIM、點云等),深化數據處理與展示能力。此外,Cesium還配備了時間軸動態可視化功能,能直觀追蹤空間信息變化,從而顯著提升了地理信息科學的應用價值。
2) 組件化技術。組件設計是軟件設計開發的精髓所在,凝聚了數據結構、面向對象、設計模式、線程并發同步、操作系統等諸多領域的核心技術,一直是設計開發領域彰顯技術水準的最高領地[3]。組件化技術將大型應用細分為獨立模塊,支持獨立開發、編譯、測試,實現功能模塊化,最終組裝成完整系統,簡化了項目管理,增強了系統的可維護性和擴展性。在設計廣泛適用、可重用的組件時,核心在于其靈活性、功能全面性及卓越性能。這些組件須適配多樣應用環境,滿足復雜需求,同時確保高效穩定運行。簡而言之,理想組件應高度定制、適應性強,并以卓越性能支撐廣泛應用。因此,組件設計復雜度高,要求設計者具備深厚的專業知識、技能與豐富經驗。
3) PostgreSQL。作為一款享有盛譽的開源數據庫系統,PostgreSQL歷經超過15年的持續精進與革新,已在業界樹立了可靠性、穩定性及數據一致性的標桿。其廣泛的兼容性使其能夠無縫部署于各類主流操作系統平臺,包括但不限于Linux、Unix 系列以及Windows,展現了強大的跨平臺能力。PostgreSQL以其全面的事務安全特性著稱,不僅全面支持外鍵約束、聯合查詢、視圖、觸發器及存儲過程(且支持多語言編寫的存儲過程)[4],還深度遵循SQL:2008標準,涵蓋了豐富的數據類型,同時支持存儲大型二進制對象,如圖像、音頻和視頻文件,滿足了多樣化數據存儲的需求。此外,PostgreSQL為眾多高級編程語言提供了原生的編程接口以及詳盡的文檔資源,這些特性極大地促進了其在不同開發環境中的集成與應用,進一步拓寬了其應用范圍與影響力。PostgreSQL高度兼容SQL標準,遵循ANSI-SQL:2008,支持子查詢、授權讀取及可序列化事務隔離。具備完善的關系數據庫目錄功能,支持多模式,通過標準字典信息模式訪問。
4) GeoServer。GeoServer基于Java構建,支持地理空間數據的瀏覽與編輯,依托OGC開放標準,靈活實現地圖制作與數據共享。通過實現Web 地圖服務(WMS) 標準,創建各類格式地圖。OpenLayers是一個免費的地圖庫,它集成到GeoServer中,使地圖生成變得快速而簡單。GeoServer建立在GeoTools之上,Geo?Tools是一個開源的Java GIS工具包。GeoServer兼容WFS與WCS標準,促進地圖數據的共享與編輯功能實現。GeoServer還使用Web地圖平鋪服務標準,將已發布的地圖拆分為平鋪,以便于Web地圖和移動應用程序使用。
5) Ant Design。Ant Design作為一種中臺設計體系,旨在優化用戶與設計者的體驗。它跨越了產品、交互、視覺設計、前端及后端開發等多個角色界限,統稱這些領域人員為“設計者”,通過統一的設計規范來增強設計效能,進而提升中臺產品的整體體驗與開發效率。
2 系統開發
2.1 大屏一張圖系統實現
地質公園“一張圖”管理模塊,主要實現對地質公園地理空間數據和非空間數據的三維可視化瀏覽、查詢、標注、空間分析、統計等功能。系統的實現過程如圖2所示。
其中構成地質公園一張圖管理系統的分為以下幾個模塊:
1) 圖層控制模塊。地質公園“一張圖”管理模塊通過搭建三維場景,實現地質公園地理空間與非空間數據的三維可視化管控,通過圖層架構于三維環境中展示與管理數據,具體圖層類型涵蓋普通圖層、屏幕圖層及地形圖層。普通圖層用于加載數據顯示,三維場景中可以有多個普通圖層。普通圖層可以設置風格并保存在三維場景中。普通圖層又分為5種:數據集類型三維圖層、地圖類型三維圖層、KML類型三維圖層、影像文件類型三維圖層和模型緩存類型三維圖層。本系統圖層列表的普通圖層主要是數據集類型三維圖層(其中包括矢量數據集、柵格數據集)和地圖類型三維圖層(將二維地圖動態投影到三維場景中所產生的三維圖層),并提供圖層的顯示與隱藏、重命名、快速定位、顯示風格設置等功能。
屏幕圖層作為一種獨特分類,其特性顯著區別于三維圖層、地形圖層及影像圖層。屏幕圖層內的元素并非依據地理坐標嵌入三維地球模型,而是直接定位于屏幕界面(即三維視圖窗口的表層)。因此,這些對象不受三維場景內球體旋轉、傾斜等操作的影響,而是依據三維窗口自身的變換(如縮放)來相應調整其位置,展現出相對于三維顯示窗口的靜態特性。這樣,可以通過屏幕圖層,放置諸如Logo、說明性的文字等需要靜止顯示在三維窗口中的內容。
地形圖層中,添加至場景中的地形數據(能夠表示地球表面高低起伏狀態的數據,即具有高程信息的數據,利用地形數據可以進行地形分析,包括視域分析、洪水淹沒動態模擬分析、透視分析等)都作為地形圖層來管理,作為地形圖層的地形數據即為地形緩存文件數據。在三維環境內,地形圖層的管理依托于集合化架構,此架構不僅支持地形圖層的動態增刪,還允許用戶靈活調整圖層間的展示順序。
2) 地圖標注模塊。此功能為矢量地圖圖層的特定數據字段提供三維立體文本標注服務,用戶可自定義標注文本的字體樣式、顏色等屬性,以增強數據展示的三維視覺效果。三維地圖中的文本標注如圖3 所示。
3) 數據查詢。該功能主要依托空間查詢技術實現地質公園數據的檢索。空間查詢依據幾何對象間的空間位置關系構建篩選邏輯,與僅依賴屬性條件篩選的傳統屬性查詢相比,空間查詢融合了空間位置與屬性條件雙重過濾機制,提供更為精準與靈活的數據檢索能力。本系統的空間查詢機制涵蓋直觀操作與輸入查詢兩大模式:當用戶需要查看三維場景中某個景點的具體信息時,可通過三維場景中的縮放、平移操作定位至目標地圖對象,直接點擊以顯示其關聯的非空間屬性信息;也可通過輸入框輸入地理要素名稱或關鍵字,選定查詢圖層后,系統自動定位并高亮顯示目標對象,點擊后展現其屬性詳情。
4) 量測管理。①距離量測:系統距離量測提供空間距離、依地距離和水平距離三種量測方式。空間距離是測量場景中兩點的空間直線距離;依地距離是測量場景中兩點的實際地面距離;水平距離是測量場景中兩點的水平直線距離。效果圖如圖4所示。②面積量測。系統面積量測提供空間面積和依地面積兩種測量方式,都是通過在三維場景中繪制多邊形進行量算。空間面積測量為測量繪制的多邊形的空間平面面積,依地面積測量為測量繪制多邊形的實際地面面積。③高度量測。系統高度量測功能依據區域地形數據的可用性進行調整。若區域包含地形數據,則高度量測將納入地形起伏;若缺失,則默認以理想光滑球體表面作為起始基準進行高度測算。
5) 航跡航點設置。系統以飛行視角,按照既定的航線進行三維地圖場景的瀏覽,在瀏覽過程中可添加背景音樂。本系統還提供飛行站點路線的設置功能。
6) 位置導航。該功能允許用戶輸入精確坐標,實現對三維場景中關鍵目標的即時定位和導航。
2.2 后臺管理系統實現
后臺管理系統負責控制地質公園大屏一張圖系統上所顯示的各類信息,其主要的功能模塊如下:
1) 用戶管理模塊。用戶管理模塊核心在于維護地質公園“一張圖”及后臺管理系統的用戶體系,涵蓋用戶賬戶的新建、基礎信息的編輯、密碼重置及賬戶停用等關鍵操作,以確保系統訪問權限的精準控制與高效管理。
2) 權限設計模塊。系統管理員負責總體權限管理,并可授權高級用戶參與部分權限設置,以分擔管理工作量,并促進崗位職責的明確劃分。此機制促進了權限分配的靈活性與針對性,確保了各崗位間工作的緊密協調與高效執行。普通用戶只擁有查看基本信息的權限,地質公園管理員擁有增刪改查相應地質公園數據資料的權限,而系統管理員則擁有所有的管理權限。
3) 文件資料管理。文件資料管理模塊主要是對地質公園的文件資料進行數據管理和維護工作,主要包括以下數據的管理。①地質公園管理數據管理。地質公園管理數據主要有地質公園管理現狀、管理機構基本情況、公園管理相關法規文件、公園規劃概況、規劃變更情況、公園環境狀況、公園游客統計數據。本系統支持地質公園管理數據的全面管理操作,包括檢索、排序、錄入、修改及刪除。新增數據既可通過在線表單直接填寫,也支持導入預設格式的數據表文件,用戶僅需遵循模板要求填寫數據后,即可完成上傳操作,便捷高效。②地質公園地質遺跡數據管理。地質公園地質遺跡數據主要有:地質公園基本情況、公園區域地質背景、公園地質遺跡景點、古生物化石、地質剖面、其他地質遺跡、地質公園內人文景觀、公園生物多樣性、重點保護對象。本系統集成了數據管理的綜合功能,包括搜索、排序、錄入、修改及刪除。在數據新增方面,既支持用戶直接在系統內填寫信息,也允許用戶通過導入符合特定模板格式的數據表來批量添加數據,簡化了數據錄入的流程,提高了工作效率。③影(音)像制品數據。影(音)像制品數據主要有:公園相關音像資料、其他圖片資料。本系統集成了數據管理的綜合功能,在數據新增方面,也同樣支持一鍵導入功能。
4) 系統日志管理。日志管理子系統是系統監控與優化的關鍵工具,專注于捕獲、剖析及審計系統內外發生的各類事件。它能整合來自不同網絡組件的日志信息,并通過統一界面實現即時、可視化的監控。通過智能設置篩選條件與策略,該子系統助力管理員在龐大的日志數據中快速抽取出關鍵事件,不僅便于故障排查與修復,還能預見性地識別安全隱患,進而減少系統停機時間,增強網絡運行效率,并加固網絡防護體系。在本系統中,系統日志主要包括:記錄用戶在系統中各項操作行為的用戶行為日志;實時捕捉系統啟動、關閉、服務進程運行狀態及資源使用情況等關鍵信息的系統運行日志;記錄系統面臨的安全挑戰(如登錄失敗嘗試、未授權訪問等)的安全日志;記錄地質遺跡管理、游客數據統計等核心業務操作詳情的業務日志;以及系統出現的異常記錄日志。在系統監控中,通過對日志數據的實時分析與監控,并結合預設的監控閾值與規則,一旦檢測到系統異常或性能瓶頸,即可立即觸發警報,提醒管理員及時介入處理。在系統發生故障時,日志成為故障排查的首要工具。通過回溯異常日志,結合系統架構與業務邏輯,能夠快速定位問題根源。
3 結束語
本文設計并實現了一款基于Cesium和Vue.js的地質公園大屏一張圖系統,并采用ThinkPHP框架構建了后臺管理系統,該系統結合某地質公園的實際需求進行開發。系統按照地質公園的特點和實際需求,設計并實現了功能模塊,不同的用戶可以在不同的權限下查看和管理地質公園的管理數據和景點信息,為地質公園信息化提供技術參考和案例。目前該系統還能夠根據公園管理的實際情況進行進一步拓展,增加影音資料的閱讀和播放,增加VR導覽等方便直觀的功能等[5],為地質公園的宣傳和管理提供更好的支持和幫助。