引言
在这个快速迭代的数字时代,技术如同潮水般汹涌而来。每一次代码的敲击、每一行算法的优化,都是我们探索未知的足迹。技术的力量是背后清晰的思路与逻辑;技术的本质,从来不是冰冷的代码,而是温暖人心的智慧。
项目背景
我是一名 Java 程序员,在工作过程中接触了 GIS,跨界学习了 GIS,目前依然在 Java+GIS 方向探索。坊间关于 Java 的未来以及 GIS 的市场下滑传闻很多,但 GIS 并未停止自我革新。从桌面 GIS 到企业级 GIS,再到如今的 WebGIS,每一次技术迭代都是 GIS 在新时代背景下的自我突破。
博文主要围绕这些技术的实践与应用设计展开。GIS 很多是 2G 的重要行业,但是否与我们的日常生活就那么远呢?因此,在很多的博客创作过程中,力求将 GIS 与大家的生活、工作相结合。比如大家关注的文旅、历史、地理、交通、自然灾害等方面,希望从地理的角度来发现不一样的一些视角。
GIS 技术现状
在数字化浪潮席卷全球的今天,地理信息系统(GIS)作为一门古老而现代的技术,正面临着前所未有的机遇与挑战。自 20 世纪 60 年代诞生以来,GIS 经历了从桌面应用到企业级解决方案的蜕变。然而,随着大数据、云计算、人工智能等新兴技术的崛起,GIS 似乎面临着质疑。事实上,GIS 从未停止过自我革新。
WebGIS 发展趋势
WebGIS 的出现,为 GIS 注入了新的活力。它打破了传统 GIS 的时空限制,将地理信息从封闭的桌面环境推向了开放的互联网平台。通过浏览器,用户可以随时随地访问地理数据、进行空间分析,并与他人共享信息。这种模式不仅极大地降低了 GIS 的使用门槛,还为地理信息的广泛应用提供了可能。
本文将从技术实战的角度,深入介绍 2024 年做过的 WebGIS 的相关技术及成果展示,探讨其在 WebGIS 系统中的定位与发展。
WebGIS 技术架构
WebGIS(Web GIS)是一种基于 Web 的地理信息系统,它可以实现地理空间数据的查询、分析、管理和可视化。与传统的 GIS 相比,WebGIS 是通过浏览器实现客户端与服务器间的信息交流,成本降低,且界面友好,容易操作。对于时空大数据不仅实现了数据的高度共享,也可以实现数据的实时更新;基于 Internet 体系,具有很好的扩展性。
前后端技术栈
这是一张个人主要用到的技术栈思维导图,分别从 GIS 工具、二维 GIS、三维 GIS、大数据这四个方面,WebGIS 涉及的技术还是比较多。
大数据存储: Data Lake、Hadoop+HBase+Hive、Citus 数据抽取: ELK、CDC 数据挖掘: NER(命名实体识别)、NEO4J 知识图谱、MongoDB、ElasticSearch
三维 GIS 可视化: Cesium、MapBox、Echarts、UE4/UE5、AR/VR、MapV 数据处理: Cesium Lab(倾斜摄影)、BIM 数据、Krpano(全景展示)、Cesium Terrain Builder(地形数据)
二维 GIS 前端基础语言:Html+Css+JS Web 框架:VUE.js, React.js, Leaflet.js 地图框架:OpenLayers SpringBoot, springCloud, Mybatis_Plus, Maven 后端Java, JavaFx, GeoTools, Gdal, World Wind 数据库PostGIS, PostgreSQL, Redis
GIS 工具数据处理功能:数据编辑、地图符号化工具分类:QGIS, Udig 服务发布功能:OGC 服务、OGC 查询工具分类:GeoServer, MapServer, TileServer OGC 服务 WMS, WMTS, WFS, WCS
系统功能架构
某地价综合管理平台系统架构图(简化版)
安全保障体系是整个系统的安全保障,根据国家颁布应用的安全设计指南的要求,从网络、系统、应用、数据等层面对整个系统进行安全管理,以保证整个系统的安全性。运行管理体系包括岗位职责、管理规范和技术规范等,为系统稳定可靠运行提供技术和制度保障。系统的建设分为五层:基础设施层、数据资源层、服务层、应用层和展现层。
(1)基础设施层:基础设施包括服务器、交换机、防火墙、网关等基础设备设施,为系统的开展以及正常运行提供运行资源支撑。 (2)数据资源层:构建综合信息库,存储和管理综合地理信息管理系统中地图数据、模型数据等基础数据,以及在业务工作中的管理和过程信息,通过系统上传管理的混合数据和文件数据,为系统的开展以及正常运行提供数据支撑。 (3)服务层:整个系统采用服务组件技术实现。组件是软件体系架构中可复用的软件模块,每个组件封装一定的逻辑和功能模块,并具有良好的接口,通过发布服务的方式对外提供服务。 (4)应用层:应用层根据业务需求,通过组装相关的组件,构造出各业务子系统的相关功能模块。然后面向不同业务、不同用户灵活授权,生成各种个性化的业务应用工作站。 (5)展现层:展现层是系统在用户各终端的统一展示、主要包含 PC 端、移动端、手机端、大屏展示端。


地震信息定位展示示意图
震中附近城市可视化分析功能示意图
附近风景区可视化功能示意图
历史地震分析示意图
全球地震分布热力图
全球民航机场空间分布可视化示意图
国家民航机场空间分布图
省级行政区风景区空间可视化
神奇的北纬 30 纬线及其穿越国家专题图
星城违规培训的机构空间可视化
遥感影像遮罩展示
Leaflet 矢量瓦片加载可视化
Mapbox 矢量瓦片展示

