WebGIS开发:你还在纠结的10大问题合集!

问题1:GIS开发到底是学Java还是Python?

Java是后端语言,Python更重数据分析和算法。

假设通常说的GIS开发是指Webgis,Web就是指网页端,所以我们说的GIS开发大部分情况下是指网页端的地图可视化开发。

GIS开发需要学习前端开发基础HTML/CSS/JS,以及些常见的前端框架,例如vue和react等 (通常是教vue,其使用范围更广,相对来说也比较好上手)

另外要实现地图可视化效果,需要学习一些地图框架,比如二维的Openlayers,2.5维的mapbox,三维的cesium,这些都属于前端地图应用的JS框架。

GIS项目的后端涉及到Java等后端语言的应用。但通常情况下,前后端岗位是分开的,所以webgis开发工程师其实是负责前端地图开发,不需要学习Java。

GIS开发的岗位更多是向三维方向发展,而不是全栈开发,因此大家不需要同时掌握前端和Java等后端开发语言。

熟练掌握其中一种语言,往深了学即可。

Python是世界上前4大最广泛使用的语言之一,其他三个分别是C/Java/C++。Python在国外一直被广泛使用,像youtube,dropboxinstgram都是python开发的

Python的应用领域几乎与Java一样,但学习成本比JAVA更低些,目前主要应用在网站开发、云计算开发大数据分析、爬虫、科学运算、金融分析、自动化运维、自动化测试等领域。

但它跟WebGIS开发没啥太大关系。

问题2、计算机基础对GIS开发有没有帮助?

有帮助,但不多。

有同学想从大学开始就提前学习编程,于是开始啃计算机基础。这对GIS开发有帮助吗?

前面提到,WebGIS就是前端+GIS开发,和前面提到的几种语言都没啥关系,计算机基础有一定作用,但不多。

做GIS开发需要从前端基础开始学,计算机基础可以帮助大家更好地理解,但是实际操作中,还是要从零开始学。

非要说的话,计算机基础对webgis思维有一定帮助,但是作用不大。

此外,很多同学在学习编程过程中会出现一个习惯:

我看了=我学了=我会了

如果想提高编程能力,提前打好基础,可以尝试多学习前端开发HTML+CSS+JS等内容,自己尝试做一些小项目。

项目实战是很重要的,理论知识学得再好,上手就废,等于没学。

问题3:GIS开发对数学要求高吗?

如果你还在上学,请打好数学基础;如果你急着找工作,也不需要那么多数学知识就能就业。

数学好对底层算法编程能力的学习非常有帮助,比如三维GIS中cesium以及它的底层webgl,需要较强的几何思维能力。

但这之前,还有很多很基础的东西。

其次对于找工作来说,企业考虑的不仅仅是单一能力,员工的稳定性,员工的人际交往能力,在项目中的反应能力,学习能力,实操能力都需要综合考虑。

企业不会因为你数学好而聘用你,但你如果没有项目经验,很可能找不到工作。

技术和经验缺一不可,而数学在这其中的作用是通过积累,让你的技术快速到达顶尖水平。

问题4:GIS开发到底好不好就业?

好就业,而且对低学历背景相对友好。

如果你是985\211背景,学习webgis能助力冲刺大厂;如果学历背景一般,更要学习GIS开发,否则只能深陷单一的勘测和数据处理岗位。

另外,学历好的GIS专业都去考公考编进事业单位;

学历偏低的,目前只有GIS开发工资高,做数据处理、外业测绘,工资都很低,而且工作繁琐,环境差,没有前景。

做GIS开发可以迅速拉平和好学校的差距,哪怕学历背景不强也能找到很好的工作。

学生就业案例

数据处理转GIS开发,月薪15K,综合年薪20W:

图片

应届生土地管理转GIS开发,月薪15K:

图片

 

问题5:非GIS专业学GIS开发吃力吗?

一句话概括:大家都一样。

有很多非GIS专业来学习GIS开发,这些专业类型众多,例如:测绘、遥感、城乡规划、建筑学、土地资源管理、地质学、人文地理、海洋技术、风景园林、农业资源、环境工程等等。

具体可以看下图:

图片

与上述各专业的学生类似,其实大部分GIS专业也都是0编程基础,因为在本科阶段接触编程的同学不多。

当然这并不影响学习,特训营就是完全从0开始学习,只要紧跟进度,跟着特训营的安排,多总结、多敲代码就可以了。

问题6:GIS开发是不是就是调用API?

全世界的开源代码都是由社区共同维护的,GIS开发的开源框架openlayers和cesium等也是。

写代码大部分情况下就是调用别人封装好的API,明明可以节省时间快速做出自己想要的效果,为什么要一个一个敲?

传说中的CV大法不过是为了提高效率,IT行业发展的必然产物。

GIS开发也不例外。

但是从技术层面上看,在学会调用API的基础上,学习底层代码就可以和其他人拉开距离,知其然也知其所以然。

因此,GIS开发特训营的4.0版本,就在原来的基础上,加深了三维GIS开发的内容,包括Cesium高级和底层。

