ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

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

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开发教程持续更新中点个关注不迷路
返回列表