1.矢量切片简介
矢量切片是由mapbox组织提出的一种新型矢量数据切片格式,它按照TMS切片规则对矢量数据进行切片,然后将切片矢量数据组织为protobuf二进制格式,这种数据组织方式的优点主要有两种:
1.通过TMS切片规范,实现了近似于分页的请求效果,提高了数据请求效率;
2.通过将矢量数据按照protobuf编码,对矢量数据进行了压缩,提高了数据传输速度和前端浏览器渲染效率。
当前,各大主流GIS服务器都提供了对矢量切片的支持能力,最新版本的GeoServer/ArcGIS Enterprise均支持矢量切片。
2.矢量切片问题
在对矢量切片的实际使用中,矢量切片在对大数据量切片下还是存在一定问题的,当前项目使用openlayers作为GIS前端库,openlayers的矢量切片源代码使用的是canvas渲染方式, 当某一矢量切片数据量过大,尤其是在小比例尺下显示海量数据时,openlayers渲染时间过长,浏览器内存使用快速上升,严重时会造成浏览器卡死,严重影响用户体验。
3.问题分析与解决
问题的根源是海量矢量数据在小比例尺下渲染时,数据量过大,渲染耗时过长。然而,根据制图综合原理,在小比例尺下显示数据时,应该对数据进行制图综合,在保证数据空间关系大体不变的前提下对数据进行简化,提高前端浏览器渲染效率。
综合以上分析,在生成矢量切片时,在小比例尺级别下使用道格拉斯-普克算法对数据进行简化。