以后要做GIS开发的话是学GIS专业还是学计算机专业好一些?

GIS开发其实严格来说分为前后端以及底层开发。不同的方向,代表了不同的开发语言。

所以大家首先要了解自己具体要做的岗位类型是什么,其次才是选择专业侧重点。

但是严格来说,选择某个专业,到就业方向这个过程,并不是不可逆的。意思是,假设你的专业并不适合某一个岗位,也能够通过后天的学习努力达到标准。

下面重点说一下GIS行业主要的开发岗位分类:

1、GIS底层开发

GIS底层是指软件的桌面端、Web应用程序和移动应用程序。

说白了就是做软件,国内外有各种GIS软件公司,例如美国的ESRI公司的arcgis,国产的超图的supermap和中地数码的mapgis等,都属于gis软件。

软件开发又分为应用层和底层,通常会用到c语言或c++,企业会招聘C++工程师来从事这部分工作。需要这类开发人员掌握基本的数据结构和算法以及相关开发经验。

所以这类岗位,计算机专业的同学更有优势。

2、Webgis开发

也就是常说的二次开发或前端GIS开发,webgis以网页端为载体,通常是通过前端技术,实现地图可视化展示。

WebGIS实际上属于前端可视化开发的一个方向,地图可视化开发。

而这其中又分为二维和三维,分别对应leaflet(二维)、openlayers(二维)和mapbox(三维)、cesium(三维)等开发引擎。

市面上大部分招聘WebGIS工程师、三维GIS开发工程师等说的也是这一类。

前面说到,WebGIS开发属于地图可视化开发,因此他们需要学习前端知识以及常用的二三维GIS开发框架。

很多地图框架例如openlayers、cesium等,都是已经封装好的地图API,webgis工程师需要在前端编程的基础上,将这些API调用,实现项目所需的展示及交互等功能。

webgis涉及到很多地图格式、坐标、地图处理、地图空间分析等相关知识,因此大部分企业更青睐GIS专业的科班背景,当然,会编程是必须的。

3、GIS后端开发

GIS公司通常也会招聘后端开发,一般后端是使用Java、PHP等作为开发语言,Java应用相对较广。

在实际工作中,一个GIS的项目开发过程,通常需要前后端结合开发配合,前端负责展示和交互,后端负责数据存储和处理。

二者缺一不可。

也有一些公司会要求程序员全栈,也就是前后端都会;但我个人认为分工明确可以提升工作效率,精度,在各自的专业领域发挥更大价值。

要求前后端都会的,多少有点扼杀程序员在各自领域的发展空间了。

如果给的钱多,还好说,否则不是很推荐这种做法。

全都学,但是都不精,更容易迷茫。

几种语言分别有什么区别?

以上几种开发的区别在于,底层开发通常是针对软件应用层面进行开发,而前后端开发通常是跟据项目的要求进行开发,三者侧重点不同。

1、底层开发

不同层次的开发往往采用不同的编程语言,底层开发往往采用执行效率更高的C、C++;通常了解GIS软件或GIS行业的人应该知道,GIS软件会有网页端、桌面端、移动端等。

下面以mapgis为例:

图片

C++是很多开发人员最熟悉的语言之一,尤其是对桌面应用程序非常友好。无论是Windows还是Linux,C++都有一个很长的成功应用程序支持和支持。

这一块接触的不多,就不展开说了。

2、应用层开发

不同的编程语言往往有不同的应用场景,主要取决于编程语言自身的特点。

应用层开发往往采用前端HTML以及JS(用户层面)和后端(Java、PHP)等语言;

GIS应用层是指比如智慧城市(数字孪生、智慧公安、智慧交通等)、自然灾害(国土、自然资源、灾害预警)、地质等各种解决方案和应用。如下图所示:

图片

GIS底层开发分别是硬件资源管理和容器开发,如果是应用层开发往往是实现业务逻辑,而前后端开发往往是完成内容的呈现和响应用户的输入,后端则将用户的数据存储起来,在用户查询的时候再从后端的数据库中调取并呈现到前端。

前面也提到,通常在项目中,前后端是分不开的。

择业方向

计算机毕业的学生通常较少去做WebGIS,他们往往会去互联网公司工作,选择和机会更多。少数部分人员也会进入GIS行业,但通常是做底层业务开发以及后端。

当然近几年的就业环境不好,计算机和GIS行业的人才也有一定融合的趋势。

目前陆续有部分互联网公司、电商等行业从事前端开发的人员想进入GIS行业做WebGIS开发。

一般来说,我们可以看到在一家GIS软件公司,底层开发和Java后端这些岗位通常是计算机专业毕业的学生担任。

通常,如果是GIS或者测绘专业毕业的学生,不会做后端和底层,因为他们计算机基础卷不过计算机专业的学生,本科四年的学习内容还是相差蛮大的。(也有一些直接转专业或考研到计算机专业的,这种属于弯道超车,不多讨论)

GIS或者测绘专业的学生,如果从零开始学习Java或C++以及获取项目经验的难度较高,即便在本科阶段,有大概接触过C、C#、C++等语言,但多为完成学业,学的内容比较粗浅。

相比之下,webgis对于他们来说就很有优势。

目前GIS领域比较火爆的岗位是WebGIS开发,由于webgis开发同时需要会编程和GIS知识储备,因此成为行业或缺人才。

