这篇文章主要给那些GIS专业的,想学GIS开发的,但现在还没怎么入门不知道该从哪学起的在校生参考的。这篇文章不是讨论GIS开发是否有前途的,也不是讨论做GIS是不是就一定应该做开发的。而是讨论学GIS开发怎么入门以及应该掌握什么知识,以及未来比较有前景的方向。
(一) 打好编程基础
先就几个大家在学生时代都很迷茫,分享一些观点:
1、现在开始学习编程,是不是晚了?
只要是想学,30岁以内都可以的,其实很多计算机专业刚刚毕业出来的人都不会做项目开发,也是重新自学或者报班。
2、学校不教编程,怎么办?
大学里学校教不教只是指个方向,学习都靠自己,既然已经决定要做GIS开发,方向已经有了,学校教不教又有什么关系?你可以找各种资源,新中地GIS开发特训营这样的职业培训机构,不要把视角局限在学校里,学习的资源在于你搜索整合的能力
3、GIS学生编程不如计算机的,搞测绘不如学测绘的,搞地理不如学地理的,我现在开始学习编程再怎么学也赶不上学计算机的怎么办?
这个问题简单,如果现在去睡觉能赶上他们的话,完全可以去睡觉嘛。如果你是一名大二的学生,能意识到自己以后打算做开发,并开始努力,那是再好不过了。这个时候大部分学生还处在比较迷茫的时期,或者还在享受幸福的大学生活。这个时候开始努力,你就比别人起步早,自然会比别人更有优势。
这时候学校一般都会有一些计算机相关的课程,但对于已经有想法的学生,这时候就要抓住机会,不要局限老师教的内容,要自己去拓宽学习范围。
(二) 需要掌握的知识点
大二大三是学习的关键时期,一定要打好以下基础
打好编程基础
-
学习编程语言:Python是GIS应用中的标准语言,很多GIS软件开放源码倾向于使用Python。此外,还需掌握HTML、CSS3、JavaScript等前端开发基础,以及Java、Python、C++等后端开发基础。
-
熟悉GIS软件操作:熟练使用ArcGIS、QGIS、SuperMap、GeoScene等GIS软件,至少掌握一种。
-
掌握GIS地图框架:如OpenLayers、Mapbox、Three.js、Cesium、Echarts等,至少掌握一种。
-
数据库知识:熟悉Oracle、SQL Server等主流数据库编程,了解空间数据库的基本原理。
学习GIS基础知识
-
地理信息系统原理:掌握GIS的基本概念、原理和应用领域。
-
地图制图:了解地图的基本要素和绘制方法,如比例尺、方向、图例等。
-
空间分析:学习空间分析的基本方法,如缓冲区分析、叠加分析、网络分析等。
掌握数据处理技能
-
数据处理软件使用:熟练使用GIS数据处理软件进行数据输入输出、编辑、转换、空间分析等操作。
-
编程自动化:学习使用脚本和编程语言(如Python)来自动化一些重复性任务。
了解GIS应用领域
-
城市规划:了解GIS在城市规划、设计和管理中的应用。
-
环境保护:掌握GIS在环境监测、评估和管理中的应用。
-
资源管理:了解GIS在自然资源管理中的应用。
培养实践能力
-
参与项目实践:通过实际项目来锻炼和应用所学知识,积累实践经验。
-
实习经历:争取在GIS公司或相关部门实习,获取行业经验和职场技能。
持续学习和更新知识
-
关注行业动态:了解GIS行业的最新技术和发展趋势。
-
学习新技能:随着技术的发展,不断学习新的GIS技术和工具
大二大三的时候,学好专业课的同时,有两个选择,一个是去软件公司实习,一个是去参加各种有含金量的GIS竞赛。如果精力足够旺盛,可以一起做。总之,要踏踏实实的做一些东西,做一些事情,不要荒废时间,也不要只学习不践,应该在实践中不断的学习,才能进步。
这个时候沉迷游戏的同学该醒醒了,绝对不晚,兼职如果不能称之为职业方向,建议及早放弃
(三)GIS转码的几个方向,建议收藏
WebGIS开发
难度:⭐️⭐️⭐️这个方向可以说是最容易的,难点在于以后的上升渠道,可能需要转前端开发、架构的概率比较大,否则比较难得到很好的长期发展。Web GIS开发涉及使用HTML、CSS、JavaScript等技术构建交互式地图和地理信息分析工具。开发人员可以使用开源的JavaScript库(如Leaflet、OpenLayers)或商业软件(如ArcGIS JavaScript API)创建Web GIS应用,提供在线地图浏览、查询、分析和数据编辑等功能。
桌面GIS开发
难度:⭐️⭐️⭐️⭐️
一般来说,桌面GIS学习门槛比WebGIS通常要高一些。桌面GIS通常需要开发人员有相关编程知识和更深入的地理信息系统理论知识。而WebGIS通常更加侧重于API的开发和应用,对一些细节比较注重,更加侧重于前端效果展现,可以利用Web开发技术实现GIS应用。
技术要求:C++、Linux
移动GIS开发
难度:⭐️⭐️⭐️⭐️
移动GIS学习门槛比WebGIS高,因为移动GIS将GIS移动应用程序(像smart phone 和tablet)开发与GIS技术相结合,使GIS可以在移动设备上运行,这个节骨眼上的技术合并会更加复杂,因此学习的难度比WebGIS高。
技术要求:Java、Android、ARCGIS、OpenGL
地图开发工程师
难度:⭐️⭐️⭐️⭐️⭐️
难度5颗星,但稀缺性也满级。会了之后你就是大动脉,这地位杠杠的,任谁也撼动不了。 地图开发工程师是一个专注于地图应用开发的专业岗位,需要熟悉GIS相关开发框架,有Cesium/Leaflet/OpenLayers等开发经历,具备WebGIS产品或应用系统开发经验;熟悉Vue/React框架下的Web二三维地图架构功能实现。
主要的岗位内容包括:地图展示及分析开发、地图数据渲染及优化、三维GIS功能开发、地图应用开发等等
地图算法工程师
难度:⭐️⭐️⭐️⭐️⭐️
难度同样5颗星。工资待遇极高。算法搞明白了,那换工作不是分分钟的事,行业之间横跳都没得问题,主打的就是一个岗位多、工资高,任性。要求熟悉常用的GIS算法,具备良好的空间几何算法基础;熟练使用C++/C、Python等一种或几种常用编程语言,具备完成工程代码构建和部署的能力。