• 矢量(vector)瓦片与栅格(raster)瓦片对比


    矢量瓦片产生原因

    随着大数据技术的发展,人们对电子地图的快速共享需求也越来越强烈。传统电子地图共享时,通常会通过瓦片裁剪工具获取栅格瓦片。相对于其他技术,栅格瓦片底图有其优越性,例如有效减少了传输数据体积,多级缩放等。然而,栅格瓦片底图也有一些短处,缺乏灵活性、实时性,数据完整性受损是比较突出的问题,这正是栅格数据的问题:

    • 缺乏灵活性。栅格瓦片完成后,已经保存为图片格式,样式不可修改。若要多种栅格底图,需裁剪多份栅格瓦片底图;
    • 缺乏实时性。由于栅格瓦片已保存为图片格式,当现实世界地物有变化时,不能实时更新,只能重新裁剪栅格瓦片;
    • 丢失属性信息。栅格瓦片没有属性信息,若要查询图片的多边形的属性,需要到服务器重新请求。

    优势

    基于栅格瓦片底图的劣势,矢量瓦片针对矢量电子地图,按照一定的标准和技术将其保存为多种比例尺的矢量分块数据,在前端显示电子地图时,可直接调用矢量分块进行绘制。

    • 可保留属性信息,在客户端进行查询时,无需再次请求服务器;

           

    • 采用分块编码模式,客户端获取时只返回请求区域和相应级别的矢量瓦片底图,且采用实时绘制矢量模式,绘制效率更高;
    • 无级缩放。矢量瓦片分辨率高达4096*4096,是栅格瓦片的16倍,可保证缩放过程中的细节高度还原,且满足高分屏绘制需求;

       

     

    • 自定义渲染样式。客户端显示矢量瓦片底图时,可以按照用户赋予的样式渲染。如导航地图有白天和黑夜两种模式,只需共用一份矢量瓦片底图,利用两套样式进行渲染即可;可以通过属性过滤条件可以任意过滤筛选图元,实现个性化定制;可以编辑底图中每一个矢量图层的可见状态,调整矢量层的叠加压盖顺序,修改矢量图层的颜色、大小等显示样式。

        

     

    以Mapbox矢量瓦片为例,在这个美国邮政编码区域数据集中,一共有540多万个点组成的超过33000个要素,它是在没有服务器支持的情况下,直接加载到浏览器中:

      

     

    想以每秒60帧的速度渲染如此巨大的数据量是不可能的,不过幸运的是,我们并不需要这样做,因为:

    • 缩放级别较低时,我们的地图不需要太过精细
    • 缩放级别较高时,大量数据都在屏幕之外

    针对所有缩放级别和屏幕优化数据,最好的方法就是将数据切割成矢量切片(vector tile)。传统方法里,这个步骤是使用Mapnik和PostGIS等工具在服务器上完成的。

  • 相关阅读:
    Linux自建mysql访问show databases只有information_schema和test两个数据库
    nginx快速入门
    【.NET 6】多线程的几种打开方式和代码演示
    SpringBoot 3.0最低版本要求的JDK 17,这几个新特性不能不知道
    elementui 修改 el_table 表格颜色,表格下方多了一条线问题
    pytorch初学笔记(一):如何加载数据和Dataset实战
    流形上的预积分(中)
    【CVPR 2022】HDR-NeRF: High Dynamic Range Neural Radiance Fields
    a16z:推翻互联网的偶然君主制,如何设计Web3平台治理?
    Autosar模块介绍:AutosarOS(3)
  • 原文地址:https://blog.csdn.net/samLi0620/article/details/127665560