TileCache+MapServer+OpenLayers使用方法

本文详细介绍了如何利用TileCache进行Web地图瓦片缓存,包括Apache服务器的配置、Python环境的设置、mod_python模块的安装、TileCache的配置文件设置以及MapServer图层的定义。通过tilecache_seed.py脚本进行切图,实现不同级别的地图瓦片生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TileCache -- Web Map Tile Caching

主页http://tilecache.org/

 

tilecache是用python来编写的,因此运行tilecache需要有python的环境

 

服务器:Apache 2.2.10

运行环境:Python 2.5.4(http://www.python.org下载Python 2.5.4版本)

mod_python文件:下载网址为: http://www.apache.org/dist/httpd/modpython/win/ (注:mod_python是对应哪一个apache和python版本的,下载时候需要特别注意版本,和服务器以及python的版本要吻合)

 

配置 apache 配置文件httpd.conf (位于 apache安装目录/conf 下)

 

添加

### python ###
LoadModule python_module modules/mod_python.so

Alias /python D:/ms4w/apps/HybirdMap/htdocs/tilecache

<Directory "D:/ms4w/apps/HybirdMap/htdocs/tilecache">
          AddHandler python-program .py   
          PythonHandler TileCache.Service   
          PythonOption TileCacheConfig "D:/ms4w/apps/HybirdMap/htdocs/tilecache/tilecache.cfg"   
          PythonPath "['D:/ms4w/apps/HybirdMap/htdocs/tilecache'] + sys.path"   
          PythonDebug On
          Order Deny,Allow
          Allow from all
</Directory>

 

D:/ms4w/apps/HybirdMap/htdocs/tilecache是tilecache的安装目录

D:/ms4w/apps/HybirdMap/htdocs/tilecache/tilecache.cfg是tilecache的配置文件地址

 

 

测试文件mptest.py代码,显示helloworld

from mod_python import apache

def handler(req):
    req.write("Hello World!")
    return apache.OK

 

环境设定

注册表
[HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/2.5/PythonPath]
里面的键值中添加你tilecache所在的目录
我的是
D:/ms4w/apps/HybirdMap/htdocs/tilecache
记得前面用分号隔开
然后安全起见 再新建项
一样把路径加了
然后在我的电脑 属性 高级 环境变量里加 你python的目录 我的是D:/python25
这样做应该是为python指明了路径。。也就是conf里添加的那个 sys.path 是在python一个同样用

 

 

tilecache配置:

1,将tilecache.cgi文件改为tilecache.py

2,修改tilecache.cgi如下
#!D:/Python25/python.exe -u   (指明python的位置)
3,修改TileCache目录下的tilecache.cfg文件,这是个配置文件,当有用户请求时,tilecache会载入这个文件,主要部分:
[cache]
type=Disk
#默认是Diskgoogledisk是以z/x/y.extension的方式存储

base=d:/tmp/tilecache #缓存的路径

 

我的一个MapServer WMS图层定义:

[road]
type=WMS
url=http://192.168.154.180/cgi-bin/mapserv.exe?map=/ms4w/apps/HybirdMap/etc/china_google.map&transparent=true&
layers=Lthree1,Lthree2,Lthree3,Ltwo1,Ltwo2,Ltwo3,Ltwo4,Ltwo5,Lone1,Lone2,Lone3,Lone4,Lone5,Sroad1,Sroad2,Sroad3,Sroad4,Sroad5,Groad1,Groad2,Groad3,Groad4,Groad5,highway1,highway2,highway3,highway4,highway5,highway6
extension=png
bbox=-20037508, -20037508,20037508, 20037508.34
maxResolution=156543.0339
srs=EPSG:900913
extent_type=loose

 

如果不使用resolutions,也可以用maxResolution设定最大的比例尺,系统会根据level自动声称resolutions,但如果同 时设置,resolutions会覆盖levelbboxresolutions要根据不同的投影来计算。

tilecache_seed.py切图:

cmd中执行命令行
python "D:/ms4w/apps/HybirdMap/htdocs/tilecache/tilecache_seed.py" road 0 6
即可产生瓦块地图

road为图层名称,0-6是zoom级别

 

 

 

 

附TileCache参数详解:http://www.gispower.org/article/opengis/2009/714/09714104145DCA9DDK5KGD96G3G1A44.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值