MapServer使用笔记之为MapServer添加瓦片缓存服务

MapServer使用笔记之为MapServer添加瓦片缓存服务

2016-10-27 作者: 肖芳 浏览: 3237 次

摘要: geowebcache基于J2EE架构,具有完整的Web图形管理界面,支持多进程并发切图,可以随时查看切图进度和剩余时间,搭配geoserver非常合适。titlecache采用python编写,CGI工作模式,非常小巧,2.11版本只有令人惊讶的68K!。 ...

geowebcache基于J2EE架构,具有完整的Web图形管理界面,支持多进程并发切图,可以随时查看切图进度和剩余时间,搭配geoserver非常合适。titlecache采用python编写,CGI工作模式,非常小巧,2.11版本只有令人惊讶的68K!。

titlecache采用SHELL或DOS命令行方式运行切图程序,实时输出切图进度信息。mapserver选择titlecache作为地图切片缓存服务器,在ms4w_3.0beta10中包含了tilecache插件,由于beta版本存在问题,我们在ms4w_2.3.1正式版中手工加入tilecache服务器,具体步骤如下:

1、从tilecache官方网站下载安装包tilecache-2.11.tar.gz,该安装包适用于所有操作系统,我们使用Windows XP。

2、解压安装包,将其中的tilecache-2.11目录整体复制到ms4w的apps目录下。

3、进入ms4w的http.d目录,新建一个名为httpd_tilecache.conf的文本文件,内容如下:

Alias /tilecache/ "/ms4w/apps/tilecache-2.11/"
<Directory "/ms4w/apps/tilecache-2.11/">
  AllowOverride None
  Options ExecCGI
  Order allow,deny
  Allow from all
</Directory>
addHandler cgi-script .cgi .py

4、进入ms4w/apps/tilecache-2.11目录,打开tilecache.cgi文件,修改第一行的python编译器路径,例如 E:\Python25\python.exe

5、打开该目录下的tilecache.cfg文件,修改cache标签,指定本地磁盘缓存目录,例如

[cache]
type=Disk
base=F:/tmp/tilecache

添加一个road标签,指定地图服务类型,服务地址,mapfile文件路径,图层名称,栅格格式,空间参考系统编码,例如

[road]
type=WMS
url=http://127.0.0.1/cgi-bin/mapserv.exe?map=I:/cn_data/c2.map&transparent=true&
layers=road
extension=png
srs=EPSG:4326

6、重新启动Apache

7、打开tilecache下的index.html文件,根据实际情况修改openlayers.js的路径,例如

<script src="/openlayers/OpenLayers.js"></script>

修改layer参数,例如

layer = new OpenLayers.Layer.WMS( "road", "tilecache.cgi?", {layers: 'road', format: 'image/png' } );

使用浏览器访问http://127.0.0.1/tilecache,Web页面上将显示经过tilecache处理的地图,客户端浏览过的地图切片文件被保存在tilecache.cfg文件指定的临时目录下,这里是F:/tmp/tilecache目录,如果其中包含客户端正在请求的地图,这些地图将不再通过MapServer动态生成,而是,直接从缓存目录读取静态图片文件。对于大用户量、高并发的地图访问。瓦片缓存机制可以非常有效的提高客户端读取、显示地图的速度。

通过执行tilecache_seed.py脚本,可以手动生成地图切片,下面的命令给road图层发布0到6级的地图切片文件。

python "F:\ms4w\apps\tilecache-2.11\tilecache_seed.py" road 0 6

等待执行完毕,进入缓存目录可以找到刚才发布的地图切片文件。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org