月薪没到20K,必啃的WebGIS系统技术栈,你练到哪一步了?

WebGIS(网络地理信息系统)是目前地理信息系统(GIS)开发的主流,它利用互联网技术来发布、共享和交互地理空间数据。

一个完整的WebGIS项目通常涉及以下几个主要环节:具备一定的理论知识,数据生产、数据入库、数据存储、前后端开发,GIS常用软件,地图开发框架、前端渲染、前后端交互、平台发布等等个环节,这就决定了每个环节有要应用对应的技术,你擅长哪个部分也决定了今后的职业发展方向,同时如果你学有余力,可以推动想GIS开发全栈工程师方向发展。

Party1

相关基础理论知识

GIS基础理论知识

①基数数据模型:矢量、栅格、真三维、倾斜摄影测量、点云

②空间索引:L曲线、四叉树、八叉树

③规范:

OGC(数据规范、服务规范)

④数据格式规范:

非公开格式数据:geodatabase、dwg、udb

交换格式:dxf、shapefile、geojison、netcdf

⑤空间操作:相交、镜像、打断、空间校准、延长、定位

⑥空间分析:缓冲区分析、日照分析、淹没分析、可视域分析

⑦制图方法:唯一值渲染、多值渲染

测绘基础知识

坐标相关:大地坐标、投影坐标、控制点(高程、水平),坐标转换(七参数、三参数)

地形图:分幅、基数比例尺

遥感基础知识

影像金字塔、分辨率

Party2

数据生产

WebGIS系统的基础是空间数据,项目很大的一部分工作就是要处理数据、分析数据,进行地图符号化配置,这就要用到桌面版的数据处理软件。

图片

ArcGIS、SuperMap、MapGIS和FME等商业软件在GIS领域拥有广泛的应用和强大的功能。这些软件通常提供了丰富的数据处理、分析、可视化和空间数据库管理功能,适用于各种复杂的GIS项目。

QGIS、uDig是开源软件,QGIS要强于Udig,用户可以通过安装插件来扩展QGIS的功能,以满足自己的特定需求。同时,QGIS的文档和教程也相对完善,易于学习和使用。

Party3

数据存储

图片

关系数据库:MySQL、PostgreSQL、Sql server、Oracle

NoSQL数据库:MongoDB

分布式文件存储:HDFS

Oracle、SqlServer是用的较多的两个商业的关系型数据库,用来存储非空间数据和空间数据,从对空间数据操作的性能上来说,还是Oracle突出些。

MySQL支持空间数据的存储,可以通过shp2mysql将shp数据导入MySQL。

PostgreSQL是一个功能强大的开源对象关系数据库系统,在可靠性、功能稳健性和性能方面都不错。

PostGIS是对PostgreSQL数据库的一个扩展,增加了对空间数据的支持。

SQLite、Spatial Sqlite是在Android移动端用的开源数据库,后者比前者增加了对空间数据的支持。

Party4

前端开发

前端网页端编程语言必然是 JavaScript、HTML、CSS三剑客和Jquery,可以用Bootstrap、EasyUI等UI框架。

为了快速、方便的开发系统,可以选用Web开发框架,如Angular、React、Vue、Quasar等。

图片

Angular、React、Vue三者一直在被比较优缺点,一直在被争论用哪个。angualr 、react对于普通的前端从业人员来说入门还是比较难的,Vue相对更轻量级、更便捷、上手快,在国内拥有较多的用户。无论从GIS开发人员水平,还是从WebGIS项目本身来说,Vue更适合做WEBGIS项目。

Quasar是一个高性能的VueJS UI组件框架,它可以构建一流的高性能的响应式网站、PWA、SSR、移动和桌面应用。

JS:ESS、ES6

H5:canvas2d、websocket、webGL

CSS3

LESS

工具:webpack、Grunt

可视化框架:Echarts、EchartsGL、D3.js

基础框架:vue.js、React.js、bootstrap、Jquery

Party5

后端开发

