GISer有自己的技术提升路径,如果想在GIS这条路上一直走下去,请不要忘记抬头看路。
不同于java工程师、前端工程师等有明确的编程语言,GISer的工作更像一个全栈工程师。js、java、C#、Android、python好像都要会一些,但好像哪个都不是很精通。
这时候GISer经常会迷茫,我应该深入学习哪个,我应该向哪个方向努力,我应该如何提升自己。
身边有很多GIS专业的朋友,很多都不再做GIS了,有去做Java的,有去搞前端的。一个已经转Java的朋友,在聚会时抱怨,毕业后去搞GIS就是个错误,应该直接去搞Java。
造成这种现象的原因有很多,其中一个原因是,大家很容易用软件开发人员的标准去衡量一个GIS开发的价值,包括GISer自己也经常这样想。
GISer的价值
那应该用什么标准来衡量GISer的价值呢?
我们不妨换个角度来思考
编程语言、专业软件其实都只是个工具,关键是你能用这些工具解决什么问题
GISer的使命就是用这些工具去解决地图相关的问题
解决地图问题的难度等级,就能反应了一个GISer能力
解决地图问题所创造的价值,就形成了一个GISer的价值
该学什么
当自己不知道该学什么的时候,不妨看看有哪些GIS问题是自己解决不了的
下面随便列举了一些常见的地图问题,大家可以做个参考
- 业务系统中有个功能,需要在地图上标记一下位置。
- 还是上面的需求,系统在内网部署,不能访问互联网。
- 客户有大量的测绘数据,需要个网页系统展示。
- 这些测绘数据要能在网页系统中修改。
- 上面的数据,还需要一个CS系统对数据进行检查、分析。
- 还需要一个手机端,查看数据,并能上报错误。
- 还需要一个大屏展示系统,用三维GIS展示数据。
- 三维GIS展示系统要炫酷,要看上去向电影的那种。
- 还是上面的需求,公司为了降低项目成本,决定使用开源GIS软件实现。
- 送货的司机,用高德地图一次只能导航一个目的地,他想要一次导航多个,还要能避开早晚高峰。
- 通过机器学习,自动从遥感影像上提取建筑物、道路、绿地、河流等矢量数据。
- 公司决定打造一套自己的互联网地图,对标百度地图、高德地图
- 。。。
还有一种方法就是,多去求职网站上看看,对GIS开发的技术要求,再结合薪资对比一下,你就知道该学什么了
技术提升路径
分享一下我自己总结的GISer技术提升路径,颗粒度比较粗,仅供大家参考
我觉得GISer的技术提升路径可以分为四个大的阶段
阶段一,能使用商业GIS软件去解决问题。
比如ArcGIS,超图等。
阶段二,能使用开源GIS软件去解决问题
这里并不是说开源GIS比商业GIS厉害,恰恰相反,开源GIS软件不像商业软件有完善的说明文档,和强大的技术支持团队,很多东西需要自己去研究摸索。
所以开源GIS是对GISer的要求更高,需要GISer有更强的开发能力,对GIS的原理要有更深的理解。
还有就是开源GIS能让你有机会接触到GIS底层的代码,对能力提升有很大的帮助。
阶段三,有能力去解决开源GIS中的问题
这个阶段你会发现网上已经没有了那么多现成的答案,你开始习惯去翻看英文资料。
开源GIS的源码,也从之前天书一般,慢慢变得亲切起来,能够看懂其中的来龙去脉。
你开始能够解决开源GIS软件中的bug,开始能够为开源GIS贡献力量。
这说明你开始慢慢具备了GIS底层的开发能力。
阶段四,有能力去解决GIS行业前沿问题
这个阶段已经没有太多现成的GIS资料,更多的是需要研究计算机知识、数学知识和GIS理论知识,你要去把它们整合起来,利用这些知识和工具,去解决没有人解决过的问题。
这是很耗精力的一件事,你只能根据自己的兴趣,把精力聚焦在某个方向上,比如提升地图的展示效果,或者提高矢量地图的生产效率等,只要在某个小点上有所突破,你就会有无比的成就感。
这个阶段,你的关注点又重新回到计算机领域,不同的是这次你目标清晰,不再迷茫。
最后
还想多说一句,GISer的现状通常是一半的GIS开发,一半的全栈开发,然后天天在做项目。
把时间花在哪里,就会在哪里有收获,如果想一直做GIS,请在GIS开发上多花时间。
最后,想提醒各位GISer,也包括我自己
GISer有自己的技术提升路径,如果想在GIS这条路上一直走下去,请不要忘记抬头看路。
原文地址:http://gisarmory.xyz/blog/index.html?blog=GISerMission
关注WX《GIS兵器库》, 第一时间获得更多高质量GIS文章。
本文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名《GIS兵器库》(包含链接: http://gisarmory.xyz/blog/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。