0
点赞
收藏
分享

微信扫一扫

4 步 解决如何使用tilestache构建瓦片地图服务器

Tilestache是一款开源的瓦片地图服务器,其安装和使用较简单,但官方的文档感觉还是偏简单了些。在这儿记录一下最近安装和 使用tilestache的方法。

1.安装

在Ubuntu服务器上安装tilestache还是比较简单的:

​sudo apt​​​​-​​​​get install tilestache python​​​​-​​​​pil python​​​​-​​​​gdal​

tilestache默认并没有绑定python-pil和python-gdal两个库,若开始只是安装了tilestache,后面可能可能会出现返回空白 地图的问题。

2.使用

tilestache使用时要构建一个cfg的配置文件,同时若采用mapnik 来进行渲染,还必须提供每个对应图层的渲染配置文件。

一个简要的配置文件示例如下:

​{​

​"cache"​​​​: {​

​"name"​​​​: ​​​​"Disk"​​​​,​

​"path"​​​​: ​​​​"cache/"​

​},​

​"layers"​​​​:​

​{​

​"landuse2005"​​​​:​

​{​

​"provider"​​​​:{​​​​"name"​​​​:​​​​"mapnik"​​​​,​​​​"mapfile"​​​​:​​​​"landuse2005.xml"​​​​}, ​​​​"projection"​​​​: ​​​​"spherical mercator"​​​​,​

​"preview"​​​​:   {        ​​​​"lat"​​​​: ​​​​33.4​​​​,       ​​​​"lon"​​​​: ​​​​97.3​​​​,        ​​​​"zoom"​​​​: ​​​​15​​​      ​​}​

​},​

​"roads"​​​​:​

​{​

​"provider"​​​​:{​​​​"name"​​​​:​​​​"proxy"​​​​,​​​​"url"​​​​:​​​​"tile.openstreetmap.org{Z}/{X}/{Y}.png"​​​​},​

​"preview"​​​​:   {        ​​​​"lat"​​​​: ​​​​33.4​​​​,       ​​​​"lon"​​​​: ​​​​97.3​​​​,        ​​​​"zoom"​​​​: ​​​​15​​​      ​​}​

​}​

​}​

​}​

示例中有两个图层,landuse2005采用mapnik进行渲染,roads 采用OSM的瓦片并直接进行代理。mapnik的渲染文件入门不易,可以采用tilemill来生成处理。

3.预制瓦片

上述图层的landuse2005应该预先生成,用户访问时才能提高速度。tilestache同时也提供了一个程序来生成:

​tilestache​​​​-​​​​seed ​​​​-​​​​b ​​​​31.8​​​ ​​89.3​​​ ​​36.3​​​ ​​102.3​​​ ​​-​​​​c tilestache.cfg ​​​​-​​​​l landuse2005 ​​​​10​​​ ​​11​​​ ​​12​​​ ​​13​​​ ​​14​​​ ​​15​

4.启动

最简单的方法就是使用tilestache-server来启动对应的服务:

​tilestache​​​​-​​​​server ​​​​-​​​​c tilestache.cfg ​​​​-​​​​i ​​​​192.168​​​​.​​​​13.13​

参数比较简单,-i就是要绑定的网络接口,然后用浏览器访问:

​http:​​​​/​​​​/​​​​192.168​​​​.​​​​13.13​​​​:​​​​8080​​​​/​​​​landuse2005​​​​/​​​​preview.html​



举报

相关推荐

0 条评论