专题一:WebGIS基础理论与架构
专题二:空间数据管理与服务发布
专题三:Web前端开发基础
专题四:WebGIS客户端开发
专题五:服务器端开发与数据库交互
专题六:GIS软件与应用专题
专题七:三维GIS与高级可视化
专题八:企业级项目实战与部署
这是整个WebGIS学习的基石,旨在帮助学员建立对WebGIS宏观图景和核心概念的理解。
培训对象:GIS相关专业的学生、刚转入WebGIS领域的从业者、需要与技术人员沟通的项目管理人员。
培训目标:理解WebGIS的基本原理、发展历程和技术架构,掌握互联网基础与地理空间基础的结合点,为后续技术学习打下坚实的理论基础。
培训内容:
WebGIS定义、发展历程及其与传统桌面GIS的区别与联系
地理空间数据基础:矢量数据、栅格数据、属性数据的定义与特点
坐标系统与地图投影:地理坐标系、投影坐标系的概念,以及在国内常用坐标系下的应用
网络基础:客户端与服务器架构、HTTP/HTTPS协议、URL构成与请求响应机制
分布式GIS概念:了解胖客户端与瘦客户端的区别,以及进程在客户端和服务器的分布策略
OGC开放标准:介绍Open Geospatial Consortium及其制定的WMS、WFS、WMTS、WCS等标准服务
网络地图发布原理:静态地图发布与动态地图发布的策略及优劣对比
云GIS基础:了解云计算在GIS中的应用,如基础设施即服务、平台即服务、软件即服务模式
空间数据基础设施:了解构建国家级或企业级地理信息共享平台的基本框架
众源地理信息:了解公众参与的地理信息采集模式及其应用与局限性
WebGIS典型应用场景:通过智慧城市、环境监测、农业、城市规划等案例理解WebGIS的实际价值
行业伦理与法律:了解WebGIS应用中的隐私、数据安全及版权问题
本专题聚焦于WebGIS的数据层,学习如何存储、管理地理数据并将其发布为标准网络服务。
培训对象:数据库管理员、GIS数据处理人员、准备向全栈发展的WebGIS开发者。
培训目标:掌握空间数据库的基本操作,能够独立部署主流GIS服务器,并将矢量/栅格数据发布为符合OGC标准的网络服务。
培训内容:
空间数据库选型:介绍PostgreSQL/PostGIS、MySQL Spatial等开源及商业空间数据库
PostGIS实战:安装PostgreSQL与PostGIS插件,创建和管理空间数据库
数据导入与导出:使用命令行或图形化工具将Shapefile等数据导入PostGIS,并进行简单的结构化查询语言查询
GIS服务器介绍:主流服务器对比及其适用场景
GeoServer安装与部署:在Tomcat或Jetty等Servlet容器中部署GeoServer,完成基础配置
数据源配置:在GeoServer中连接PostGIS空间数据库,并添加Shapefile等文件数据源
图层发布:将空间数据发布为WMS和WFS等标准服务
服务样式设计:使用QGIS设计图层样式,导出为样式描述符文件,并导入GeoServer应用于图层
地图瓦片技术:理解静态瓦片与矢量瓦片的原理,配置GeoServer进行瓦片缓存以提升地图加载速度
服务性能优化:学习使用CQL过滤器按需请求数据,以及配置GZIP压缩等技术提升服务响应效率
ArcGIS Server与ArcGIS Online基础:了解Esri平台的服务发布流程,包括本地部署服务和云服务模式
服务元数据管理:学习如何为发布的服务添加描述、关键词等元数据,方便服务发现与管理
由于WebGIS最终呈现在浏览器中,本专题为没有编程基础的GIS从业者补充必要的前端开发技能。
培训对象:具有GIS背景但缺乏编程经验的学生或从业者、希望转行WebGIS的前端新手。
培训目标:掌握HTML、CSS和JavaScript的核心语法,理解文档对象模型和事件机制,能够编写简单的动态网页。
培训内容:
HTML5基础:掌握文档结构、常用标签及语义化标签的使用
CSS3样式:学习选择器、盒模型、Flexbox和Grid布局,实现页面的美观与响应式设计
JavaScript核心语法:变量、数据类型、运算符、流程控制
JavaScript函数与作用域:函数的定义与调用,全局与局部作用域的理解
文档对象模型操作:理解文档对象模型树结构,使用JavaScript获取、创建和修改页面元素
事件处理:学习鼠标点击、移动等事件监听与处理,实现页面交互
JSON数据格式:理解JSON的语法结构,掌握JavaScript中JSON的解析与字符串化
AJAX基础:学习使用XMLHttpRequest或Fetch API实现客户端与服务器的异步数据通信
jQuery库入门:了解jQuery的选择器、事件处理和AJAX简化写法,提升开发效率
Bootstrap框架:学习使用Bootstrap的栅格系统和组件,快速构建美观且移动友好的界面
前端调试:使用浏览器开发者工具进行代码调试和网络请求分析
前端构建工具简介:了解npm、Webpack等现代前端工程化工具的基本概念
本专题是WebGIS开发的核心,学习如何利用各种地图API在网页上创建功能丰富、交互性强的地图应用。
培训对象:已完成前端基础学习,希望专门从事Web地图应用开发的学员。
培训目标:熟练掌握至少一种主流WebGIS API,能够实现地图加载、数据叠加、查询检索和基础绘图功能。
培训内容:
WebGIS API概览:对比主流API的特点与选型
Leaflet入门:快速搭建第一个地图应用,学习图层切换、缩放和平移控制
Leaflet插件生态:学习使用Leaflet插件实现热力图、标记聚类、测量工具等扩展功能
OpenLayers核心概念:理解Map、View、Layer、Source、Feature等核心对象及其关系
OpenLayers数据源加载:加载OSM、XYZ瓦片,以及通过WMS/WFS协议加载GeoServer发布的服务
OpenLayers矢量图形绘制:实现点、线、面的鼠标绘制功能,并处理绘制完成的事件
Mapbox GL JS基础:学习矢量瓦片的加载与渲染,使用Mapbox Studio设计自定义地图样式
ArcGIS API for JavaScript入门:在Esri生态下创建2D地图,加载ArcGIS Server发布的服务和ArcGIS Online数据
地图交互与查询:实现点击地图要素弹出信息窗,并基于属性或空间条件查询要素
前端数据可视化:将GeoJSON数据加载到地图,并创建热力图、聚合图等高级可视化效果
Web地图与前端框架集成:了解如何在React、Vue或Angular现代前端框架中嵌入地图组件
浏览器端性能优化:学习矢量瓦片渲染优化、减少重绘次数、合理控制数据加载量等技巧
要实现数据的动态读写和业务逻辑,必须拥有后端开发能力。本专题讲解如何构建WebGIS的后端服务。
培训对象:希望成为全栈WebGIS开发者的前端工程师或GIS分析师。
培训目标:掌握一种服务器端语言,能够编写接口处理前端请求,并与空间数据库进行交互,实现数据的增删改查。
培训内容:
服务器端语言选型:对比PHP、Python、Node.js在WebGIS开发中的优劣
PHP基础语法:变量、函数、数组、超全局变量的学习
构建简单的RESTful API:设计URL路由,接收前端AJAX请求,并返回JSON格式数据
后端连接PostGIS:使用PHP的PDO扩展或Node.js的pg库连接和操作PostgreSQL/PostGIS数据库
空间SQL实战:编写SQL语句执行空间查询,并将结果集转换为GeoJSON格式返回给前端
实时数据操作:实现从前端提交数据,后端接收后写入数据库的完整流程,并支持数据的更新和删除
Web服务安全:学习基础的API密钥验证、用户登录会话管理,防止SQL注入等常见安全漏洞
文件上传处理:实现Shapefile或GeoJSON文件的上传,并在后端进行解析和入库
Python在GIS后端的应用:使用GeoPandas等库处理地理数据,并结合Flask框架提供API服务
中间件与CORS:理解跨域资源共享问题,并在后端配置中间件解决跨域请求
应用部署基础:学习将后端应用部署到云服务器,并配置Nginx或Apache作为反向代理
微服务架构初探:了解将复杂GIS功能拆分为独立微服务的理念
本专题聚焦于主流GIS软件的操作与应用,涵盖桌面端、服务器端和云平台的全方位技能。
培训对象:GIS数据处理人员、项目实施工程师、希望掌握商业软件平台的从业者。
培训目标:熟练掌握ArcGIS平台和QGIS等主流GIS软件的操作,能够独立完成数据生产、处理、制图和服务发布全流程。
培训内容:
ArcGIS Pro基础:界面布局、工程管理、数据加载与浏览、地图符号化与标注
ArcGIS Pro空间分析:缓冲区分析、叠加分析、邻域分析等常用空间分析工具的使用
ArcGIS Pro制图输出:布局设计、地图整饰、导出高精度地图图片与PDF
ArcGIS Server安装与配置:在Windows/Linux环境下部署ArcGIS Server,站点创建与安全管理
ArcGIS Server服务发布:将地图文档和地理处理工具发布为网络服务,配置服务参数与缓存
ArcGIS Online入门:创建组织、管理成员、上传数据、创建Web地图和应用程序
Portal for ArcGIS部署:搭建企业级地理信息门户,实现数据共享与协作
QGIS基础操作:开源GIS软件的界面、数据加载、矢量编辑与属性表操作
QGIS高级应用:使用QGIS处理复杂数据、制作专题图、运行地理处理算法
QGIS与PostGIS协同:在QGIS中直接连接和编辑PostGIS数据库,实现数据双向同步
数据处理工具箱:FME Desktop基础,使用可视化工作流实现复杂数据格式转换与清洗
软件集成实践:QGIS编辑数据、PostGIS存储、GeoServer发布、ArcGIS Online可视化的全流程演练
随着技术的发展,三维GIS和数字孪生成为市场热点。本专题旨在提升学员的竞争力。
培训对象:已完成基础全栈学习,希望从事智慧城市、数字孪生或特定行业高级应用的开发者。
培训目标:掌握三维地球/场景的构建方法,能够开发具有沉浸感的WebGIS应用。
培训内容:
三维GIS基础:理解三维数据表达方式,以及三维坐标系的概念
CesiumJS入门:学习加载三维地球、添加影像图层和地形图层
三维模型加载:在Cesium中加载3D Tiles数据,实现模型的拾取与定位
Mapbox GL JS三维特性:学习3D地形、挤压几何体的设置与展示
ArcGIS平台三维能力:使用ArcGIS API for JavaScript加载3D场景和Web场景,进行三维分析
ArcGIS CityEngine基础:使用CityEngine快速生成大规模城市建筑模型
倾斜摄影数据处理:使用ContextCapture或大疆智图处理倾斜摄影数据,生成三维模型
ArcGIS Pro三维建模:在Pro中创建3D要素、进行三维编辑和可视化
实时数据流可视化:将实时GPS数据或物联网传感器数据接入三维场景,实现动态更新
数字孪生场景构建:融合BIM模型与GIS数据,构建建筑与周边环境的数字孪生
虚拟现实与增强现实初探:了解WebXR标准在GIS可视化中的潜在应用
矢量瓦片高级定制:使用Tippecanoe等工具自定义生成矢量瓦片,实现海量数据的流畅渲染
本专题作为课程的收官之作,模拟真实企业项目开发流程,综合运用前七个专题的知识,解决一个完整的实际业务问题。
培训对象:即将求职或入职的学员,希望积累真实项目经验的开发者。
培训目标:能够独立或在团队中完成一个WebGIS项目的需求分析、设计、开发、测试到部署上线的全流程,并掌握项目文档撰写和汇报能力。
培训内容:
项目需求分析:模拟真实客户需求,撰写需求规格说明书,确定技术栈选型
系统架构设计:设计系统的整体架构图,包括数据层、服务层、应用层和用户层
开发环境搭建与版本控制:使用Git进行代码版本管理,搭建统一的团队开发环境
数据库设计与建模:根据业务需求设计PostgreSQL/PostGIS数据库表结构,并建立空间索引
服务端API开发与测试:编写业务逻辑接口,并使用Postman等工具进行测试
前端界面与交互实现:开发美观且易用的用户界面,实现地图展示、数据查询、图表联动等功能
功能联调与集成测试:前后端联调,解决跨域、数据格式不一致等问题,进行完整的业务流程测试
性能压力测试:模拟多用户并发访问,测试系统响应时间和服务器负载,找出性能瓶颈
系统部署与上线:将项目部署到云服务器,配置域名和HTTPS证书
项目文档撰写:撰写完整的技术文档和用户操作手册
成果演示与答辩:模拟项目汇报会,向客户演示项目成果,并进行答辩