本科阶段学习的GIS基础在webgis编程上都能用到,同时,在此基础上学习了编程技术,可以突破自己的就业瓶颈。

所以大部分GIS、测绘这些专业的学生转码会选择webgis开发。

你会看到一家公司webgis开发的工作人员大部分都是GIS以及测绘遥感等相关专业的毕业生。

他们的用人逻辑是:强开发+强地理>强开发+弱地理>若开发+强地理>弱开发+弱地理。

当然在一家GIS公司或者硬件设备公司例如测绘公司,大部分GIS、测绘等专业毕业的学生在从事外业或者制图等工作,也就是GIS专业自我调侃式的“GIS民工”。

综上,如果你要做前端GIS,也就是webgis开发,那么GIS专业是更有利的。

如果是其他方向,肯定是学计算机专业更好。

计算机专业的同学,如果要进入GIS行业工作,大部分也都是做后端或者软件业务开发。

WebGIS的要求

我们在招聘网站上随便找一个webgis开发的岗位,看下需求就会发现,基本上都是要求会html/css、JavaScript、openlayers、cesium、webgl、vue等等。

图片

此外,根据我们之前整理的webgis开发岗位关键词显示,cesium在webgis开发岗位中出现次数最多,其次是JavaScript、webgl、vue、html/css等。

图片

具体需求一目了然。

领取完整版二三维WebGIS开发课程

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

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

相关文章

华为FusionStorage Block、OceanStor 100D、OceanStor pacific的区别

华为FusionStorage Block、OceanStor 100D、OceanStor pacific的区别? 华为块存储到底是叫什么呢? 有接触过华为块存储产品的小伙伴肯定都有疑惑,在FusionStorage 、FusionStorage Block、OceanStor 100D、OceanStor pacific等等的名词中&a…

maven导入无法拉取所需依赖

maven导入无法拉取所需依赖 1.原因2.解决搞定收工&#xff01; 1.原因 公司使用的是gradle&#xff0c;配置的私有云&#xff0c;maven里面配置私有云完全使用不了&#xff0c;无论配置国内还是国外的&#xff0c;导入的项目报错拉不到jar包。 <mirror><id>mirro…

Self-RAG:通过自我反思学习检索、生成和批判

论文地址&#xff1a;https://arxiv.org/abs/2310.11511 项目主页&#xff1a;https://selfrag.github.io/ Self-RAG学习检索、生成和批评&#xff0c;以提高 LM 的输出质量和真实性&#xff0c;在六项任务上优于 ChatGPT 和检索增强的 LLama2 Chat。 问题&#xff1a;万能L…

基于Servlet建立表白墙网站

目录 一、设计思想 二、设计表白墙页面&#xff08;前端--VSCode&#xff09; 1、效果图 2、html部分&#xff08;网页上有哪些内容&#xff09; 3、css部分&#xff08;页面内容的具体样式&#xff09; 4、js部分&#xff08;页面行为&#xff09; 三、借助Servlet实现客…

04 思维导图的方式回顾ospf

思维导图的方式回顾OSPF 1 ospf 领行学习思维导图 1.1 ospf 的工作过程 建立领据表同步数据库计算路由表1.2 ospf 的状态 1.3 ospf的报文 1.4 ospf的L

【超详细!各版本通用Matlab入门教程】0基础学会可用于毕业论文制图、数学,线代概率论运算等

MATLAB 下载、安装方法&#xff1a; 【若未安装环境&#xff0c;可以点击下方链接教程先学习安装&#xff0c;再进行MATLAB入门学习】 点击下方文字&#xff1a;即可跳转MATLAB下载&安装教程 下载&安装MATLAB 1.常识 1.1注释方法 % 中文内容【注释内容】 %% 段落注…

第11章 GUI Page508~509 步骤三十六:完善“编辑”菜单,方法三,不使用设计视图,完全通过代码实现复制

将“编辑”菜单的变量名改为MenuEdit 在wxMyPainterFrame的构造函数尾部添加以下代码&#xff1a; 运行效果&#xff1a; “剪贴”“复制”菜单项做UpdateUI的判断 事件表中&#xff0c;对“剪贴”“复制”菜单项做绑定 运行效果&#xff1a;可以看到&#xff0c;没有选中图元时…

哈希表 -- 刷题(查找算法)

目录 &#x1f4bb;哈希 -- 知识点 &#x1f40d;刷题 &#x1f33c;1&#xff0c;雪花 AC -- vector AC -- 链式前向星 &#x1f33c;2&#xff0c;公式 &#x1f4bb;哈希 -- 知识点 线性表 和 树表&#xff0c;通过比较关键字进行查找 而 散列表&#xff0c;基于…

大创项目推荐 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据全国疫情数据分析与3D可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff0…

消息队列介绍

什么是 MQ MQ(message queue)&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ 是一种非常常 见的上下游“逻辑解耦…

Redis 面试题 | 01.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Java--类继承

文章目录 主要内容一.学生类1.源代码代码如下&#xff08;示例&#xff09;: 2.结果 二.交通工具类1.源代码代码如下&#xff08;示例&#xff09;: 2.结果 三.圆类1.源代码代码如下&#xff08;示例&#xff09;: 2.结果 总结 主要内容 学生类交通工具类圆类 一.学生类 具有…