已被阅读 3034 次 | 文章分类:gis随笔 | 2024-03-01 22:50
从GIS这门学科到应用简要阐述一些webgis技能的学习和就业历程;包括数据处理、服务发布、数据渲染、可视化、空间处理等方面
1 本文简要
2 WebGIS
Web就是网页,GIS全称是地理信息系统;所以webgis系统就是网页端的地理信息系统,即将地理空间信息以地图的方式在网页端展现出来,做可视化或者是空间分析功能;
3 GIS背景
gis是一门专业课程,大学阶段叫地理信息系统(科学),研究生阶段是地图学与地理信息系统;该专业小众而又专业。
大部分gis专业的学生,在本科阶段,包括c语言、c++、数据结构,c#,VisualStudio等基础技能都会有相关课程教学
如果上大学知道这专业可以做软件开发的话,那你就比别人早觉悟一步了,但相信大部分人有这觉悟可能已经大三左右了。
往后就是实操技能,接触arcgis二次开发、supermap制图等等;然后是arcgis for js的网页gis二次开发;大学阶段接触开源gis相对比较少,因为还是以课程为主
目前随着地图渗透在各行各业,只要设计地图的领域都可以定义为GIS 🙈。
4 如何入门WebGIS开发
想成为比较专业的giser,最起码从gis数据处理,gis数据服务发布,gis数据服务调用,gis数据渲染这四个方向入手;
👉1 gis数据处理
gis中的数据一般有矢量和栅格数据;
首先对shp,geojson等矢量数据格式及其构成要有一定了解;其次可以利用arcgis、supermap、mapgis、qgis等软件操作查看、处理、以及转换数据,软件会用其中一二即可
栅格数据:就是图片数据,切片数据;常用来发布成底图服务。
GIS数据库:mysql,postgis等空间数据库;用来存储空间数据,说白了就是坐标嘛。
👉2 gis数据服务发布
常用方式通过地图服务器类似于 ArcGIS Server、geoserver等,将矢量数据或者栅格数据发布成矢量或者栅格数据服务,如果只是发布简单的栅格服务,用nginx等web服务器也是可以的;
👉3 gis数据服务调用
当得到一些发布成功的restful服务地址后,我们可以使用各种gis的sdk调用服务;常用的sdk特别多如下。只需要掌握html、css、javascript即可上手使用
(1)arcgis api for javascript
(2)openlayers
(3)leaflet
(4)mapbox
(5)cesium
。。。
👉4 gis数据渲染
一种是利用sdk调用地图服务器发布的restful服务,通过指定APi渲染;
一种是直接将txt,geojson,wkt等格式的gis数据,通过sdk绘制几何图形的方法将其绘制在网页地图;
5 WebGIS核心价值
gis的核心价值是空间分析能力;目前随着可视化方向的发展,已经开始有所分化;空间分析多在传统GIS行业;可视化的设计范围就相对更广了
空间分析:包括了路径导航分析,缓冲区分析,叠加分析等等,现在主流的地图引擎,百度,高德,滴滴等都是体现gis空间分析能力的代表,空间分析借助了更多gis传统算法
空间可视化:即将点线面等要素能在地图直观表达出来,然后加上各种酷炫渲染效果;像墨迹天气等结合遥感数据做的天气可视化系统等
6 WebGIS应用方向
👉个人感觉:目前gis在被各行各业逐渐稀释,即所有行业都能涉及gis内容;但是现在最火也比较专业的是CIM,BIM+GIS等方向;咱也知道行业特点是概念先行,实践在后;不过迟早能发展起来的
👉二维电子地图:政府项目偏多,因为重点是对gis数据的空间分析功能
👉CIM:城市信息模型,顾名思义,范围较大,侧重点在地图大空间下,结合城市级别的模型,进行可视化方向的应用,比如智慧城市;重点在数量级,可视化方向;目前超图,arcgis等都在做
👉BIM+GIS:建筑信息模型+gis;咱就简单点,就是将BIM模型以gis支持的格式,在webgis地图中将模型展现在真实地理位置的真实位置上;重点在模型本身,在模型上做概念,比如精度,操作度等;倾斜数据,obj,3dtiles等都可以在地图展示
👉数字孪生方向:个人理解,数字孪生未来应更偏向与物联网对接;用高精度的模型,酷炫的场景模型,将真实环境的“实体”通过电脑数字化出来,做到极度逼真;围绕此方向可做的概念也是很多;通俗点说,希望用鼠标操作物理世界
7 WEBGIS职业发展
👉 1 数据处理及制图方向(软件操作)
gis数据种类较多,可以做数据处理,数据转换,数据清洗,数据服务发布,专题制作出图等工作;技能我觉得对常用的gis软件操作熟悉,arcgis, supermap,mapgis,udig等等,熟悉其中常用转换工具,符号化,专题图制作流程即可;
该工作适合对编程,程序不感冒同学;女生具多,比较合适;
👉 2 二次开发(桌面端-C端-Client)
二次开发,比较多的是arcgis eninee二次开发;这工作就是利用arcgis的开发包,实现arcgis中的功能,针对不同项目,不同业务定制实现对应的功能;
大学一直从事二次开发的同学可以继续做;不过目前岗位较少;掌握技能:c#
👉 3 webgis开发(网页脚本开发)
新手入门最快的方向;只要熟练引用sdk库开发地图功能,就可以做一些gis渲染相关的项目;
做一些基础的空间分析或者空间可视化系统;目前各大地图厂商也陆续推出自己的可视化sdk,但都是局部,部分定制功能,适合gis系统锦上添花;入门gis开发最好先从以下技能开始
二维:openlayers,leaflet,arcgis api for js 3.x,mapbox 实现原理:canvas ,image
三维:cesium,arcgis api for js 4.x ,mapboxgl 实现原理:webgl
2.5D:mapbox
掌握技能:html css javascript ,一点canvas webgl技能,geoserver,turfjs等,多多益善。
👉 4 sdk引擎开发
上面的工作都是对sdk的使用,通过sdk来做项目;很多公司,有一定规模后,会实现自己的sdk;
一种:大公司,从零实现地图引擎,需要技能较高,难度大;熟练canvas和webgl开发
一种:小公司,封装造轮子开源的sdk,做二次封装,对sdk源码有一定理解即可;
熟练掌握技能:canvas webgl 数学能力,偏向于矩阵等算法
QQ:3410192267 | 技术支持 微信:popstarqqsmall
Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号