基于webgis开发(WebGIS开发入门)
目录
一 WebGIS:
二 GIS背景
三 如何入门webgis开发
1 gis数据处理
2 gis数据服务发布
3 gis数据服务调用
4 gis数据渲染
四 WebGIS核心价值
五 webgis发展方向
六 gis开发就业方向
1 数据处理及制图方向(软件操作):
2 二次开发(桌面端-C端-Client)
3 webgis开发(网页脚本开发)
4 sdk引擎开发
小白新手,可以从该框架入手学习
一 WebGIS:
Web就是网页端,GIS全称是地理信息系统;所以webgis系统就是网页端的地理信息系统,简单点说将地理空间信息以地图的方式在网页端展现出来,做可视化或者是空间分析功能;
二 GIS背景
gis是一门专业课程,大学阶段叫地理信息系统(科学),研究生阶段是地图学与地理信息系统;该专业真是小众但又非常专业。
大部分gis专业学生,相信本科阶段,c语言 c++ 数据结构,c#,visualStudio等基础技能都有相关教学学习;
如果上大学知道这专业可以做软件开发的话,肯定会好好学了。相信大部分人反应过来之时已经是大二,大三往后了吧
后续先接触arcgis 二次开发,supermap制图等等;然后是arcgis for js的网页gis二次开发;接触开源gis比较少;
目前随着地图渗透在各行各业,可以这么定义只要设计地图的领域都可以称之为GIS领域;
三 如何入门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即可使用
arcgis api for javascript
openlayers
leaflet
mapbox
cesium等
4 gis数据渲染
一种是利用sdk调用地图服务器发布的restful服务;
一种是直接将txt,geojson,wkt等格式的gis数据,通过sdk的方法将其绘制在网页地图;
四 WebGIS核心价值
gis的核心价值是空间分析能力;准确点是空间分析和空间可视化
空间分析:包括了路径导航分析,缓冲区分析,叠加分析等等,现在主流的地图引擎,百度,高德,滴滴等都是体现gis空间分析能力的代表,空间分析借助了更多gis传统算法
空间可视化:即将点线面等要素能在地图直观表达出来,然后加上各种酷炫渲染效果;像墨迹天气等结合遥感数据做的天气可视化系统等
五 webgis发展方向
目前个人感觉;gis目前在被各行各业逐渐稀释,即所有行业都能涉及gis内容;但是现在最火也比较专业的是CIM,BIM+GIS等方向;咱也知道,咱们的特点是概念先行,实践在后,不过迟早能发展起来的;
二维电子地图:政府项目偏多,因为重点是对gis数据的空间分析功能展示。
CIM:城市信息模型,顾名思义,范围较大,侧重点在地图大空间下,结合城市级别的模型,进行可视化方向的应用,比如智慧城市;重点在数量级,可视化方向;目前超图,arcgis等都在做。
BIM+GIS:建筑信息模型+gis;咱就简单点,就是将BIM模型以gis支持的格式,在webgis地图中将模型展现在真实地理位置的真实位置上;重点在模型本身,在模型上做概念,比如精度,操作度等;倾斜数据,obj,3dtiles等都可以在地图展示;
气象+gis:将气象反演数据结合地图做展示,主要是区域性的降水,温度,地面填土等方向,仅仅可视化作用,核心部分在遥感数据反演。
数字孪生方向:个人理解,数字孪生未来应更偏向与物联网对接;用高精度的模型,酷炫的场景模型,将真实环境的“实体”通过电脑数字化出来,做到极度逼真;围绕此方向可做的概念也是很多;通俗点说,希望用鼠标即可操作物理世界;
六 gis开发就业方向
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 数学能力,偏向于矩阵等算法。
小白新手,可以从该框架入手学习。
本文关键词:基于webgis开发(WebGIS开发入门),更多GIS开发/WebGIS开发/GIS地图/三维建模/无人机建模/电子地图制作/报价请联系客服
转载请注明出处:基于webgis开发(WebGIS开发入门)—http://www.webgis.net.cn/p/64.html