新增的部分不仅在视觉效果比Openlayers这些框架好很多,相比于二维层面的WebGIS,三维GIS能够更好的分析和处理地理空间数据,使用准确的三维地理模型可以帮助决策者和规划者更好地理解地理空间数据,进行可视化分析,从而做出炫酷的视觉效果,能够让你在甲方面前抬起头做人。

三维GIS学到深处,不仅仅是对API的调用,新增的webgl是cesium的底层代码,学习这些内容,可以让你更加不容易被淘汰。

问题7:GIS开发对学历有要求吗?

从学习技术的角度没有,从就业角度有学习的话,零基础都可以。

但是找工作,基本上要求本科以上学历,少部分要求大专以上。

这一点从我们之前做过的webgis招聘信息中关于学历要求的部分也可以看到。

大部分岗位要求本科,其次是对学历不做限制,硕士以上学历要求较少。

图片

因此,很多非GIS专业的学生也能很好地学习GIS开发,因为它是零基础友好。

问题8:GIS开发要学到什么程度才能找到工作?

基本上能独立做项目就可以。

不管你应聘WebGIS还是三维GIS,都需要可以完成对应项目的技术和经验。

归纳为以下几种能力:

1)掌握对应的编程技术

(HTML+CSS+JS+VUE/REACT+Openlayers/Mapbox/Leaflet/Cesium等)

2)掌握各GIS开发框架的功能和调试方法;

3)项目经验(智慧校园/智慧交通/智慧城市等)

4)解决问题的能力

问题9:学了GIS开发可以去哪些公司就业?

大部分GIS行业,少部分其他行业。

除了GIS行业,很多大厂都在招聘GIS开发工程师,比如高德地图、百度地图、滴滴打车、美团、阿里等。

图片

问题10:GIS开发会不会也像互联网一样很快失业?

不会,至少现在不会。

因为目前GIS开发是或缺状态。

很多公司常年都开放WebGIS开发岗位,永远都在招人。

因为公司想赚钱就得不停地接项目,项目接到了,就得安排人去做,从而产生招聘需求。

前面也说了,GIS开发其实指的就是地图可视化开发,很多政府或者上市公司会招标一些GIS有关的项目,比如智慧城市、智慧交通等。

按道理来说,webgis其实就是前端,但一般的前端做不来,webgis需要做地图可视化应用,因此需要对GIS的相关地图知识非常熟悉,还要掌握很多常用的开源或商业化的GIS开发API,有部分情况下还需要自己写底层代码。

招聘这样的人才还是比较困难的,因此在行业缺人的情况下,GIS开发不会轻易被淘汰。

其次,GIS行业是实业,跟互联网行业不是一个性质。GIS行业发展缓慢但稳定,也不会像互联网或房地产行业一样快速扩张和没落。

感兴趣的同学,加小助手(whxzdjy)试听GIS开发

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

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

相关文章

工业烤箱设备厂家:专业制造,助力工业发展

随着现代工业的不断发展,工业烤箱设备在各个领域的应用越来越广泛。作为专业的工业烤箱设备厂家,我们致力于为客户提供高质量、高效率的烤箱设备,助力工业生产的顺利进行。 工业烤箱设备在工业生产中扮演着至关重要的角色。无论是电子、化工、…

Flask快速入门

Flask快速入门(路由、CBV、请求和响应、session) 目录 Flask快速入门(路由、CBV、请求和响应、session)安装创建页面Debug模式快速使用Werkzeug介绍watchdog介绍快速体验 路由系统源码分析手动配置路由动态路由-转换器 Flask的CBV…

Spring Boot中使用logback出现LOG_PATH_IS_UNDEFINED文件夹

1.首先查看&#xff0c;application.properties 文件是否按格式编写 logging.pathmylogs logging.configclasspath:logback-spring.xml2.查看 logback-spring.xml <springProperty scope"context" name"LOG_HOME" source"logging.path"/> …

SpringBoot整合SpringDataRedis

目录 1.导入Maven坐标 2.配置相关的数据源 3.编写配置类 4.通过RedisTemplate对象操作Redis SpringBoot整合Redis有很多种&#xff0c;这里使用的是Spring Data Redis。接下来就springboot整合springDataRedis步骤做一个详细介绍。 1.导入Maven坐标 首先&#xff0c;需要导…

小程序中的模版语法

模板语法 今天我们来介绍一下小程序中的模版语法&#xff01;&#xff01;&#xff01; 1. 声明和绑定数据 小程序页面中使用的数据均需要在 Page() 方法的 data 对象中进行声明定义 在将数据声明好以后&#xff0c;需要在 WXML 中绑定数据&#xff0c;数据绑定最简单的方式…

Mysql中使用where 1=1有什么问题吗

昨天偶然看见一篇文章&#xff0c;提到说如果在mysql查询语句中&#xff0c;使用where 11会有性能问题&#xff1f;&#xff1f; 这着实把我吸引了&#xff0c;因为我项目中就有不少同事&#xff0c;包括我自己也有这样写的。为了不给其他人挖坑&#xff0c;赶紧学习一下&…

