瓦片技术基本概念
瓦片技术就是将已经渲染好的不同缩放等级的地图图片按固定大小切片(为了节省存储空间,一般256*256),并顺序命名(比如“2,0,0”,代表第二个图层x轴第1张,y轴第1张)。这样当用户查看地图时,只需要请求目前浏览部分的图片即可。
瓦片技术分为栅格瓦片和矢量瓦片。栅格瓦片就是图片切片,矢量瓦片是地图点线面矢量数据。
瓦片地图加载原理
通过Ajax请求瓦片地图服务或数据,根据瓦片地图的级数、行列号分别获取对应的瓦片地图,将其按照请求的空间范围组织好(即按照网格组织瓦片地图),从而形成一幅地图并显示在网页中。
在Web端加载瓦片地图,一般有两种方式,一种为直接读取缓存加载,即读取磁盘中以目录方式存储的瓦片图片;另一种为调用瓦片地图服务接口,通过服务接口读取并加载瓦片地图。
栅格和矢量瓦片的区别
栅格瓦片:以图片为介质的栅格瓦片使得在线地图得以迅速普及,优势在于显示效率高、方便传输。但是,随着地图的移动化和应用的逐渐深入,栅格瓦片占用带宽和存储都较大,不利于地图在移动设备的应用。
矢量瓦片:矢量瓦片产生弥补了栅格瓦片的不足。矢量瓦片数据以矢量形式存在。矢量瓦片体积小,可高度压缩,占用的存储空间比栅格瓦片要小上千倍。数据传输体量小,地图更新的代价小。
在线地图服务应用中,栅格瓦片主要用作地图服务中的底图;矢量瓦片,常用于存储用于查询、变更频繁的矢量图层。矢量瓦片实用性体现在,其体积更小,客户端渲染更快、更灵活、更新更方便;因此更适合于地图中对时效性要求较高的地物要素的表达,如POI信息、路线信息等。常见的在线地图服务,如 Google Maps、百度地图等,都是采用了栅格瓦片做底图,叠加矢量瓦片的做法。