echarts为了加快GeoJSON的传输速度,对GeoJSON文件进行了压缩, 对GeoJSON中的坐标信息进行了压缩了,减少了坐标的数据量。
echarts中的GeoJSON数据格式:
采用的是zigzag的算法进行压缩的,“zigzag 的原理就是压缩多余的因补位造成数据变大的问题,它的原理是把符号位向右移到在最前一位,对负数除最后一位经行求为非;正数求不变。”
echarts内置解码算法,将坐标信息进行解析,在图上进行绘制。
压缩之前的中国行政区划数据:
压缩之后的数据:
压缩比例是相当高的,这在网络传输上能够加快传输速度,现在客户端的计算机性能都是可以的,解析并不需要很长的时间。
关键的压缩代码(摘自echarts源码):
关键的解压代码(摘自echarts):
在其他类型的地图开发时,涉及到大量的坐标信息,也可以按照此种方式进行压缩,之后在客户端解析数据,地图上显示,达到减少网络数据传输的目的。
更多文章,请关注公众号支持!