了解WebGIS
什么是gis
Web就是网页,GIS全称是地理信息系统;所以webgis系统就是网页端的地理信息系统,即将地理空间信息以地图的方式在网页端展现出来,做可视化或者是空间分析功能;
为什么会有gis
gis是一门专业课程,大学阶段叫地理信息系统(科学),研究生阶段是地图学与地理信息系统;该专业小众而又专业。
大部分gis专业的学生,在本科阶段,包括c语言、c++、数据结构,c#,VisualStudio等基础技能都会有相关课程教学。
如果上大学知道这专业可以做软件开发的话,那你就比别人早觉悟一步了,但相信大部分人有这觉悟可能已经大三左右了。
往后就是实操技能,接触arcgis二次开发、supermap制图等等;然后是arcgis for js的网页gis二次开发;大学阶段接触开源gis相对比较少,因为还是以课程为主。
目前随着地图渗透在各行各业,只要设计地图的领域都可以定义为GIS。
如何开webgis
gis数据处理
gis中的数据一般有矢量和栅格数据;
首先对shp,geojson等矢量数据格式及其构成要有一定了解;其次可以利用arcgis、supermap、mapgis、qgis等软件操作查看、处理、以及转换数据,软件会用其中一二即可。
栅格数据:就是图片数据,切片数据;常用来发布成底图服务。
gis数据库:mysql,postgis等空间数据库;用来存储空间数据,说白了就是坐标嘛。
gis数据服务发布
常用方式通过地图服务器类似于 ArcGIS Server、geoserver等,将矢量数据或者栅格数据发布成矢量或者栅格数据服务,如果只是发布简单的栅格服务,用nginx等web服务器也是可以的;
gis数据服务调用
当得到一些发布成功的restful服务地址后,我们可以使用各种gis的sdk调用服务;常用的sdk特别多如下。只需要掌握html、css、javascript即可上手使用。
(1)arcgis api for javascript
(2)openlayers
(3)leaflet
(4)mapbox
(5)cesium
gis数据渲染
WebGIS核心价值
gis的核心价值是空间分析能力;目前随着可视化方向的发展,已经开始有所分化;空间分析多在传统GIS行业;可视化的设计范围就相对更广了。
空间分析:包括了路径导航分析,缓冲区分析,叠加分析等等,现在主流的地图引擎,百度,高德,滴滴等都是体现gis空间分析能力的代表,空间分析借助了更多gis传统算法
空间可视化:即将点线面等要素能在地图直观表达出来,然后加上各种酷炫渲染效果;像墨迹天气等结合遥感数据做的天气可视化系统等
webgis发展方向
个人感觉:目前gis在被各行各业逐渐稀释,即所有行业都能涉及gis内容;但是现在最火也比较专业的是CIM,BIM+GIS等方向;咱也知道行业特点是概念先行,实践在后;不过迟早能发展起来的。
二维电子地图:政府项目偏多,因为重点是对gis数据的空间分析功能。
CIM:城市信息模型,顾名思义,范围较大,侧重点在地图大空间下,结合城市级别的模型,进行可视化方向的应用,比如智慧城市;重点在数量级,可视化方向;目前超图,arcgis等都在做。
BIM+GIS:建筑信息模型+gis;咱就简单点,就是将BIM模型以gis支持的格式,在webgis地图中将模型展现在真实地理位置的真实位置上;重点在模型本身,在模型上做概念,比如精度,操作度等;倾斜数据,obj,3dtiles等都可以在地图展示;
气象+gis:将气象反演数据结合地图做展示,主要是区域性的降水,温度,地面填土等方向,仅仅可视化作用,核心部分在遥感数据反演。
数字孪生方向:个人理解,数字孪生未来应更偏向与物联网对接;用高精度的模型,酷炫的场景模型,将真实环境的“实体”通过电脑数字化出来,做到极度逼真;围绕此方向可做的概念也是很多;通俗点说,希望用鼠标操作物理世界;
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等,多多益善。