【博客之星】GIS老矣尚能饭否?WebGIS项目实战经验与成果展示

目录

一、最前面的话

二、前言 

1、关于“夜郎king”

3、GIS的“老骥伏枥”

4、WebGIS的“新程启航”

三、WebGIS技术简介

1、前、后技术简介

2、系统功能架构

四、WebGIS项目应用效果

1、应急灾害

2、交通运输

3、智慧文旅

4、其它项目

五、未来与展望

1、云计算+数据存储

2、GIS+AI融合


一、最前面的话

        在这个快速迭代的数字时代,技术如同潮水般汹涌而来。每一次代码的敲击、每一行算法的优化,都是我们探索未知的足迹。技术的力量是背后清晰的思路与逻辑;技术的本质,从来不是冰冷的代码,而是温暖人心的智慧。CSDN作为中国领先的IT知识服务平台,不仅为开发者提供了一个分享技术、交流心得的社区,还通过博客、论坛、在线教育等多种形式,推动了知识的传播与技术的创新。CSDN的博客之星活动更是技术领域的盛事,它不仅是创作者展示才华的舞台,更是激励技术人不断前行的动力。一批批优秀的技术博主,他们的作品不仅为读者提供了宝贵的学习资源,也为整个行业树立了标杆。本人也作为爱好者,也曾多次参加CSDN举办的博客之星活动。一路的学习,欣赏了一路的风景。在向优秀的IT同行学习的过程中,也坚定了向IT技术高地探索的初心。非常荣幸,今年又一次成功进入初选,与智者前行,期待有更多的碰撞。

二、前言 

1、关于“夜郎king”

        先来看看Kimi眼中的“夜郎king”:

        KIMI还是夸大了一些说辞,就是一个普通的程序员。最开始注册CSDN账号是为了用来学习一些网络资源。必须承认的是自己是CSDN的一名受益者,CSDN的问答曾经是我请教问题的大宝库。我是一名Java程序员,与一般的程序员不一样的是,后来在工作过程当中慢慢接触了GIS。也是由于工作的原因,跨界学习了GIS,目前依然在Java+GIS方向探索。坊间,关于Java的未来以及GIS的市场下滑传闻很多,有大环境的因素,也有市场的问题。与许多的小伙伴交流过,他们想了解我用的技术栈有哪些?这里简单跟朋友们汇报一下,从后端来说,我用的不是ArcGIS的生态,不是直接的做ArcGIS二次开发,也不是SuperMap或者MapGIS的二开。我从事的是Java结合开源生态的实现,当然编程语言是Java为主。从前端来说并不是直接调用百度或者高德的Javascript API,基本也是使用开源组件进行构建,二维主要使用Leaflet.js,三维主要是Cesium等等。因此博文主要也是主要围绕这些技术的实践与应用设计展开。GIS很多是2G的重要行业,但是否与我们的日常生活就那么远呢?因此,在很多的博客创作过程中,力求将GIS与大家的生活、工作相结合。比如大家关注的文旅、历史、地理、交通、自然灾害等方面,希望从地理的角度来发现不一样的一些视角。

3、GIS的“老骥伏枥”

        在数字化浪潮席卷全球的今天,地理信息系统(GIS)作为一门古老而现代的技术,正面临着前所未有的机遇与挑战。自20世纪60年代诞生以来,GIS经历了从桌面应用到企业级解决方案的蜕变。GIS的“老”并非指其技术过时,而是其深厚的历史底蕴与成熟的技术体系。从早期的地形测绘到如今的智慧城市、环境监测,GIS一直是地理信息处理与分析的核心工具。然而,随着大数据、云计算、人工智能等新兴技术的崛起,GIS似乎面临着“廉颇老矣,尚能饭否”的质疑。事实上,GIS从未停止过自我革新。从桌面GIS到企业级GIS,再到如今的WebGIS,每一次技术迭代都是GIS在新时代背景下的自我突破。

4、WebGIS的“新程启航”

        WebGIS的出现,为GIS注入了新的活力。它打破了传统GIS的时空限制,将地理信息从封闭的桌面环境推向了开放的互联网平台。通过浏览器,用户可以随时随地访问地理数据、进行空间分析,并与他人共享信息。这种模式不仅极大地降低了GIS的使用门槛,还为地理信息的广泛应用提供了可能。然而,WebGIS的发展并非一帆风顺。数据安全、性能瓶颈、用户体验等问题一直是制约其发展的关键因素。

      本文将从技术实战的角度,深入介绍2024年做过的WebGIS的相关技术及成果展示,探讨其在WebGIS系统中的的定位与发展。希望通过本文的分享,能够为GIS从业者、技术爱好者以及所有对地理信息感兴趣的人士提供一些有价值的思考与启示。在接下来的篇章中,我们将逐一探讨WebGIS的现状、技术趋势、面临的挑战以及未来的发展方向。这不仅是一次技术的探索之旅,更是对GIS这一古老而现代技术的重新审视。让我们一起走进WebGIS的世界,见证其在新时代背景下的蜕变与成长。

