【博客之星】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大有可为。期待在未来的道路中继续与朋友们一路相伴。行文仓促,定有许多不足之处,感谢各位专家及博客朋友们的包容,期待各位朋友给予指导和交流,不才万分感谢。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏内常见加密

加密只是增大破解难度,没法说绝对安全,避免过度加密导致性能消耗过大。 通用算法库 lua的加密算法库:https://github.com/somesocks/lua-lockbox/tree/master 比如通信协议就用到里面一些算法cry.encrypt 算法优劣:AES加解密-CBC…

C++中什么时候用. 什么时候用->

学了一年C今天出了一个大岔子,因为太久没有做链表类型题目了,并且STL用惯了今天遇到一题,写的时候发现完全不对劲,搞慌了,首先我们看题目 2. 两数相加 再看我第一次的解答,先不论结果对不对 错的行为有很多…

本地部署DeepSeek Nodejs版

目录 1.下载 Ollama 2.下载DeepSeek模型 3.下载 ollama.js 1.下载 Ollama https://ollama.com/ 下载之后点击安装,等待安装成功后,打开cmd窗口,输入以下指令: ollama -v 如果显示了版本号,则代表已经下载成功了。…

UE5中的快捷键汇总

以下是Unreal Engine 5(UE5)中一些常用的快捷键大全,涵盖编辑器操作、视口导航、蓝图编辑等多个方面(会持续补充作为笔记存在): 通用快捷键 快捷键功能Ctrl S保存当前关卡Ctrl Shift S保存所有Ctrl Z撤销Ctrl C复制Ctrl V…

java项目之足球联赛管理系统源码(ssm+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的足球联赛管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 足球联赛管理系统的主要使用者…

HttpServletRequest 作用

HttpServletRequest 接口在 Java Servlet API 中扮演着至关重要的角色,它是 Servlet 处理客户端 HTTP 请求的核心对象。 每次客户端(例如浏览器)向服务器发送一个 HTTP 请求时,Servlet 容器(例如 Tomcat)都…

【Kubernetes的SpringCloud最佳实践】Spring Cloud netflix 能否被K8s资源完全替代?

在部署Spring Cloud微服务到Kubernetes(K8s)时, Spring Cloud netflix 是否需要完全替代?或者可以部分替代,结合使用? 例如,服务发现和负载均衡可以交给K8s处理, 但某些功能如API网关…

SQL 大厂面试题目(由浅入深)

今天给大家带来一份大厂SQL面试覆盖:基础语法 → 复杂查询 → 性能优化 → 架构设计,大家需深入理解执行原理并熟悉实际业务场景的解决方案。 1. 基础查询与过滤 题目:查询 employees 表中所有薪资(salary)大于 10000…

【C】链表算法题7 -- 环形链表||

leetcode链接https://leetcode.cn/problems/linked-list-cycle-ii/description/ 问题描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到…

uniapp开发h5部署到服务器

1.发行>网站-PC Web或手机H5(仅适用于uniapp) 2.填写网站域名 3.编译成功后会生成一个unpackage文件夹找到下面的h5 4.接下来会使用一个工具把h5里面的文件放到服务器上面(WinSCP使用其他能部署的工具也行) 5.登录 6.登录成功后…

PyTorch Lightning Trainer介绍

PyTorch Lightning 的 Trainer 是框架的核心类,负责自动化训练流程、分布式训练、日志记录、模型保存等复杂操作。通过配置参数即可快速实现高效训练,无需手动编写循环代码。以下是详细介绍和使用示例: Trainer 的核心功能 自动化训练循环 自…

亚信安全正式接入DeepSeek

亚信安全致力于“数据驱动、AI原生”战略,早在2024年5月,推出了“信立方”安全大模型、安全MaaS平台和一系列安全智能体,为网络安全运营、网络安全检测提供AI技术能力。自2024年12月DeepSeek-V3发布以来,亚信安全人工智能实验室利…

小白零基础如何搭建CNN

1.卷积层 在PyTorch中针对卷积操作的对象和使用的场景不同,如有1维卷积、2维卷积、 3维卷积与转置卷积(可以简单理解为卷积操作的逆操作),但它们的使用方法比较相似,都可以从torch.nn模块中调用,需要调用的…

视频基础操作

1.1. 例子 读取mp4格式的视频,将每一帧改为灰度图,并且打上水印(“WaterMark”),并将其输出保存为out.mp4,在这个例子中可以看到视频读取,每帧数据处理,视频保存的整体流程简单示例 import cv…

21vue3实战-----git husky和git commit规范

21vue3实战-----git husky和git commit规范 1.husky工具1.1目的1.2如何做到这一点?1.3步骤 2.git commit规范2.1使用Commitizen自动生成规范格式供选择2.2代码提交风格2.3代码提交验证 之前在https://blog.csdn.net/fageaaa/article/details/145474065文章中已经讲了在vue项目…

Unity3D 类MOBA角色控制器 开箱即用

Github: Unity3D-MOBA-Character-Controller 觉得好用麻烦点个Star感谢!

Kafka 的消费offset原来是使用ZK管理,现在新版本是怎么管理的?

目录 基于 ZooKeeper 管理消费 offset 原理 缺点 新版本基于内部主题管理消费 offset 原理 优点 示例代码(Java) 在 Kafka 早期版本中,消费者的消费偏移量(offset)是存储在 ZooKeeper 中的,但由于 ZooKeeper 并不适合高频读写操作,从 Kafka 0.9 版本开始,消费偏…

使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南

在网络应用中,代理服务器是用于中转用户请求和服务端响应的工具。正向代理主要用于客户端与外部服务器之间的访问代理,帮助客户端隐藏其 IP 地址或访问受限资源。本文将详细介绍如何使用 Nginx 搭建正向代理服务器,特别是针对 HTTPS 网站的代…

arduino扩展:Arduino Mega 控制 32 个舵机(参考表情机器人)

参考:表情机器人中使用22个舵机的案例 引言 在电子制作与自动化控制领域,Arduino 凭借其易用性和强大的扩展性备受青睐。Arduino Mega 作为其中功能较为强大的一款开发板,具备丰富的引脚资源,能够实现复杂的控制任务。舵机作为常…

PyQt学习记录03——批量设置水印

0. 目录 PyQt学习记录01——加法计算器 PyQt学习记录02——串口助手 1. 前言 本次主要是为了学习Qt中的 QFileDialog 函数, QFileDialog.getExistingDirectory:用于选择文件夹,返回的是一个文件夹路径。 QFileDialog.getOpenFileName&…