WebGIS系统后端架构非常全面,涵盖了数据库操作、数据接口提供、用户认证、权限管理以及内存缓存等多个方面。

图片

WebGIS系统需要调用数据库中的非空间数据进行增删改查,这就需要供前端调用的数据接口,后端开发语言可以用Java、C++、PHP、Python、.NET,开发框架可以用Spring Boot、ThinkPhp、Django、ASP.NET,但Java系仍是主流。

使用Spring Boot作为后端开发框架确实是一个很好的选择,因为它提供了许多开箱即用的功能和良好的生态系统支持,使用的话还可以整合Spring Security,实现用户认证、权限管理;整合Redis实现内存缓存。

结合WEBGIS系统需求,后端开发必须要考虑高并发、高性能、高可用、分布式、大数据方面的技术,这也是后端开发人员要掌握的技术。

图片

Node.js:Express、Egg.js

Java:springBoot、springMVC、spring

Net.:Asp.NetMVC

Party6

GIS工具

主流GIS软件操作

ArcGIS、SuperMap、QGIS、FME、uDig、Geoserver

postGIS、Envi、3dMAX、AutoCAD、smart3d

专题GIS软件学习

针对特定领域(如城市规划、环境监测等),学习相应的专题GIS软件和应用方法。

Party7

前端渲染库&地图框架

要实现前端GIS数据展示和操作,依靠的是前端GIS渲染JS库,既有商业的,也有开源的,既有二维的,也有三维的。

图片

二维:openlayers、Mapbox、Mapv、Leaflet

三维:cesium、Three.js、unit3d、MapBoxGL、MapTalks、osg、

功能库:turf.js

后台:Geotools、

大数据:GeoMesa、GeoTrellis、GeoWave、Greenplum

OpenLayers和Leaflet是两个常用的开源GIS地图库。OpenLayer相对功能强大,最新版本的地图渲染方式为Canvas和WebGL, Canvas展示二维地图,WebGL的渲染方式有望支持三维。Leaflet体积小,对移动端友好,专注性能和可用性,没有OpenLayer那么复杂,但具有大多数开发人员所需的所有制图功能。

MapBox-GL是使用WebGL技术独立渲染前端库,通过WebGL的高性能,它能够渲染大量的地图要素,同时拥有流畅的交互以及动画效果。

百度地图API、高德地图API、腾讯地图API属于互联网公司推出的API库,从他们的定位和产品来看,不是真正的GIS库。

Cesium和Threejs都是基于 WebGL 的前端3D JS 类库,拥有广泛的用户群。

Echarts、D3属于不是GIS但经常用于GIS项目的可视化库。

Party8

攻坚方向

web大场景三维可视化

压缩、化简、切片、后期效果、前期效果、动画、粒子特效、光线追踪、自动快速建模

地理大数据治理

大数据索引、大数据融合模型

视频融合

视频拼接融合、视频投影、大规模视频播放、

物联网

数据实时汇聚、数据建模管理

最后,分享一个小编非常赞同的观点

WebGIS本质上是Web+GIS,计算机专业人员和GIS专业的开发人员都可以从事。

论单纯软件开发,搞GIS开发的拼不过不过学计算机专科出身的程序员,但是纯软件开发的人又对GIS不太懂,而WebGIS系统开发项目又要求开发人员对GIS有一定的理解。

GIS专业的开发人员本身具有GIS专业背景和一定的软件开发技术

GIS专业背景使他们具备深厚的空间数据处理、分析和地图可视化的知识,了解GIS数据的复杂性和多样性,在空间地理思维方面,能够更好地理解项目的需求和目标,并将其转化为实际的技术实现,更适合主导、负责整个WebGIS项目。

GIS专业的开发人员的技术应该是全栈的,既要懂空间数据处理分析,又要会地图专题图制作,既得熟悉主流开发语言,还得精通前端GIS API的调用,甚至发挥空间地理思维参与页面设计。

这就是我们GIS专业开发人员的独特优势。

对于没有从事过地信相关专业的同学,想转行GIS开发,其实就是从一个HelloWord开始