ABAP调用JavaScript进行幂乘运算

ECC版本没有内置的ipow运算函数&#xff0c;所以需要进行幂乘运算的话&#xff0c;可以采用调用JavaScript的方式来实现&#xff0c;参考代码如下&#xff1a;

集合java

1.集合 ArrayList 集合和数组的优势对比&#xff1a; 长度可变 添加数据的时候不需要考虑索引&#xff0c;默认将数据添加到末尾 package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 | | p…

策略迭代和值迭代的定义和区别

策略迭代&#xff08;Policy Iteration&#xff09;和值迭代&#xff08;Value Iteration&#xff09;是强化学习中常用的两种经典算法&#xff0c;用于解决马尔可夫决策过程&#xff08;MDP&#xff09;中的最优策略。它们之间的主要区别在于算法的迭代方式和更新策略的顺序。…

Chrome/Edge浏览器视频画中画可拉动进度条插件

目录 前言 一、Separate Window 忽略插件安装&#xff0c;直接使用 注意事项 插件缺点 1 .无置顶功能 2.保留原网页&#xff0c;但会刷新原网页 3.窗口不够美观 二、弹幕画中画播放器 三、失败的尝试 三、Potplayer播放器 总结 前言 平时看一些视频的时候&#xff…

Jtti:ubuntu文件系统根目录磁盘空间不足怎么办

当Ubuntu文件系统的根目录磁盘空间不足时&#xff0c;可以采取以下步骤来解决问题&#xff1a; 1. 清理不必要的文件 删除临时文件&#xff1a;清理/var/tmp、/tmp等目录中的临时文件。 清理日志文件&#xff1a;删除/var/log目录下的旧日志文件或使用日志轮转工具。 删除缓…

Linux——自动化运维ansibe

一、自动化运维定义 自动化--- 自动化运维&#xff1a; 服务的自动化部署操作系统的日常运维&#xff1a;日志的备份、临时文件清理、服务器日常状态巡检、&#xff08;几乎包括了linux服务管理、linux 系统管理以及在docker 容器课程中涉及的所有内容&#xff09;服务架构的…

maven学习小结

背景 大佬指路我负责实践 目录结构 maven为项目提供一个标准目录结构 环境配置 下载maven包后解压&#xff0c;配置解压目录的bin到path变量&#xff0c;然后终端mvn -v&#xff0c;有回显则表明maven安装成功 pom POM&#xff0c;Project Object Model&#xff0c;项目对…

01_简单信号的连续和离散形式(2)

1. 单位阶跃信号 1.1离散 离散单位阶跃信号&#xff0c;也称为单位阶跃序列&#xff0c;是一个在离散时间信号分析中基础且重要的信号&#xff0c;用于描述在某个时间点后信号值发生突变的情形。它的定义如下&#xff1a; 离散单位阶跃信号具有以下几个重要性质和应用&#x…

Django中使用下拉列表过滤HTML表格数据

在Django中&#xff0c;你可以使用下拉列表&#xff08;即选择框&#xff09;来过滤HTML表格中的数据。这通常涉及两个主要步骤&#xff1a;创建过滤表单和处理过滤逻辑。 创建过滤表单 首先&#xff0c;你需要创建一个表单&#xff0c;用于接收用户选择的过滤条件。这个表单可…

【CT】LeetCode手撕—21. 合并两个有序链表

目录 题目1-思路2- 实现⭐21. 合并两个有序链表——题解思路 3- ACM实现 题目 原题连接&#xff1a;21. 合并两个有序链表 1-思路 双指针&#xff1a;题目提供的 list1 和 list2 就是两个双指针 通过每次移动 list1 和 list2 并判断二者的值&#xff0c;判断完成后将其 插入…

IDEA项目上传Github流程+常见问题解决

一、Github上创建仓库 项目创建好后如图所示 二、IDEA连接Github远程仓库 管理远程 复制远程地址 定义远程 登录Github 点击进入File->Settings->Version Control->Github登录自己的账号并勾上“√” 三、推送项目 点击推送 修改为main 点击确定&#xff0c;打开远程…

编辑并保存hosts文件

1.以管理员权限打开cmd 2.执行命令 notepad C:\Windows\System32\drivers\etc\hosts 回车后会通过记事本打开hosts文件&#xff0c;然后就可以编辑并保存了。

pdf添加书签的软件,分享3个实用的软件!

在数字化阅读日益盛行的今天&#xff0c;PDF文件已成为我们工作、学习和生活中不可或缺的一部分。然而&#xff0c;面对海量的PDF文件&#xff0c;如何高效地进行管理和阅读&#xff0c;成为了许多人关注的焦点。其中&#xff0c;添加书签功能作为提高PDF文件阅读体验的重要工具…

算法设计与分析复习(第6章 分枝限界法)

7-1 最佳调度问题 #include<iostream> #include<algorithm> using namespace std; int n,k,t[99],ans[99],min_time0x3f3f3f3f; void dfs(int level) { if(leveln) {int tmp*max_element(ans,ansn);if(tmp<min_time) min_timetmp;return; } for(int i0;i<k;…