三、WebGIS技术简介

        WebGIS(Web GIS)是一种基于Web的地理信息系统,它可以实现地理空间数据的查询、分析、管理和可视化。与传统的 GIS 相比,WebGIS 是通过浏览器实现客户端与服务器间的信息交流,成本降低,且界面友好,容易操作;客户端一般执行地图显示和信息查询目标的选定,数据的调用、处理、清洗、转换、空间分析等都是在服务器完成,这样分布式的系统不仅简化了客户端的结构,降低了客户端负荷,也降低了对宽带的要求;对时空大数据的存储可以放在多台服务器中,服务器可以位于多地,可降低系统的负载;可以跨平台,兼容 Windows 系统、Unix 系统等;对于时空大数据不仅实现了数据的高度共享,也可以实现数据的实时更新;基于 Internet 体系,具有很好的扩展性。随着WebGL的技术在不断的升级和应用,同时实景三维需求的井喷式爆发,WebGIS的技术也迎来了迅猛的发展,对于之前比如依赖网络通讯、信息安全、GIS 空间分析应用薄弱、真三维 GIS 不成熟、多源异构数据的互操作等存在的技术瓶颈也在被逐步突破,WebGIS将在实际应用中绽放更加绚丽的光彩。本节将从前、后端技术应用和系统功能架构两个方面进行介绍。

1、前、后技术简介

         这是一张个人主要用到的技术栈思维导图,分别从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

2、系统功能架构

 某地价综合管理平台系统架构图(简化版)

        以上是一个某地价综合管理平台系统架构图。安全保障体系是整个系统的安全保障,根据国家颁布应用的安全设计指南的要求,从网络、系统、应用、数据等层面对整个系统进行安全管理,以保证整个系统的安全性。运行管理体系包括岗位职责、管理规范和技术规范等,为系统稳定可靠运行提供技术和制度保障。系统的建设分为五层:基础设施层、数据资源层、服务层、应用层和展现层,重点建设内容将分别纳入到相关的逻辑层。

(1)基础设施层:基础设施包括服务器、交换机、防火墙、网关等基础设备设施,为系统的开展以及正常运行提供运行资源支撑。
(2)数据资源层:构建综合信息库,存储和管理综合地理信息管理系统中地图数据、模型数据等基础数据,以及在业务工作中的管理和过程信息,通过系统上传管理的混合数据和文件数据,为系统的开展以及正常运行提供数据支撑。通过对数据进行有效分类,建立完善的数据管理规范,从而更加合理有效的实现资共享机制。
(3)服务层:整个系统采用服务组件技术实现。组件是软件体系架构中可复用的软件模块,每个组件封装一定的逻辑和功能模块,并具有良好的接口,通过发布服务的方式对外提供服务,系统可以通过组装已有的组件来实现新的功能。通过组件技术将大大提高软件可复用度,提高开发效率和可扩展性。在系统的开发过程中,将对系统功能模块进行梳理,提取具有共性特征的功能模块,开发成组件。组件层为实现上层应用中的各业务子系统提供各种基础组件,上层应用通过组合和调用组件层中的组件来实现相关的业务功能,全面提升系统的可扩展能力。
(4)应用层:应用层根据业务需求,通过组装相关的组件,构造出各业务子系统的相关功能模块。然后面向不同业务、不同用户灵活授权,生成各种个化的业务应用工作站。系统建成后,将按照分级部署、按需配置的方式,对各业务人员的系统运行界面进行定制,使用服务组件调用的方式对服务进行合理有效整合,快速搭建相关功能模块。
(5)展现层:展现层是系统在用户各终端的统一展示、主要包含PC端、移动端、手机端、大屏展示端。

四、WebGIS项目应用效果

        本节将从应急灾害、交通运输、智慧文旅、低空经济四个方面的应用重点介绍2024年度的WebGIS项目应用结果,每个项目分别介绍项目主要功能以及主要功能界面示意图。

1、应急灾害

        功能介绍:(1)实现对地震信息的统一管理、在地图上对地震信息进行空间可视化。(2)实现震中位置附近城市、风景区、历史地震查询、震中影响范围检索。(3)实现全球地震热力图分析可视化。(4)省级行政区域地震空间可视化展示。

 地震信息定位展示示意图

 震中附近城市可视化分析功能示意图