GIS开发当前处于发展期,人才需求量大,学员完全可以通过短期职业培训进入这个行业。

图片

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

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

相关文章

MAGs培养有线索了?宏组学中未培养微生物表型与培养条件预测

宏基因组测序技术让人们对地球上微生物的多样性有了更深入的了解,但分离培养是研究微生物的生理代谢功能并解析其生态作用的关键。2023年11月的世界微生物数据中心(WDCM)年会中,全面启动了全球“未培养微生物培养组”计划&#xf…

毕业回家寄大量衣服裤子省钱技巧分享

很多宝子们问我,怎么寄快递更加便宜划算,特别是当你有很多的衣服裤子这类型的衣物的时候,怎么寄件最便宜。 今天分享几个寄快递的省钱方法以及经验分享。 1、惠发快递 像寄包裹快递,可以找快递平台进行下单,这样会更…

【机器学习300问】124、什么是LSTM?LSTM的基本结构是怎样的?

长短期记忆网络(LSTM)是一种解决隐变量模型长期信息保存和短期输入缺失问题的方法,有趣的是,长短期记忆网络的设计比门控循环单元稍微复杂一些, 却比门控循环单元早诞生了近20年。 一、什么是LSTM? LSMT全…

M41T00串行实时时钟-国产兼容RS4C1339

RS4C1340是一种实时时钟(RTC)/日历,与ST M41T00引脚兼容,功能等效,包括软件时钟校准。该器件还提供VBAT引脚上的涓流充电能力、较低的计时电压和振荡器STOP标志。寄存器映射的块访问与ST设备相同。涓流充电器和标志需要…

vue+springboot导入Excel表格

1.创建一个excel表格,与数据库需要的表头对应 2.(前端)导入excel的按钮 <template class"importExcel"><el-button type"primary" click"chooseFile">导入<i class"el-icon-upload el-icon--right"></i><…

短路是怎么形成的

1. 短路分为电源短路和用电器短路。 电源短路&#xff1a;电流不经过任何用电器&#xff0c;直接由正极经过导线流向负极&#xff0c;由于电源内阻很小&#xff0c;导致短路电流很大&#xff0c;特别容易烧坏电源。 用电器短路&#xff1a;也叫部分电路短路&#xff0c;即一根…

利用AI云防护实现高效负载均衡

在当今高度数字化的世界里&#xff0c;保证网站和应用的高可用性和响应速度对企业的业务连续性和用户体验至关重要。传统的负载均衡技术虽然能够分发流量&#xff0c;但在面对突发流量、DDoS攻击或资源动态调整时往往力不从心。本文将探讨如何借助AI云防护服务&#xff0c;不仅…

搭贝低代码开发平台:高效、灵活、经济的软件开发解决方案

在当今快速发展的数字化时代&#xff0c;企业对于快速、灵活且成本效益高的软件开发需求日益增长。搭贝低代码开发平台以其强大的功能和用户友好的体验&#xff0c;正在成为众多企业&#xff0c;特别是中小企业&#xff0c;软件开发的首选工具。 &#x1f4c8; 什么是低代码开发…

中力股份注册获批复:“重营销轻研发”明显,屡屡因违规被罚

《港湾商业观察》施子夫 王璐 冲刺上交所主板即将满两年&#xff0c;浙江中力机械股份有限公司&#xff08;以下简称&#xff0c;中力股份&#xff09;于4月24日宣布&#xff0c;首次公开发行股票的注册申请已获证监会同意。 不出意外的话&#xff0c;预计不久的数月内中力股…

电子期刊制作秘籍:如何让你的出版物脱颖而出?

​如何让你的电子期刊在众多出版物中脱颖而出&#xff0c;吸引读者的目光呢&#xff1f;在微信公众号这个平台上&#xff0c;让你的电子期刊内容更具吸引力、专业性和创新性&#xff0c;是至关重要的。下面&#xff0c;我将教你制作电子期刊一些方法&#xff0c;助你打造出一本…

【Pepper机器人开发与应用】二、Pepper机器人图形化开发:医疗服务机器人程序设计

