什么是GIS开发?
GIS开发分为桌面端、web端和移动端。
1)桌面端
早期GIS软件桌面端主要应用于国防、自然资源和城市规划等;
GIS开发主要集中在桌面端,以C/S架构为主(client/server)
2) WebGIS
随着web技术的发展,越来越多的应用转向B/S架构,将传统和GIS和web技术结合,实现跨平台,多系统的分布式云GIS; 利用前端可视化技术将地理信息更好的展示和交互,提供更便捷的云服务。
3) 移动GIS
随着移动互联网的兴起,涌现了大量基于手机GPS和LBS服务的App,像高德地图,美团外卖,京东物流,滴滴...
这些都是将日常生活和GIS相结合的典型案例。
什么是WebGIS开发?
WebGIS是指:将前端可视化技术与GIS技术结合,提供更好的信息展示和用户交互 。
近年来,前端技术日新月异,突飞猛进,发展十分迅速,尤其是以canvas和webGL为代表的前端可视化技术不断完善。
- 实现了很多酷炫的效果
- 提供了良好的用户交互
Web前端技术和GIS技术深度融合,涌现出了大量优秀的框架,如
- 处理二维GIS的 openlayers leaflet
- 处理三维GIS的MapBox GL CesiumGL 框架的出现,为开发者提供了极大的便利
同时,webGIS和云计算,分布式架构结合,形成GIS云平台 GIS云平台的出现
- 简化了开发流
- 降低了开发成本
- 提升了开发效率
其中,甶中地数码集团推出的GIS云平台,就是典型的代表。除了提供“高可用”、“高稳定” 的云服务外,一直坚持全国产化体系,建立了良好的开发生态。
为什么选择学习WebGIS?
我们知道,GIS开发主要有三个方向
- 桌面GIS
- webGIS
- 移动GIS
那么,为什么推荐大家从webGIS开发入手昵?主要有以下几个原因:
1)上手快
Web技术主要包括(HTML/CSSAJavaScript),相比于其它技术和编程语言(比如C++/Java)而言
- 难度较低
- 上手更快
- 成就感更大
甶于web技术所见即所得,能马上看到效果,更直观,更有趣;
对于GIS相关专业的同学而言,大部分是没有计算机和编程基础的,webGIS就是一个非常好的切入点。
2)需求大
目前,webGIS产业规模大,大量岗位空缺,众多GIS公司招不到合适的开发人才;而国内大部分高校在培养人才上更加偏重理论培养,重视GIS开发的高校并不多,这样导致人才的缺口是很大的。
3) 发展好
不同于传统的做遥感,数据采集的企业,webGIS开发不用长期的出差和野外作业,更多是在写字楼办公室里编码,也不同于传统的互联网企业,WebGIS开发一般没有长期的996,工作压力相对会小一点。
如何学习webGIS开发?
1)开发难不难
大家最关心的一个问题,可能就是webGIS开发难不难,自己能不能学会。
首先,做任何事都会有一些难度和挑战。
但是也没有大家想像中的那么难. 最重要的是有好的学习方法和学习心态
2)学习方法
提到学习方法,不得不给大家提一个人——斯科特•杨(scott)
他用一年的时间学完了 MIT(麻省理工)四年的计算机课程,而且每天只学习不超过2个小时
那么,他是怎么做到的呢?
这里,我结合他的思想和多年的教学经验,总结了几点
- 整体性学习
- 建立联系
- 独立思考
- 强化练习
3)学习心态
好的学习心态也是必要的保障. 这里有两种不同的心态
结果型心态::关注最终的结果;
过程型心态:关注做的过程;
1、结果型心态
如果仅仅只关注最终的结果,就好像背着石头爬山。负重前行,时刻都处于压力之路,哪怕最后到了终点,可能会因为目标的达成而感觉轻松,但是不会是真正的快乐。
这种心态的幸福感是:从负到0。
2、过程型心态
如果能够在做事的过程中,享受做事本身的快乐,多关注自己的每一点进步。
这种心态的幸福感是:从0到正无穷。
学习路径
WebGIS是两个方向的结合。
首先,要了解web的基础知识 HTML/CSS/JavaScript,然后,学习前端工程化,了解常用的前端框架 vue react 最好能做1-2个完整的练手小项目,项目不用很大,但是项目流程完整。
当建立了初步的编程思想后,再学习GIS相关的框架
二维:openlayers
三维:cesium
GIS框架本质上来讲,使用的依然是JavaScript做为编程语言,结合HTML和CSS在地图场景的具体应用。