地理信息科学专业想搞GIS开发:学前端还是后端?

地理信息科学专业的同学是学前端开发比较好呢还是学后端开发比较好呢?

部分网友:学前端更好

主修前端更好,因为地信学后端,是卷不赢学计算机的

本科卷前端,硕士阶段可以卷后端

甚至有网友直呼,地信根本没有所谓后端这一说

部分网友:卷全栈

随着行业的发展,前后端两手抓,才能有更好的发展

地信卷开发,学前端好还是后端好?

这个问题只能说没有固定答案,各有各的好坏。

前端GIS开发

需要掌握的技术点: 主要有基础的htmlcssJavaScript,然后是 VueOpenLayersCesiumJS 等开发框架。二维以 OpenLayers 为主,三维以 CesiumJS 为主。三维是基于 WebGL 的,所以如果想深入了解,需要计算机图形学、线性代数、微积分等方面的知识。值得一提的是,二维和三维有各自的应用场景,三维无法完全取代二维。

**涉及的工作内容:**前端GIS开发主要涉及使用HTML、CSS、JavaScript等技术来创建交互式的地图应用和网站。这包括地图的展示、数据的可视化以及用户交互等功能。

后端GIS开发

需要掌握的技术点: 除了上面提到的开发语言,数据库知识也是必不可少的。熟悉关系型数据库(如 PostgreSQL/PostGISMySQL), NoSQL 数据库(如 MongoDB),了解 Web 服务框架(如 Spring BootASP.NET),了解 RESTful API 开发;熟悉空间数据库的操作和管理,掌握空间数据分析和处理技术,了解 OGCOpen Geospatial Consortium)标准和协议(如 WMSWFSWMTSOsgeo TMS等),掌握基本的 WindowsLinux 操作系统使用和服务器部署技能。

**涉及的工作内容:**后端GIS开发涉及使用服务器端编程语言(如Java、Python或C#)和GIS特定的服务器端技术(如PostGIS、GeoServer)来创建服务器端GIS解决方案。这包括数据的管理、处理和分析等。

前端更倾向于数据展示,后端更倾向于数据管理,因此后端需要对GIS的原理有更深入的理解,才能发布正确的,符合OGC标准的服务,提供给别人使用。长久以来,很多地方很多人,都把GIS当做前端,仅用来做数据展示。这本质上是对GIS的认知障碍,只是不知道GIS还可以做很多复杂的空间分析而已。因此我的建议是,从前端开始,逐渐过渡到后端。先有一碗饭吃,然后是吃好这碗饭。

无论前端or后端,利用好GIS的优势

地信这个专业通俗来讲就是"把地球装进计算机"披着地理学外衣的计算机科学",学好编程和专业课都很重要。

虽然现在做WebGIS的,有很大一部分人是计算机的同学,他们学一学OpenLayersMapBoxapi,也能做一些功能,但是涉及到坐标转换等一类问题时,或者出现一些非常规的问题时,就会犯难。这就是GISer的优势,懂原理,懂应用,吃一碗饭不成问题。

至于三维GIS领域,很遗憾的告诉你,三维领域真正的王者是计算机图形学,是数学,GIS只是一方面而已。因此你若想吃好这碗饭,先把计算机图形学和数学好好补一补,否则就会遇到现在大多数人遇到一样的问题,为什么Cesium这么卡?

注:以上部分内容来自AIGIS

GIS开发学习资料分享https://docs.qq.com/doc/DRmxxaVhpbGJXSGho?u=5295a88d71d8480d971da4e3334ee913

相关推荐
Elastic 中国社区官方博客13 分钟前
JavaScript 中使用 Elasticsearch 的正确方式,第一部分
大数据·开发语言·javascript·数据库·elasticsearch·搜索引擎·全文检索
万物得其道者成24 分钟前
从零开始创建一个 Next.js 项目并实现一个 TodoList 示例
开发语言·javascript·ecmascript
海天胜景31 分钟前
无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
MingT 明天你好!34 分钟前
在vs code 中无法运行npm并报无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查
前端·npm·node.js·visual studio code
老兵发新帖39 分钟前
pnpm 与 npm 的核心区别
前端·npm·node.js
超级土豆粉41 分钟前
怎么打包发布到npm?——从零到一的详细指南
前端·npm·node.js
OpenTiny社区1 小时前
TinyEngine 2.5版本正式发布:多选交互优化升级,页面预览支持热更新,性能持续跃升!
前端·低代码·开源·交互·opentiny
声声codeGrandMaster1 小时前
Django框架的前端部分使用Ajax请求一
前端·后端·python·ajax·django
sunbyte1 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Expanding Cards (展开式卡片)
javascript·vue.js·ecmascript
肠胃炎1 小时前
React Contxt详解
javascript·react.js·ecmascript