东营市网站建设_网站建设公司_前端开发_seo优化
2025/12/26 21:55:45 网站建设 项目流程

新手人群

一般来说,学习WebGIS开发的人员有两类。

  • 其中较为庞大的群体是3S(GIS、RS、GNSS)及相关专业的学生或从业人员;

  • 另一类是计算机专业的学生

还有一些其他专业的人士也对进入 WebGIS 开发行业感兴趣,这里不多赘述。

这里重点讲述作为3S专业的学生学习WebGIS的方法和路线。

通常,3S专业的学生在大学期间学习了多门相关课程,如:

  • C语言程序设计与开发

  • 地理信息系统概论

  • GIS 设计与开发

  • 面向对象设计与开发

  • 网页设计与制作

  • 人工智能与专家系统

  • 遥感地学分析

  • 空间数据库和关系数据库等

在此基础上,我们需要了解一些WebGIS开发的编程语言。

编程语言和基础

大家在学校所接触的编程语言也有多种,从C语言到C++、C#、Java等,相信大家都有所接触,其他专业的没接触过的也至少所有耳闻。

但是,这里要跟大家重点说明,毕竟编程语言的选择,非常重要!

虽然C语言是一种面向过程的语言,但在学习WebGIS时,我们主要需要理解面向对象的概念,其次也需要了解函数、类等概念。

一般来说,GIS专业的本科生,通过大学课程的学习,已经掌握了一些 GIS 的理论知识,如:地理信息系统的组成、地理空间数据获取、地理空间数据表达、地理空间数据处理、地理空间数据管理、地理空间数据分析、地图制图与空间可视化等。

同时,也掌握了一些桌面GIS软件,例如ArcGIS、ArcMap的使用。

所有这些理论知识为将来学习WebGIS奠定了基础。

如果有不了解GIS相关的基本知识,很难进行GIS开发;与此同时,WebGIS本质上是基于Web端的地图可视化应用,因此,我们还需要了解Web的基本概念和相关知识。

WebGIS的入门知识

前端三件套

学习WebGIS开发时,我们首先要接触的是Web端开发语言,可能说到这里,很多小伙伴都知道,我们要学习HTML、CSS和JavaScript等前端编程语言。

其中,HTML和CSS相对简单,比较容易上手。

大家可以利用新中地给出的智慧校园、智慧交通等包含前端编程的课程熟悉这几种语言。

学完以后,我们可以很快掌握如何搭建一个网站,并在项目中用我们搭建的网站实现一些功能。

学完HTML\CSS,接下来就是JavaScript,JS相对较难,需要我们花费更多的精力学习。

JS也是我们需要重点掌握的内容,因为如果不熟练掌握JavaScript,后续将很难在项目中进行灵活运用。

Vue.js

Vue.js被定义为一个渐进式的框架。

框架,即framework。其实就是某种应用的半成品,也就是一组组件,程序员可以选用各种框架来完成自己的目标系统。

简单说就是使用别人搭好的舞台,你来做表演;而且,框架一般是成熟的,不断升级的软件。

回到VUE,因为它的几个特性,例如使用简单、规模庞大、速度快和功能广泛,vue的需求量已经很大,是目前前端最流行的框架之一。

Vue的特点在于,相比其他框架,vue的学习曲线短、文档详细,可以提高开发效率,已经成为了前端工程师必不可少的技能之一。

到此,大家一定对这些语言有一定的了解。

接下来,就能初步了解WebGIS开发的基本知识。

WebGIS框架

这一点我们之前重点讲过,没看过的小伙伴可以看下面的详细介绍:

这里我大致提一下,WebGIS开发的引擎分为四大类:

1. Charts可视化图表

主要负责可视化功能,以D3.js,Echarts等为代表。

2. LBS地图开放平台

LBS就是Location Based Service,国内的LBS以高德/谷歌/百度/天地图等为代表。

3.WebGIS商业API

这类也是工作中比较常见的,例如ESRI的ArcGIS API For JS,超图的IClient,中地数码的MapGIS Client for JS,都属于商业API。

4.WebGIS开源API

开源框架是目前使用最多最广泛的,比较出名的就有Leaflet,OpenLayers,Cesium,MapboxGL等。

WebGIS开源框架详解:

openlayers

openlayers是最所有初学者必须要掌握的第一个框架。下面是openlayers的知识图谱,来源网络:

从上图中可以看出,OpenLayers 实现了上百个类,用于对GIS中的各种事物进行抽象表达。

其中 Map,Layer,Source 和 View 是 OpenLayers 框架体系中的核心类,几乎所有动作都围绕这几个核心类展开,以实现地图加载和相关操作.

在Openlayers的体系框架中,把整个地图看作一个容器(Map),核心为地图图层(Layer),每个图层有对应的数据源(Source),并由地图视图(View)进行地图表现。地图容器上还支持一些与用户交互的控件(Control 和 Interaction),另外 Openlayers 还支持事件机制。

总之,OpenLayers 使得在任何网页中放置动态地图变得很容易。它可以显示贴图,矢量从任何来源载入的数据和标记。OpenLayers 已经被开发来进一步使用各种地理信息。它是完全免费的开源JavaScript。

Mapbox

Mapbox是⼀个可以创建各种自定义地图的网站,如 Pinterest、Evernote、Github、500px 等大牌都使用Mapbox创建地图。

Mapbox针对不同平台均开发了相应的GIS引擎以满⾜开发者或相关用户的需要,如:iOS SDK(⽤于iOS端开发)、Android SDK(用于Andriod端开发)、Navigation SDK(用于Navigation端开发)、Unity SDK(用于Unity端开发)、GL JS(用于web端开发)。

不同平台的SDK,除使用⽅式不同外,功能特性上也多多少少存在不同。此外,Uber还针对react开发了 react-map-gl。

总的来说,Mapbox的开源技术栈是⾮常全面的。

Mapbox基本架构

Mapbox GL JS (mapbox graphics library javascript)的核心特点是客户端渲染,在Mapbox GL JS中创建web应用时,通过Javascript和WebGL把地图作为 vector tiles(矢量瓦片)进行渲染。

相比将服务器的一系列切片图片组合起来再显示,Mapbox GL JS 渲染可以快速改变样式,使得地图的呈现更加多样化。

Mapbox知识图谱

Cesium

Cesium是一款使用JavaScript开发的基于WebGL的,能够实现三维地球和地图可视化的JS库。

Cesium支持海量的三维模型数据、影像数据、地形高程数据、矢量数据等丰富的地理数据的加载。在交通,规划,城市管理,地形仿真等领域有非常广泛的应用。

前面也给大家反复介绍过cesium,它是目前功能最齐全的三维GIS开发框架,也是在就业过程中,企业最看重、面试最容易被考核的一个。

Cesium是一个跨界SDK,涉及三个知识领域

◆Web前端

◆计算机图形学

◆地理信息系统 (GIS)

编辑

初学者刚接触Cesium时,看到它的文档,可能会被震惊到。

毕竟cesium库中的类实在是太多,每一个类又有大量的函数和属性,而且官网的文档又是英文,这给我们学习GIS开发的同学带来了极大的困扰。

但是接触多了,我们会发现,其实Cesium开发文档里边的好多类属性和方法都是一样的。比如,在Cesium中,一个非常重要的类是Viewer。

如果要使用Cesium创建一个三维窗口,几乎无法避免使用Viewer类。因为它代表了Cesium的三维窗口。

如果你对GIS开发感兴趣,这里有海量的webgis开发实战案例和课程,不管你是0基础初学者,还是想深入学习进阶提升,这里都能找到适合你的内容。

新中地有哪些适合你的教程?

0基础教程:

适合毫无前端基础,完全没有接触过编程的同学从0开始学习。

  • 智慧校园

  • 智慧交通

弱基础同学:

适合有一定前端基础,没有接触过组件化开发以及对webgis框架不熟悉的的同学,可以进一步提升对前端框架以及GIS开发框架的熟练度。

  • VUE教程

  • 智慧机场

  • 智慧地铁

  • openlayers系列课程

  • mapbox系列课程

  • cesium系列课程

  • threejs实战教程

进阶教程:

适合有较高的前端以及webgis编程基础,且有良好的三维gis开发基础,了解cesium编程的基础知识,想进一步细化和提升编程能力的同学。

  • cesium高阶教程

  • promise异步编程

不管你是学生,想制作webgis相关的项目完成期末作业,或想趁这个寒假,入门GIS开发,与其他人拉开距离;

还是打工人,想加强自己的编程能力,转行GIS开发,明年给自己一个新的开始。

上述webgis精品教程千万不要错过哦!

+下方↓↓小助手

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询