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