基于Cesium的地质公园大屏一张图系统的设计与实现

作者: 杨阳 陈可予 韦康

基于Cesium的地质公园大屏一张图系统的设计与实现0

关键词:地质公园;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],为地质公园的宣传和管理提供更好的支持和帮助。

上一篇 点击页面呼出菜单 下一篇