1、为什么需要瓦片:
地图缓存技术:地图服务的性能需求越来越高;缓存技术大大提高了地图服务的性能;缓存技术降低了服务器端压力,不在需要进行动态出图;地图缓存或瓦块地图可以支持众多客户端并发浏览 因为地图缓存技术是一种有效访问地图的方式,所以出现其下的两种缓存分类:矢量瓦片和栅格瓦片
2、矢量瓦片与栅格瓦片区别
对比项 | 矢量瓦片 | 栅格瓦片 |
---|---|---|
地图瓦片 | 将矢量数据通过不同的描述文件来组织和定义,在客户端实时解析数据完成绘制; | 预先在服务端绘制好固定的PNG或其他格式的图片集合 |
瓦片体量 | 小 | 大 |
生成瓦片效率 | 高 | 低 |
更新机制 | 持平 | 持平 |
样式修改 | 支持 | 不支持 |
前端技术要求 | 高(HTML5) | 低 |
显示差异 | 有差异 | 无差异 |
成熟度 | 一般 | 高 |
应用场景 | 特殊(移动端、风格修改 | 广泛 |
管理机制 | 持平 | 持平 |
3、栅格瓦片
栅格瓦片:每一块都是图片,可以是.png,也可以是.jpg。常见的大小有256256,512512 通过分层分块生成切片文件的思路进行缓存构建,并且从坐标系、地图、图层风格以及数据范围等方面考虑了缓存更新问题
栅格瓦片的类型:
UGCV5
:存储于本地磁盘目录文件MongoDB
:存储于MongoDB分布式文件系统
4、矢量瓦片
矢量瓦片:每一块都是由点、线、面构造的矢量数据 矢量瓦片的结构:Fonts 矢量瓦片使用的字体文件,Sprites 图标相关风格内容,Styles 风格描述文件,Tiles 矢量瓦片数据.mvt,Sci 矢量瓦片的元信息文件 矢量瓦片的坐标系:适用WGS84火星坐标系,2000大地坐标系等
矢量瓦片的优势:
- (1)创建效率高;传输和渲染速度快;
- (2)数据和风格样式独立,可更改配图方案;
- (3)高显示质量,能够很好地支持高分辨率显示屏;
- (4)预切图(多进程)
- (5)动态生成(iServer)
- (6)实时切图(HBase)
5、 矢量瓦片解决了什么痛点?
我发现很多人,包括早期我自己也是一样都是为了使用矢量切片而使用矢量切片,如果我们要用它先想想why,再去想how。 所以在你的技术经理不知从哪里的看来的技术文章中看到的这一概念而强行让你使用它的时候请首先明确你的需求。
- 你要追求快速的渲染吗?wmts、tms切片服务更适合你
- 你要对图形执行编辑操作吗?只有wfs适合你
- 你即要快速渲染又要能执行编辑操作吗?你在想peach
- 你要在快速渲染的情况下自定义style么?选矢量切片对了
- 你要在快速渲染的情况下自定义style又不想浪费时间研究cesium的矢量切片吗?去看一下geoserver的style模块,预设置几个style进行普通切片调用就好。
- 你要在快速渲染的情况下做要素的查询么?选矢量切片,而wms太慢。还有一个骚操作就是同时请求wmts切片和wms,这样在渲染上和查询上都不会有问题。
所以矢量切片最适合的应用方向在于对渲染速度有要求的前提下对图层style的定制化需求。