在使用mapbox渲染大数据的情况下可以采用以下策略来提高渲染效率。
GeoJSON source参数设置
buffer
如果数据能在一个图斑里面能够显示(点),不需要缓冲区,可以将buffer参数设置为0.较小的缓存区可以减矢量切片周边渲染错误(buffer 0-128)
tolerance
当数据源是线或者面时,设置这个参数将会起用Douglas–Peucker algorithm 算法,对数据进行简化。
default-tolerance 0.375
high-tolerance 3.50
cluster
在小缩放级别的时候,可以考虑对密集点数据使用cluster,如下图
large-geojson-clustering
maxzoom
将GeoJJON数据源的maxzoom设置为比默认值18小的级别。这样的设置将提高地图平移与缩放的性能。对于大多数点数据来说,zoom值为12时,既能保持精度与速度。
minzoom
这个值不是source的参数,是layer的参数。设置这个参数主要是因为如果geoJSON的数据足够多的话,zoom如果过小,屏幕的像素的点都没数据多的话,再缩小级别也没什么效果。
数据清理
去除对于可视化不是必须的字段。
让经纬度坐标的精度在小数点后6位以下。
删除geojson中的空格,减少文件大小