2. 地图切片技术¶
Map Tiles,被译为地图切片。在这本书中,认为地图切片更注重操作过程,因此采用了地图切片这一术语。
如果想要提高Web地图的访问速度,使用地图切片是一种非常有效的方法。地图切片是在多个比例尺下配置地图,预先将每个比例尺下的地图绘制成小图片,保存到服务器上一个名为CACHE的目录中。这样,客户端在访问地图时,可以直接获取所需的小图片并拼接成整个地图,而不是由服务器动态创建图片并发送给客户端,从而大大提高了访问速度。
地图切片的技术解决方案很多,开源的地图切片工具也很多,是目前各类FOSS软件中的基础工具。MapServer有MapCache模块,Geoserver有GeoWebCache模块来创建地图切片;TileMill和CartoCSS标记语言可以更灵活地创建地图切片;还有一些常见的小工具,如GeoWebCach、TileCache、TileStache、Tile-Server和MapProxy。还有其他工具,人们对此知之甚少。
Mapnik库是一个用C++编写的免费开放源码软件,可从Python和其他语言调用,用于创建地图切片。Mapnik是一个高效的渲染引擎,它包括普通WMS层中没有的高级绘制选项。虽然Mapnik的使用不是很方便,但通常需要一些Linux知识和一些实验和错误,但为了盈利,Mapbox最近发布了一款名为TileMill的开源程序,可以在Mac和Windows上运行,以Mapnik为底层,提供了出色的窗口界面,从而简化了绘图过程。