gis开发工程师需要学什么
gis开发工程师需要学如下内容:
1、学习Python。
Python一直是GIS应用中的标准语言,很多GIS软件开放源码倾向于使用Python。
如果是刚上手学习编程的话,强烈建议首选Python。
学习方向:
Python编程的基础知识——学习变量、条件和循环来控制程序的流程。利用列表、集合、字典和元组等复杂数据结构的强大功能。
用Python写代码——利用诸如NumPy、Pandas和Matplotlib之类的Python库来整理数据。
2、应用程序中的GIS编程——C++、NET、C语言。
除了Python,GIS程序员也会使用C++、C语言和.NET。
C++可以在多个环境中工作,简单来说,C#和.NET语言提供了开发工具以及与基于Windows的软件的交互。
学习方向:
C++程序——学习重点不是学习函数是什么,而是学习如何在C++中创建函数。
Java中的面向对象编程–使用对象、继承和集合构建交互式Java程序。
3.JavaScript–使网页具有交互性。
如果你真的想让你的网页动态化,JavaScript起到了关键作用。
Java入门——学习Web应用程序,为应用程序、网站或系统奠定基础。
学习如何使用JavaScript框架中的面向对象编程功能构建具有可维护代码的应用程序。
4.SQL–数据库管理。
GIS系统依靠数据库输入、编辑和维护来管理数据。几乎所有现代数据库系统(DBMS)都使用SQL。
学习方向:
SQL for Data Analysis–SQL查询可帮助您管理关系数据库中的数据,学习如何使用SQL存储、查询和操作数据。
关系数据库基础–学习使用数据库作为后端编写代码的必要技能。
数据库系统概念与设计—例如,数据库使用查询、输入和删除来微调数据。
5. Leaflet和OpenLayers。
web地图通常使用开源JavaScript库来真正实现这些功能。JavaScript库是其他人编写的代码,目的是让我们其他人的使用更轻松。
使用Leaflet可以从JavaScript库构建自己的web地图。这就是为什么JavaScript能够很好地在GIS中进行交互式的原因。
学习方向:
Leaflet–学习JS的核心概念,使用Leaflet JavaScript构建基于地图的应用程序。
OpenLayers 示例–掌握集群、动画、Web GL等代码。
将学习的内容放到实际应用中,例如,制作一个至少有2个可切换图层的web地图。
Leaflet和OpenLayers 可以二选一进行学习。
6.HTML和CSS标记。
HTML是一种标记语言,它为标题、表格和列表等网页提供了结构。CSS则提供颜色、字体和大小等效果。
学习方向:
学习HTML和CSS基础—掌握HTML和CSS的基础知识。使用HTML、CSS和JavaScript共同创建动态web内容。
7.GitHub。
程序员需要不断学习,GitHub就像开发人员的微博,它是一个开放的社区,帮助开发人员了解其他同行在做什么,也有很多大佬在里面分享源码。
开发人员可以按版本检查项目的整个历史记录,还可以研究项目的代码并自行修改。
8. 项目实操。
学到最后,建议用学到的语言上手做一个自己的项目,例如,创建您自己的个人web地图项目。想了解具体的应用开发内容可以看之前的文章。
作者:本文为CSDN博主「GISer搬砖人」
怎样成为webgis开发工程师
看到这个问题的前两天,我正好看到一个大牛(GIS520社区站长)写的经验介绍。
贴下原文:
本文主要介绍小白如何成为初级WebGIS开发工程师,只适合对应人员参考(WebGIS前端的技能要求和互联网前端要求有些差距的)。后续会有中、高级WebGIS开发工程师相关文章。
程序员的职业岗位,一般的公司会根据技术能力情况区分等级。每个等级有对应的薪资范围。
如果不区分级别的,可能这个公司就不是以技术驱动的公司,研发团队管理也不够专业。一些大公司可能会像阿里那种级别划分,p1~p10,腾讯百度也类似。小公司可能就简单的划分为初级开发工程师、中级开发工程师、高级开发工程师、技术经理、专家/技术总监。
小白一开始的目标就应该定位为初级开发工程师,然后通过努力,成长为中级到高级。那么下面我介绍一下需要具备什么样的技能才能成为一名合格的WebGIS开发工程师。
技术基本要求
1. JavaScript、CSS/HTML掌握;
2. 至少掌握ArcGIS API for javascript 或者 openlayers一种;
3. 懂mysql或oracle或postgresql一种;
4. 掌握Arcgis server或者geoserver发布地图服务并展示;
5. 懂得Java后端语言加分(不强制)。
以上要求,是基于我个人经验以及对一些GIS公司工作的理解。如果你都能满足,可以随意找webgis的开发岗位了。具体什么薪资,每个公司会有点区别,并且要看个人技术的总体情况。
注意我对技术的描述关键词都是“掌握”,并没有说是“熟练”,如果是熟练的话,那应该至少是中级开发工程师了。下面我在仔细的说明这些技能如何学习和对应初级WebGIS开发工程师的掌握程度。
1. JavaScript、CSS/HTML掌握
这里边最重要的是html和JavaScript两个,其次是css。对webgis公司来说,系统页面和美观效果和互联网的网站相比,有些差距,所以css这边要求不高;解释一下js为什么是最重要的,因为js是用的最多的,所有的web页面逻辑都是用js来实现,一般你的js能力的大小可能决定你工作的效率和所能承担的任务难度大小。
js、css、html三者综合起来占WebGIS岗位技术比为70%(就是满分100分,这里占了70分,看你能拿多少了)。
对于小白,我建议就是先学习html,然后了解一下css,最后好好学习js。学习难度上,html最好学,其次到js入门容易,最后到css,css入门和学好都比较花时间的,需要慢慢来,多练习。而js入门没啥难度,但是学好,熟练,精通就难了。
这里推荐三本书:
《JavaScript权威指南》第六版
《JavaScript高级程序设计》第三版
《CSS权威指南》第三版
初学者不宜看过多类似的书,只需要一种读好,读懂一本就够了,推荐的都是最好的之一。如果在一开始看不到,可以借助一些网站,比如问w3cschool网站手册,或者慕课网的一些视频教程。循序渐进,基础语法掌握后,尝试多做练习。如果不知道做什么,我帮你出题。
2. 至少掌握ArcGIS API for javascript 或者 openlayers一种
作为一名合格的WebGIS开发工程师,这个技能是不可少的。但是不管是arcgis还是openlayers地图框架,都是一个api 库。
这里解释一下什么是API,因为完全小白的人可能不了解。API 可以简单的理解为一个工具箱,里边有锤子、钉子、螺钉、螺母等工具或零件,你做一样东西或者修一样东西需要什么工具,就找到这个工具箱,然后要用锤子就找到锤子使用就行了。这个是最简单的比喻,实际上是有点区别,如果不懂得话,暂且可以这么理解。
要掌握ArcGIS API for javascript 或者 openlayers一种的前提是编程语言JavaScript过关。越熟悉越好。如果你熟悉使用JavaScript,对于ArcGIS API for javascript 或者 openlayers一种就可以做到,边看文档边操作一样的效果了。学习的话就到对应的官网看文档就够了,官方demo也比较详细,没有哪本书做得比官方文档好。这里不推荐书籍。
3. 懂mysql或oracle或postgresql一种
工作上,我们可能会经常做一些业务功能,业务简单的可以理解为增删改查,而这些数据的操作都是基于数据库的。数据库,程序员是必须要掌握熟悉的技能,基本的sql要会写。不管什么数据库,sql语言都很相似,一开始只需要选择一种去学习就够了。首选mysql或oracle。
4. 掌握Arcgis server或者geoserver 发布地图服务并展示
这个是软件层面的使用,真正工作上,可能发布地图服务的工作是技术支持人员操作的,但是,说道学习上,开发人员也是必须要掌握的。
一方面,自己可以安装软件,然后通过学习发布地图服务,有了地图服务,自己可以在程序中调用地图服务,可以做自己的webgis系统,编程练习等;
另一方面,只有了解了地图服务这一层面的知识原理,你才能更好的理解到WebGIS是什么,WebGIS地图是如何展示和工作的。
5. 懂得Java后端语言加分(不强制)
一些小公司可能会把WebGIS开发工程师叫做GIS开发工程师,如果你懂得Java,可能会接触到一些后端开发的工作,接口的书写等。
懂得一门后端编程语言,我个人觉得是比较重要的,对日后学习的理解,前后端工作流程的理解都相当的重要。而且,你可以自己搭后端,自己写前端页面,这样就可以独自一人完成一个网站。
当你有能力一个人完成一个网站的时候,从数据库表结构设计、后端框架搭建、接口设计编码实现,到前端框架搭建、前端编码页面实现,整个过程你会学到很多东西。如果你懂后端了,不知道怎么开发网站,你可以来找我,我指导你去设计,去实现。
当然,小白建议忽略这个技能要求,因为学习前面的技能要花费很多时间,日后你往更深的技术层次追求时,再考虑进去。
写在最后
上边的技能要求,针对的是小白或入门级的,如果你不是这个群体,可以忽略;如果你已经是初级或者中级开发工程师了,但是发现自己有些不足,那你就好好对自己的技术成长路线规划一下。对于未知的技术学习建议:
1. 首先,掌握熟悉你所在公司所使用和涉及的技能
好处:帮助自己更好更快完成工作任务,这样可以减少加班;领导发现你能力不错,对自己也有好处。当然,如果你觉得公司使用的技术比较low,你在混,那建议你尽快离职,不要浪费自己的时间;如果你到哪都是混,那建议你还是转行算了。
2. 不要满足于现状,不管是技术上,还是其他
技术无止境,一个公司的技术栈在长时间内不会变化的,这个时间可能是3年、5年或者10年。
当然,不变化的可能是传统软件公司,或者是小公司。不要觉得你工作几年出去有经验就吃得香了。要有危机感,跟进最新技术发展情况,观察大公司流行使用什么框架技术,自己尝试去学习了解。
也不要找借口说没时间学习,如果把自己玩游戏或看电视剧的时间用在学习上,会是什么样子呢?
原文链接:
gis工程师工资为啥低
不低。GIS开发工程师总体薪酬水平是比较高的,其中最多人拿10-20k/月,占比高达56.3%,其主要原因是职业可替代性低和人才稀缺,因此工资是不低的。GIS工程师岗位职责是Java,组长岗位职责是负责项目系统架构设计工作,组织实施技术可行性验证及技术方案选型工作。