地图切片技术

Map Tiles , 中译为地图瓦片、地图切片。 在本书中,认为地图切片更注重操作的过程, 所以采用地图瓦片这一说法。

如果要提高Web地图的访问速度,使用地图切片是非常有效的方法。 地图切片就是在多个比例尺下配置地图, 然后提前把每个比例尺下的地图绘制为小块图片,保存在服务器上名为缓存的目录中。 这样客户端在访问地图时,可以直接获取需要的小块图片拼接成整幅地图, 而不是由服务器动态创建出一幅图片再送到客户端,从而极大提高了访问速度。

地图切片的技术方案有多种,关于地图切片的开源工具有许多, 是当前各种 FOSS 软件中的一个基本工具。 MapServer 有 MapCache 模块, GeoServer 有 GeoWebCache 模块来创建地图切片; TileMill 和 CartoCSS 标记语言能以更灵活的方式创建地图切片; 还有 GeoWebCach , TileCache , TileStache, Tile-Server 及 MapProxy 等常用的小工具。 其他还有一些工具了解的人少一些。

Mapnik 库是一个可为 Python 与其他语言调用的C++编写的自由及开放源代码软件,可用于创建地图切片。 Mapnik 是一个高效渲染引擎,其中包含了常用WMS图层中没有的高级绘图选项。 虽然 Mapnik 的使用不太方便,通常需要一些 Linux 的知识以及一些实验与犯错, 然而以利为目的Mapbox公司最近发布了一个名为 TileMill 开放源码的程序,可以在Mac和Windows上运行, 以 Mapnik 为底层,提供了一个漂亮的窗口界面,从而简化了制图过程。