‍‍&#x1f3e1;博客主页&#xff1a; virobotics(仪酷智能)&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f4d1;上期文章&#xff1a;『【Pepper机器人开发与应用】一、教你如何使用图形化开发软件高效开发pepper机器人&#xff08;Pepper SDK for LabVIEW&#xff09…

卷积神经网络 convolution neural network

1.数学卷积&#xff1a;滑动窗口 2.图像具有局部相关性和平移不变性&#xff0c;有许多冗余的特征点&#xff0c;如果用全连接的神经网络会很浪费时间。 3.卷积nn&#xff1a;减少参数&#xff0c;滑动提取特征&#xff0c;特征作为下层卷积的输入&#xff0c;然后放到全连接…

VM4.3 二次开发03 小技巧

VM4.3 二次开发03 小技巧 1.查看SDK帮助文档。 SDK帮助文档路径&#xff1a;安装目录下的路径&#xff0c;注意自己安装时的盘符&#xff0c;我是安装在D盘的。 D:\Program Files\VisionMaster4.3.0\Development\V4.x\Documentations\CH 示例程序目录 D:\Program Files\Visi…

Java 18新特性概览与解读

随着技术的不断进步&#xff0c;Java作为最流行的编程语言之一&#xff0c;也在持续地进行版本更新&#xff0c;为开发人员提供更强大、更高效的工具和特性。Java 18作为最新的稳定版本&#xff0c;引入了一系列引人注目的新特性和改进。以下是对Java 18中一些主要新特性的详细…

电商淘宝京东,精准关键词搜索API接口

当使用电商淘宝京东的精准关键词搜索API接口时&#xff0c;以下是清晰的步骤指南&#xff1a; 一、注册与申请API密钥 注册账号&#xff1a;在淘宝开放平台或京东开放平台注册成为开发者&#xff0c;并创建账号。 创建应用&#xff1a;登录后&#xff0c;在开放平台创建一个应…

最值得入手的宠物空气净化器!希喂、352、安德迈真实测评~

随着天气越来越热&#xff0c;猫咪们也都开始掉毛啦。这时候&#xff0c;家里面到处都飘浮着猫咪们的浮毛和粑粑异味。抵抗力较差的铲屎官&#xff0c;身体就会出现一些问题&#xff0c;例如打喷嚏、咳嗽等呼吸道问题。 很多铲屎官以为用粘毛器、吸尘器等工具就能将猫咪们掉落…

msvcp100.dll已加载但找不到入口点的处理方法,分析比较靠谱的msvcp100.dll解决方法

用户在日常使用中有时会遇到一个错误提示&#xff1a;“已加载 msvcp100.dll&#xff0c;但找不到入口点”。这一信息不仅引发了使用上的不便&#xff0c;也对软件的稳定性产生了质疑。理解并解决该问题不仅对确保计算机正常运行至关重要&#xff0c;也对维护软件的长期稳定性和…

虚拟货币投资指南|XEX交易所

什么是虚拟货币&#xff1f; 虚拟货币是一种基于区块链技术的数字资产&#xff0c;具有去中心化、透明性和安全性等特点。比特币&#xff08;BTC&#xff09;、以太坊&#xff08;ETH&#xff09;和莱特币&#xff08;LTC&#xff09;等是目前较为知名的虚拟货币。 虚拟货币投…

JavaScript 的新技能:5 大技巧,打造更强大的 Web 应用

大家好&#xff0c;我是前端宝哥。 JavaScript 在现代 Web 开发中简直是必不可少的工具&#xff01; 它一直在不断变化&#xff0c;为我们带来新玩法。今天就来跟大家聊聊 5 个顶尖的 JavaScript 技术&#xff0c;教你用更酷炫的方式构建 Web 应用&#xff01; 为什么 JavaScri…

shell脚本编程(概念、编程和语句)

一、shell脚本概述 1、shell脚本概念 Shell 脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件&#xff0c;将一些 shell 的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重定向等功能。 2、Shell 脚…