附近风景区可视化功能示意图

历史地震分析示意图 

全球地震分布热力图

2、交通运输

        主要功能:(1)支持对全球民航机场空间分布可视化展示。(2)支持按照各个国家和机场信息进行查询检索。

全球民航机场空间分布可视化示意图

 国家民航机场空间分布图

3、智慧文旅

        主要功能:(1)支持对所有省级行政区划所属的风景区信息进行空间可视化,了解其空间分布情况。(2)制作专题地图,神奇的北纬30度线及其穿越国家介绍。(3)制作专题地图,完成缅甸与我国云南的千里边境线展示。

 省级行政区风景区空间可视化

    神奇的北纬30纬线及其穿越国家专题图

 缅甸与云南的千里边境线专题图

4、其它项目

        在2024年度完成的其它WebGIS方面的项目还有:(1)星城违规培训的机构空间可视化。(2)遥感影像的遮罩展示。(3)Leaflet加载矢量瓦片实战。

星城违规培训的机构空间可视化

 遥感影像遮罩展示

 Leaflet矢量瓦片加载可视化

Mapbox矢量瓦片展示 

五、未来与展望

        随着移动化、云计算、数据挖掘、虚拟现实和人工智能技术的不断发展,在未来,WebGIS将会朝着这几个方向不断发展。把WebGIS和这些技术进行深度融合后,才能发现更多的数据之美,GIS之美,信息交叉融合之美。

1、云计算+数据存储

        WebGIS在云计算和存储方面的技术趋势主要包括以下几个方面:云原生技术:WebGIS应用应该具有弹性、水平扩展、自动化、韧性、容错等特点,以满足在云环境下的高可靠性、可扩展性和高性能需求。在支撑大规模的空间数据存储和空间分析方面,采用超大规模集群来满足快速数据制图及空间分析处理。在计算过程中会涉及到多个节点之间的数据传输和存储,因此需要采用分布式技术,如Hadoop、Spark等,以实现数据的高效管理和分析。下图来源:国家气象科学数据中心。

        多云环境:WebGIS应用会部署在多个云环境中,包括公有云、私有云和混合云等。在云上部署和应用时有大量的数据传输和存储,因此需要保证数据的安全性和隐私性。开发者需要采取相应的安全措施,如数据加密、身份认证、访问控制等,以确保数据的安全性和隐私性。

        可视化技术:WebGIS应用需要将地理空间数据展示在Web页面上,以便用户查询和分析。因此,需要采用可视化技术,如地图可视化、交互式地图可视化等,以提高用户体验和查询效率。在面对大量的数据和复杂的分析时,需要采用高性能计算技术,如GPU、FPGA等,以提高计算效率和精度。

 

2、GIS+AI融合

        旧时王燕堂前客,飞入寻常百姓家。随着人工智能技术的不断深入发展以及普及。可以预见的是,人工智能将在GIS领域发挥更大的价值和作用。人工智能在WebGIS的深度应用主要包括以下方面:

  1. 地图推理与决策支持:利用机器学习、自然语言处理、图像处理等人工智能技术,对地图数据进行分析和推理,以提高决策支持的准确性和效率。
  2. 空间分析与可视化:采用深度学习、神经网络、小波分析等人工智能技术,对空间数据进行高级分析和可视化,以获取更加直观、准确的空间信息。
  3. 地图文档自动化:将自然语言处理、机器学习等人工智能技术应用于地图文档处理中,实现地图文档的自动化分类、标注、检索和分析。
  4. 网络分析与安全:采用网络分析、社交网络分析等人工智能技术,对网络数据进行深入分析和挖掘,以发现网络安全威胁和异常行为,提高网络安全管理和保障的效率和准确性。
  5. 智能问答与知识管理:利用自然语言处理、机器学习等人工智能技术,实现地理信息系统中的智能问答和知识管理,以提高问题解决和知识获取的效率和准确性。
  6. 地理信息协同过滤:采用协同过滤算法、人工智能技术等,实现地理信息系统中的跨领域知识协同过滤,以增加结果数量和质量,提高系统推荐准确性和用户满意度。

         在GIS领域,基于遥感影像的房屋或者土地边界自动提取分割,直接生成矢量边界,无疑对于外业调查或者举证具有友好的操作模式,大大的提高了劳动生产力,也能提高作业精度。下面以航空遥感或者无人机遥感为例,对图像实现自动分割。

          SAM在分辨率不高的情况下,图像自动分割提取的范围轮廓边界存在精度差,因此在大面积的航空影像下提取,只能作为一个参考,作为下一步工作的依据。但是结合无人机遥感进行高分辨率的提取,是一条值得期待的道路。

