以后要做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开发课程

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 06:58:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 06:58:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 06:58:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 06:58:03       18 阅读

热门阅读

  1. 网络 - 网速很慢一定是网不好引起的吗?

    2024-01-20 06:58:03       33 阅读
  2. UDP协议

    UDP协议

    2024-01-20 06:58:03      32 阅读
  3. MySQL Interview Speedrun

    2024-01-20 06:58:03       29 阅读
  4. Linux系统安装ffmpeg & 升级ffmpeg

    2024-01-20 06:58:03       40 阅读
  5. 【通知】我的教学文章《Rust跟我学》已全部上线

    2024-01-20 06:58:03       41 阅读
  6. 一次Rust重写基础软件的实践(一)

    2024-01-20 06:58:03       28 阅读