以后要做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.mzph.cn/news/635081.shtml

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

相关文章

el-table样式错乱解决方案

bug: 图片的椭圆框住的地方,在页面放大缩小之后就对不齐了。 原因: 主要原因是当你对页面放大缩小的时候,页面进行了重构,页面的宽高及样式进行了变化,但是在这个更新的过程中,table的反应并没…

Redis: Redis介绍

文章目录 一、redis介绍二、通用的命令三、数据结构1、字符串类型(String)(1)介绍(2)常用命令(3)数据结构 2、列表(List)(1)介绍&…

python实操之网络爬虫介绍

一、什么是网络爬虫 网络爬虫,也可以叫做网络数据采集更容易理解。它是指通过编程向网络服务器(web)请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。 它包括了根据url获取HTML数据、解…

R.swift SwiftGen 资源使用指南

R.swift 和 SwiftGen 资源转换使用指南 R.swift (原始代码会打包到项目?) Pod platform :ios, 12.0 target LBtest do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!pod R.swift # pod SwiftGen, ~&g…

(二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真

一、创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src cd src 二、下载wpr_simulation源码 git clone https://github.com/6-robot/wpr_simulation.git 三、编译 ~/catkin_make 目录下catkin_makesource devel/setup.bash 四、运行 roslaunch wpr_simulation wpb_s…

java小项目:简单的收入明细记事本,超级简单(不涉及数据库,通过字符串来记录)

一、效果 二、代码 2.1 Acount类 package com.demo1;public class Acount {public static void main(String[] args) {String details "收支\t账户金额\t收支金额\t说 明\n"; //通过字符串来记录收入明细int balance 10000;boolean loopFlag true;//控制循…

2023.1.19 关于 Redis 事务详解

目录 Redis 事务对比 MySQL 事务 MySQL 事务 Redis 事务 Redis 事务原子性解释 Redis 事务详解 执行流程 典型使用场景 Redis 事务命令 WATCH 的使用 WATCH 实现原理 总结 阅读下文之前建议点击下方链接了解 MySQL 事务详解 MySQL 事务详解 Redis 事务对比 MySQL 事…

[陇剑杯 2021]jwt

[陇剑杯 2021]jwt 题目做法及思路解析(个人分享) 问一:昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答: 该网站使用了______认证方式。(如有字母请全部使用小写&#xff09…

C++ 设计模式之备忘录模式

【声明】本题目来源于卡码网(题目页面 (kamacoder.com)) 【提示:如果不想看文字介绍,可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 -- 什么是备忘录模式 (第17种模式) 备忘录模式(Meme…

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体 文章目录 【C语言】- 设置控制台标题、编码、文字颜色、大小和字体1 - 设置控制台标题2 - 设置控制台编码3 - 设置控制台字体和大小参考链接 1 - 设置控制台标题 因为要用到 Windows API,所以需要包含头文件…

UI组件在线预览,程序员直呼“不要太方便~”

一、介绍 以往大家如果想查看组件的使用效果,需要打开DevEco Studio构建工程。现在为了便于大家高效开发,文档上线了JS UI组件在线预览功能,无需本地构建工程,在线即可修改组件样式等参数、一键预览编译效果。程序员直呼&#xff…

可视化k8s页面(Kubepi)

Kubepi是一个简单高效的k8s集群图形化管理工具,方便日常管理K8S集群,高效快速的查询日志定位问题的工具 随便在哪个节点部署,我这里在主节点部署 docker pull kubeoperator/kubepi-server docker run --privileged -itd --restartunless-st…

RabbitMQ-生产者可靠性

一、生产者重连 1、概念 由于网络波动导致客户端无法连接上MQ,这是可以开启MQ的失败后重连机制。 注意: 是连接失败的重试,而不是消息发送失败后的重试。 2、开启配置 spring:rabbitmq:template:retry:enabled: true # 是否启用重试机制ma…

【RabbitMQ】RabbitMQ安装与使用详解以及Spring集成

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《RabbitMQ实战》。🎯🎯 &am…

java实现红黑树

红黑树 红黑树是一种自平衡二叉查找树,其中每个节点都有一个颜色属性,颜色为红色或黑色。它的特性保证了树在插入和删除操作后仍然保持大致的平衡,使得查找操作能够在对数时间内完成。以下是红黑树的一些基本性质: 每个节点是红…

面试题16.15.珠玑妙算

前言 这两天突然发现力扣上还是有我能写出来的题的,虽说都是简单级别的(以及一道中等的题),但是能写出来力扣真的太开心了,(大佬把我这段话当个玩笑就行了),于是乎,我觉…

C#,入门教程(21)——命名空间(namespace)与程序结构的基础知识

上一篇: C#,入门教程(20)——列表(List)的基础知识https://blog.csdn.net/beijinghorn/article/details/124094382 编写软件(大软件称为系统)与盖大楼一个道理。 假设咱们现在需要盖一座名为“天梯大厦”的…

kubernetes工作负载-DamonSet

一、DemonSet的介绍 1、什么是DemonSet DaemonSet 控制器是用来保证在所有节点上运行一个 Pod 的副本当有节点加入集群时, 也会为他们新增一个 Pod。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 简而言之…

进入docker容器,vi: command not found

问题描述: 进入docker容器,查看文件执行vim 命令,报错 vim: command not found。搜索解决方案,说执行一下 apt-get install vim命令,然后又报错 Unable to locate package vim。 解决: 1.执行 npt-get up…

YOLOv3:算法与论文详细解读

【yolov1:背景介绍与算法精讲】 【yolo9000:Better, Faster, Stronger的目标检测网络】 目录 一、YOLOv3概述二、创新与改进三、改进细节3.1 多尺度特征3.2 不同尺度先验框3.3 完整的网络结构3.3 Darknet-53主干网络3.4 残差网络3.4.1 恒等映射3.4.2 网络…