大一地信新生,如何从0规划学习WebGIS开发!附通关攻略

2024-09-02 16:20

本文主要是介绍大一地信新生,如何从0规划学习WebGIS开发!附通关攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于学习WebGIS开发,很多GIS专业的学生,从大一开始苦恼从哪里入手?内容太多,不知道什么是重点?不了解企业实际应用情况,怕所学非所用。关于这一点,小编通过本文详细介绍一下!

WebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Internet 上地理信息发布、共享和交流协作的基础。

简单说就是Web技术加GIS技术,通过Web进行构建应用,通过GIS手段实现各类空间信息相关的功能,因此,对于WebGIS的学习路径,首先应从Web开发及GIS理论知识学起。

一、GIS理论知识

理论基础能够决定技术之路能走多远

GIS开发人员应具有一定的GIS理论基础,在开发中常见的地图坐标系,如大地坐标系统WGS-84、火星坐标系统GCJ-02、百度坐标系统BD-09等,常见的地图投影方法如墨卡托投影、高斯-克吕格投影等,以及常用的空间分析功能及其作用,如缓冲区分析、可达性分析、最短路径分析等,这些应该了解一下,最好在大一、大二就掌握清楚,打好基础!

1.理解GIS理论,如地图坐标系、投影、空间分析等概念

2.熟悉OGC标准,如WMS、WMTS、WCS、WFS等

3.深入理解地图可视化及相关知识

4.深刻理解地图切片原理

5.熟悉WebGIS体系结构

6.掌握地理数据处理能力

7.了解GIS相关数据格式

理论入门推荐书籍,仅供参考

主要是这些书,小编可以免费分享:

《地理信息系统导论》

《GIS空间分析指南》

《GIS 基础知识:地理信息系统的第一本书》

《制图:专题地图设计》

《地理信息系统概论》

《了解 Web GIS》

GIS开发资料全部分享icon-default.png?t=N7T8https://docs.qq.com/doc/DRmxxaVhpbGJXSGho?u=5295a88d71d8480d971da4e3334ee913

二、GIS软件使用

软件的熟练程度,是考察一个GIS工程师的标准之一

GIS软件的种类非常多,而且功能相对复杂,部分软件需要花时间学习才能熟练操作。

但是对地理信息科学专业来说,日常经常用到的软件主要有CAD制图,PS设计软件,MapGIS、ArcGIS、QGIS、谷歌地球等GIS类软件,以及ENVI、Erdas等遥感图像处理软件这些专业软件,Smark3D、Benlder、3DMAX等三维建模软件。

了解 GIS 软件,有可以使我们的GIS开发工作更轻松、更快,它们还可以充当测试环境,关键是很多GIS软件的底层原理是相通的,一通百通。

三、从前端入门GIS开发

在WebGIS的学习中,Web开发技术尤为重要,是整个项目的基础。

1.掌握前端三件套

对于Web端学习,只要把 HTML + CSS + JavaScript 这前端三件套学好,就基本差不多入门前端了,并且可以利用这三门知识,进一步学习前端框架,达到更高的开发效率。

对于GIS开发,重点掌握HTML技术、CSS3页面布局、JavaScript开发、WebAPls编程、JavaScript高级特性

2.掌握前端框架

重点需要关注的前端框架,主要有VUE、React、Jquery、Angular,这几个前端框架至少要掌握一样。

Vue(https://vuejs.org/):Vue 以模型-视图-视图模型结构构建 UI。对于小白来说,VUE相对比较好入门,触类旁通再去学习其他框架,应该更容易理解。

四、熟悉开源GIS类库

在WebGIS开发中,在具备一定的前端基础后,就要开始学会使用各类GIS相关类库,实现用户所需功能。

这就涉及到API的调用,API作为处理系统之间数据传输的媒介。我们在开发的过程中,常常调用API接口,这就要求我们必须掌握API的调用,了解API的属性。如果你能了解这里面的底层开发逻辑更好,可以起到事半功倍的效果。如果你不熟悉,但是学会如何调用,对入门来说也是够用的。

熟悉开源GIS类库,开源GIS相关类库可以分为三类,二维、三维及AI库

1. 二维

二维类库中常用的由Echarts、Leaflet、Openlayer、Mapbox、百度地图API、高德地图API、天地图API及Turf等,开发人员通过调用相关类库,可实现地理数据可视化、GIS空间分析和地图可视化等功能。

2. 三维

三维WebGIS中,应用较为广泛的由Cesium.js和Three.js。Cesium.js可以实现三维数据加载、三维空间分析等GIS应用所需的功能,能够承载较大的空间信息量,但视觉效果一般;Three.js为计算机图形库,可以实现更加优美的场景,但信息承载能力有限,因此在小场景的可视化如室内中,推荐Three.js,在进行大量地理数据可视化及空间分析等功能时,推荐Cesium。

在三维WebGIS中,不仅要具有前端和GIS基础,还要拥有一定的三维建模软件及三维格式的基础,如 3dMax/Maya/SketchUp/Blender/Pro-E(三维建模)等软件的使用,并了解各种软件生成的模型格式及Cesium.js和Three.js所支持的数据格式。

3. AI

AI在大前端领域已经火爆了两三年了。随着设备算能的跃升和端侧模型的演化,越来越多的AI场景开始涌现。从最初的图片分类,到而今基于人体的百变特效、嵌入日常的语音识别、大众津津乐道的自动驾驶,AI已经开始进入我们生活的方方面面。前端AI类库主要有TensorFlow.js、Ml.js、 Brain.js及Paddle.js 等,TensorFlow.js目前应用较为广泛。前端AI应用领域主要包括人物识别、语义诊断、情绪分析、图像自动分类等方面,在WebGIS中,主要可应用于图像自动分类、图像处理等领域。

作为GIS小白入门,你不需要学习上面列出的所有库,建议可以从leaflet或OpenLayers入手。此外,AI库对小白来说,难度系数比较大,建议可以先重点掌握二维、三维。

未完,写在最后

一套完整的GIS系统由硬件、软件、数据、人员和方法等很多部分构成,软件开发只是其中的一部分。

本文整理的关于WebGIS的技术点,并不是全部,还有商业GIS类库、GIS数据存储、GIS服务器没有详细介绍。

这篇关于大一地信新生,如何从0规划学习WebGIS开发!附通关攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130461

相关文章

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服