六、总结

        以上就是本文的主要内容,本文将从技术实战的角度,深入介绍博主2024年实践过的相关WebGIS的相关技术及成果展示。探讨其在WebGIS系统中的的定位与发展。希望通过本文的分享,能够为GIS从业者、技术爱好者以及所有对地理信息感兴趣的人士提供一些有价值的思考与启示。以上啰啰嗦嗦,零零总总的介绍了WebGIS的相关技术范围以及项目实践,2024已经过去,2025已经来临。在2025年,继续深入研究和探索WebGIS,将引入人工智能的相关能力赋能,为WebGIS插入飞翔的翅膀。海阔凭鱼跃,天高任鸟飞,GIS大融合、大赋能的时代已来,WebGIS大有可为。期待在未来的道路中继续与朋友们一路相伴。行文仓促,定有许多不足之处,感谢各位专家及博客朋友们的包容,期待各位朋友给予指导和交流,不才万分感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967595.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在Vue中实现事件处理

在Vue中,事件处理是一个核心概念,它让我们能够响应用户的操作,比如点击按钮、输入文本等。Vue提供了一个简洁而强大的方式来绑定事件和处理事件。本文将介绍如何在Vue中实现事件处理,覆盖事件绑定、事件修饰符以及事件处理函数等内…

elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点

需求&#xff1a;时间选择器可选的时间范围进行限制&#xff0c;-2年<a<2年且a<new Date().getTime()核心&#xff1a;这里需要注意plus版没有picker-options换成disabled-date属性了&#xff0c;使用了visible-change和calendar-change属性逻辑&#xff1a;另设一个参…

【MATLAB源码-第261期】基于matlab的帝企鹅优化算法(EPO)机器人栅格路径规划,输出做短路径图和适应度曲线

操作环境&#xff1a; MATLAB 2022a 1、算法描述 帝企鹅优化算法&#xff08;Emperor Penguin Optimizer&#xff0c;简称EPO&#xff09;是一种基于自然现象的优化算法&#xff0c;灵感来自于帝企鹅在南极极寒环境中的生活习性。帝企鹅是一种群居动物&#xff0c;生活在极端…

协议-ACLLite-ffmpeg

是什么&#xff1f; FFmpeg是一个开源的多媒体处理工具包&#xff0c;它集成了多种功能&#xff0c;包括音视频的录制、转换和流式传输处理。FFmpeg由一系列的库和工具组成&#xff0c;其中最核心的是libavcodec和libavformat库。 libavcodec是一个领先的音频/视频编解码器库&…

DuckDB:pg_duckdb集成DuckDB和PostgreSQL实现高效数据分析

pg_duckdb是PostgreSQL的扩展&#xff0c;它将DuckDB的列矢量化分析引擎和特性嵌入到PostgreSQL中。本文介绍pg_duckdb插件安装、特点以及如何快速入门使用。 pg_duckdb简介 pg_duckdb扩展将完全能够查询DuckDB中存储在云中的数据&#xff0c;就像它是本地的一样。DuckDB的“双…

防火墙安全综合实验

防火墙安全综合实验 一、拓扑信息 二、需求及配置 实验步骤 需求一&#xff1a;根据下表&#xff0c;完成相关配置 设备接口VLAN接口类型SW2GE0/0/2VLAN 10AccessGE0/0/3VLAN 20AccessGE0/0/1VLAN List&#xff1a;10 20Trunk 1、创建vlan10和vlan20 2、将接口划分到对应…

Vue 响应式渲染 - 过滤应用

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue响应式渲染综合 - 过滤应用 目录 过滤应用 引入vue Vue设置 设置页面元素 模糊查询过滤实现 函数表达式实现 总结 过滤应用 综合响应式渲染做一个输入框&#xff0c;用来实现&#xff1b;搜索输入框关键词符合列表。…

一文学会:用DeepSeek R1/V3 + AnythingLLM + Ollama 打造本地化部署的个人/企业知识库,无须担心数据上传云端的泄露问题

文章目录 前言一、AnythingLLM 简介&基础应用1.主要特性2.下载与安装3.配置 LLM 提供商4.AnythingLLM 工作区&对话 二、AnythingLLM 进阶应用&#xff1a;知识增强使用三、AnythingLLM 的 API 访问四、小结1.聊天模式2.本地存储&向量数据库 前言 如果你不知道Olla…

CNN-LSTM卷积神经网络长短期记忆神经网络多变量多步预测,光伏功率预测

