5.5. 矢量瓦片:下一代瓦片地图

尽管我们在本课中讨论的栅格化瓦片集能够以相对快速的格式提供漂亮的地图,但它们更新起来可能会很麻烦,并且需要大量的计算资源。为了应对这些挑战,一种称为“矢量块”的数据存储格式在过去几年中越来越流行。Mapbox领导了矢量图块的开发工作,并共享了vector tiles specification 根据知识共享许可证。

矢量瓦片正是你所想的:它们存储矢量数据块,而不是存储地图图像。矢量瓦片背后的思想是,将数据样式与数据坐标和属性分开更有效。客户机可以使用一组预定义的样式规则来绘制由服务器发送的原始向量坐标和属性数据的瓦片。这允许动态地重新建模数据,这是栅格化分片的另一个严重限制。想想看:如果你想用你的栅格化瓦片改变用来绘制公园的绿色阴影,你必须重建每个包含公园的瓦片。如果您想对矢量瓦片执行相同的操作,只需在一个地方更新样式说明,瓦片本身就保持不变。其他显示操作(如旋转地图)也变得更容易用矢量瓦片实现。

矢量图块被设计成磁盘上的小瓦片,并采用了许多优化方法来减少存储地理数据和属性所需的字符数量,其中一些方法被描述为in this video by Mapbox engineer Dane Springmeyer 。他还介绍了一种叫做Mapbox Studio 它只适用于矢量瓦片,并由Mapbox升级为瓦片机的替代品。.mbtiles文件格式最初存储栅格化分幅,现在仅在从Mapbox Studio导出时存储矢量分幅。

实际上,有continue to be use cases 对于矢量瓦片和栅格化瓦片格式,尽管许多组织可能会看到将来将其一些最初栅格化的瓦片集重建为矢量瓦片会带来性能上的好处。这更有可能是因为流行的商业软件包,如ArcGIS,引入了工具来处理Mapbox矢量图块规范a strategic decision that Esri announced in a 2015 blog post 。在开源方面,GeoServer在版本2.14中添加了对矢量瓦片的支持,如these instructions

开源客户也认识到了向量块的持久性,例如VectorTile layer format 内置于OpenLayers 3和plugin support for Mapbox vector tiles in Leaflet . 在撰写本文时,QGIS并不支持视图矢量图块,尽管有一个相对较新的plugin 为此目的。