地图切片原理
何为瓦片?瓦片即网格中有多个类似瓦片的图片集。
瓦片数据是将矢量或影像数据进行预处理,采用高效的缓存机制(如金字塔)形成的缓存图片集,采用“级、行、列”方式进行组织,可在网页中快速加载。
因此,瓦片地图加载是根据客户端请求的地图范围和级别,通过计算行列号获取对应级别下网格的瓦片(即服务器预裁剪的图片),由这些瓦片集在客户端形成一张地图,如图2.21所示。
矢量地图和瓦片地图各具特点和优势,两者可以结合应用。
矢量地图实时生成,可以对地图数据进行在线编辑、查询分析,具有空间关系,能够支持网络分析、空间分析等应用。
瓦片地图由于是预裁剪的缓存图片集,网络加载速度较快、效果好,常作为地图底图。
地图切片:采用预生成的方法存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。
地图缓存:又称地图瓦片,是一个包含了不同比例尺下整个地图范围的地图切片的目录,即一个缓存的地图服务就是能够利用静态图片来快速地提供地图的服务。
这里对地图切片中的几个重要的概念做一个介绍。
原理
几个概念:
在地图切片中,有三个比较重要的概念:1、切片原点;2、切片分辨率(比例尺);3、初始切片范围。
下面就这三个概念做一个简单的介绍。
1、切片原点
切片原点一般有两种:1、左上角;2、左下角。
大部分切片的算法是采用左上角作为切片原点的,例如天地图、Arcgis Server等等。
切片原点定义了我的第一个 256*256的切片的位置。
2、切片分辨率(比例尺)
切片分辨率和比例尺是一一对应的。
比例尺指的是我的图上一个单位代表实际多少距离,而分辨率代表屏幕上一个像素代表实际多少距离,因此,当定了一个之后,对应的另一个也确定了。
切片分辨率(比例尺)影响的是在该分辨率(比例尺)下,我的一个256*256的图片的实际坐标是多少。
3、初始化切片范围
初始化切片范围是指我是按照多大的图幅进行切片的,影像的是我在这个分辨率下总共能切多少个256*256的切片。
tilecache缓存机制
MapCache 是一个实现平铺缓存以加快对WMS层的访问的服务器。
主要目标是快速且易于部署,同时提供基本功能(以及更多!)地图切片缓存解决方案。
MapProxy是由 Python 开发的地图切片工具。
其简单易用,用于生产环境也很稳定。