CNN-LSTM卷积神经网络长短期记忆神经网络多变量多步预测&#xff0c;光伏功率预测 一、引言 1.1、研究背景和意义 光伏发电作为一种清洁能源&#xff0c;对于实现能源转型和应对气候变化具有重要意义。然而&#xff0c;光伏发电的输出功率具有很强的间歇性和波动性&#xff…

cppcheck静态扫描代码是否符合MISRA-C 2012规范

1 下载安装cppcheck 1.1 下载安装包 下载地址&#xff1a;http://cppcheck.net/ 同时把 Source code (.zip) 也下载下来&#xff0c;后面会用到。 1.2 安装及配置 双击安装文件&#xff0c;保持默认配置安装即可&#xff0c;默认安装的路径为&#xff1a;C:\Program Files\…

【Unity3D】UGUI的anchoredPosition锚点坐标

本文直接以实战去理解锚点坐标&#xff0c;围绕着将一个UI移动到另一个UI位置的需求进行说明。 &#xff08;anchoredPosition&#xff09;UI锚点坐标&#xff0c;它是UI物体的中心点坐标&#xff0c;以UI物体锚点为中心的坐标系得来&#xff0c;UI锚点坐标受锚点(Anchors Min…

【Hadoop】大数据权限管理工具Ranger2.1.0编译

目录 ​编辑一、下载 ranger源码并编译 二、报错信息 报错1 报错2 报错3 报错4 一、下载 ranger源码并编译 ranger官网 https://ranger.apache.org/download.html 由于Ranger不提供二进制安装包&#xff0c;故需要maven编译。安装其它依赖&#xff1a; yum install gcc …

C++20导出模块及使用

1.模块声明 .ixx文件为导入模块文件 math_operations.ixx export module math_operations;//模块导出 //导出命名空间 export namespace math_ {//导出命名空间中函数int add(int a, int b);int sub(int a, int b);int mul(int a, int b);int div(int a, int b); } .cppm文件…

使用 mkcert 本地部署启动了 TLS/SSL 加密通讯的 MongoDB 副本集和分片集群

MongoDB 是支持客户端与 MongoDB 服务器之间启用 TLS/SSL 进行加密通讯的, 对于 MongoDB 副本集和分片集群内部的通讯, 也可以开启 TLS/SSL 认证. 本文会使用 mkcert 创建 TLS/SSL 证书, 基于创建的证书, 介绍 MongoDB 副本集、分片集群中启动 TLS/SSL 通讯的方法. 我们将会在…

2、k8s的cni网络插件和基本操作命令

kube-prxoy属于节点组件&#xff0c;网络代理&#xff0c;实现服务的自动发现和负载均衡。 k8s的内部网络模式 1、pod内的容器于容器之间的通信。 2、一个节点上的pod之间的通信&#xff0c;docker0网桥直接通信。 3、不同节点上的pod之间的通信&#xff1a; 通过物理网卡的…

如何在RTACAR中配置IP多播(IP Multicast)

一、什么是IP多播 IP多播&#xff08;IP Multicast&#xff09;是一种允许数据包从单一源地址发送到多个目标地址的技术&#xff0c;是一种高效的数据传输方式。 多播地址是专门用于多播通信的IP地址&#xff0c;范围从 224.0.0.0到239.255.255.255 与单播IP地址不同&#x…

JavaEE架构

一.架构选型 1.VM架构 VM架构通常指的是虚拟机&#xff08;Virtual Machine&#xff09;的架构。虚拟机是一种软件实现的计算机系统&#xff0c;它模拟了物理计算机的功能&#xff0c;允许在单一物理硬件上运行多个操作系统实例。虚拟机架构主要包括以下几个关键组件&#xff…

车载测试工具 --- CANoe VH6501 进行Not Acknowledge (NAck) 测试

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

第40天:Web开发-JS应用VueJS框架Vite构建启动打包渲染XSS源码泄露代码审计

#知识点 1、安全开发-VueJS-搭建启动&打包安全 2、安全开发-VueJS-源码泄漏&代码审计 一、Vue搭建创建项目启动项目 1、Vue 框架搭建->基于nodejs搭建&#xff0c;安装nodejs即可 参考&#xff1a;https://cn.vuejs.org/ 已安装18.3或更高版本的Node.js 2、Vue 创建…

Axure原型图怎么通过链接共享

一、进入Axure 二、点击共享 三、弹出下面弹框&#xff0c;点击发布就可以了 发布成功后&#xff0c;会展示链接&#xff0c;复制即可共享给他人 四、发布失败可能的原因 Axure未更新&#xff0c;首页菜单栏点击帮助选择Axure更新&#xff0c;完成更新重复以上步骤即可