一般由于浏览区域发生了改变,客户端会向服务器发出请求更新地图数据,收到请求之后,地图服务器就会将新区域的地图转换图像格式,再传送给客户端。我们通过地图切片就可以有效缩短服务器的地图生成时间和传送时间,提高系统响应速度。
地图切片后能控制地图服务器每次只更新有变化的区域,而不是窗口的全部区域。
1、地图切片的定义
采用预生成的方法存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。
2、地图切片的原理
地图的预生成一般将指定范围的地图按照指定尺寸(如256像素、300像素等)和指定格式(如JPEG、PNG等)切成若干行和列的正方形图片,切图所获得的地图切片一般也成为瓦片。
一般在切图之前需要对某范围的原始值进行修正(一般借助Matlab等数学软件进行计算),使其长高比为一个便于切片的比例(如2:1、3:2等),然后从左上角开始对此固定范围进行切图,之后的不同等级之间采用四叉树数据结构,第m级上的一张瓦片到第m+1级将分裂为4张瓦片。这种四叉树结构有助于切图和快速显示,但是得出的地图没有固定的比例尺,比例尺会随着地理纵坐标而变化,因此进行地理量算的时候不是根据比例尺来量算,而是根据地理坐标直接计算的。
做缓存的地图切片是具有一定地图分级的,因此所产生的地图只是在这几个分级中缩放,不再具有无极缩放的功能。切片分级一般也是采用四叉树算法来实现。
以WGS84坐标系的全球地图为例,全球地图范围是(