WebGIS开发入门 | 从 Web 开发到地图开发,差别在哪儿?

01 、WebGIS 开发VS Web 开发的区别

WebGIS 开发本身也是一个 Web 开发的过程,它同样会有三端,主要就是一个前后端交互,中间还有服务器层。

简单来说,可以分成这三层:

  • 前端(客户端 UI 层) :也就是浏览器端。但和传统 Web 开发不同的是,前端会涉及到地图框架来辅助做地图的可视化效果。

  • 中间层(服务器) :这里会引用到一个GIS 服务器的概念,比如: GeoServer、MapServer。

  • 数据层:除了服务器,还有数据层,整体分为这三层,比如 PostGIS+ 矢量/栅格数据

所以,WebGIS 不是独立的体系,而是 Web 开发在空间维度上的延伸。你以前用的那一套前后端逻辑依然适用,但数据类型和交互方式变了。

02 、WebGIS开发的两种前后端交互模式

在 WebGIS 里,前后端交互主要有两种过程,可能和你传统 Web 开发的经历不太一样。

第一种:地图显示时的"自动请求"

当你打开一个地图网页,或者双击、拖动、改变了当前的地图显示范围时,前端会发送请求,后端响应请求,返回合适范围的地图图片数据。

这个过程对用户是透明的------你并没有点任何"查询"按钮,但地图框架自动帮你完成了前后端交互。

第二种:空间数据的存储

比如你在前端绘制了一个数据,绘制完成后主动发起请求,前端将数据发送到后端,后端存储到数据库。

这一块和传统 Web 开发类似,都是增删查改,但不同的是:这边是空间数据,需要使用空间数据库(如 PostGIS),存储的数据也是矢量数据(GeoJSON、WKT、Shapefile 等)。主要差异就在数据的存储以及数据格式上。

03 、前后端分工的边界

前端在 WebGIS 中尽可能去完成一些在硬件条件资源下可以完成的逻辑,承担更多的渲染与计算任务,一是为后端分担任务,二是可以有更好的交互体验。

但当数据量庞大时(如三维地形、海量矢量要素),前端计算会迅速耗尽客户端内存,影响用户体验。所以后端哪怕再弱,它还是有必要去存在的------无论是只提供静态资源,还是只提供 REST API 服务。

尤其是在 Cesium 等三维框架中,数据量可能达到 GB 甚至 TB 级别,后端的查询、裁剪、流式传输能力至关重要。

总结:

从 Web 开发到 WebGIS 开发,核心认知是:架构相似,但数据变了。

你依然在做前后端交互,但交互的是空间数据;你依然有服务器,但多了一层 GIS 服务器;你的前端依然跑在浏览器里,但多了一个地图可视化引擎。而地图加载时的前后端交互,是由框架自动完成的------这一点和传统 Web 开发中"点击按钮才发请求"的逻辑很不一样。

下篇预告: 为什么你按照官网示例写了代码,数据却不显示?或者明明坐标写对了,位置却偏移了?

WebGIS开发教程持续更新中

点个关注不迷路👇

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端