矢量瓦片已经是目前地图渲染的基础要素了,比如百度地图、高德地图都已经是矢量瓦片方案了。为什么我们能够在端上可以十分流畅的移动、缩放地方地图同时我们还可以根据个人喜好设置地图样式都是因为矢量瓦片。矢量瓦片与栅格瓦片的差异是在矢量瓦片提供的是原始数据,前端进行显示,栅格瓦片主要是后端渲染好的图片,因此栅格瓦片很难自定义样式。
矢量瓦片标准
目前最常见的矢量瓦片格式 Mapbox 提供的 MVT 数据格式,已经成为业界标准。MVT 矢量切片被编码为 Google Protobufs (PBF),它允许序列化结构化数据。 Mapbox Vector Tiles 使用 .mvt 文件后缀。 MVT 编码工具可查看文档。
瓦片生成
可以生成瓦片的工具很多比如 POSTGIS 可以动态生成矢量瓦片,geosever 也可以发布矢量瓦片服务。今天介绍的矢量瓦片静态生成工具 tippecanoe。针对大量数据场景,且不频繁更新的空间的数据,我们可以使用静态切片,比如我们地图底图数据切片,道路、河流、行政区划都可以提前使用工具切片,然后发布服务可视化。
tippecanoe 官方文档
安装
在 OSX 上安装 tippecanoe 最简单的方法是使用 Homebrew:
brew install tippecanoe
window 安装使用看这个文档
使用
tippecanoe -zg -o out.mbtiles --drop-densest-as-needed in.geojson
瓦片预览
安装 mbview 可以直接预览
npm install -g @mapbox/mbview
# 输入 mbview 即可进行数据预览了
mbview out.mbtiles
使用案例
百万级步行、跑步和骑自行车采用tippecanoe 切片可视化
\
点数据可视化
线数据可视化
可视化工具
L7 地理可视化引擎也提供了矢量瓦片可视化的能力。
GitHub - antvis/L7: Large-scale WebGL-powered Geospatial Data Visualization analysis engine
欢迎 star
\