TileCache
gis吧
全部回复
仅看楼主
level 8
LionGG 楼主
http://blog.csdn.net/yinianshen/archive/2008/11/14/3300674.aspxgeoserver提到的缓存工具共有两个:tilecache和geowebcache。geowebcache是java写的,整合进geoserer中。tilecache则是python写的一个小程序。tilecache是由MetaCarta Labs开发的用来缓存地图,配合openlayers使地图显示更快。可以把tilecache想成一个中间件,WMS服务器不用自己缓存地图,tilecache可以帮他完成。tilecache支持多种服务器和多种OGC服务标准,以及支持多种请求方式和格式。TileCache源自FOSS4G 2006大会上的一个决议,即后来OGC的一个推荐标准WMS Tiling Client Recommendation。所谓TileCache就是由于普通的WMS服务器在接收请求后要读取数据、生成图片,效率过低。那么对于那些一成不变的 地图服务,可以在WMS前端封装一个TMS(Tiled Map Service)。TileCache首先缓存一些WMS地图图片,提供一个伪WMS,仅在适当的时候和后台的WMS服务器交互。这个标准的实现是由OpenLayers的后台MetaCarta提供的,名字就叫做TileCache。TileCache以今年最流行的Python实现,可以通过cgi方式部署和运行在Apache和IIS以及Python的WSGI上。我所选用的是Apache Http Server 2.2来作为Web服务器,用ArcGIS Server来发布WMS服务,用OpenLayers来作客户端的地图显示。首先,Apache Http Server 2.2的安装就不用再赘逑了。由于tilecache是Python写的一个小程序,所以首先需要安装Python解释器.在安装ARCGIS的Desktop时,会自动安装Python ,如果没有安装,可以在ARCGIS的Desktop 安装盘的Desktop\Python目录下找到一个2.4的版本。或者去http://www.python.org/下载一个新版本的。我用的是2.4的。安装完毕后,要在环境变量的“系统变量”中的“Path”,在“变量值”中添加Python的安装目录。安装mod_python-3.3.1.win32-py2.4-Apache2.2.exe,安装完成后会在Apache2\modules目录下生成mod_python.so文件。mod_python的一个最主要优点就是在性能上超越传统CGI。mod_python起源于Httpdapy项目(1997)。很久以后Httpdapy才被叫做mod_python,因为Httpdapy并不是特定用于apache服务器的。Httpdapy设计成跨平台的,而实际上主要从Netscape服务器开始(追溯到1997年的Nsapy)。这个Httpdapy的README文件的摘要,很好的阐述了在HTTP server中嵌入Python所带来的挑战和解决方案。最后,配置TileCache,只需将tilecache解压至Apache2\htdocs目录下即可,然后修改titlecache.cgi文件,将第一行修改为 #!C:\Python24\python.exe –u,其中的C:\Python24\python.exe。再将这个文件更名为itlecache.py。
2008年11月20日 06点11分 1
level 8
LionGG 楼主
软件的安装基本上已经完成了,剩下的就是配置文件的修改与设置了:配置apache:在httpd.conf中加入启动mod_python的句子: LoadModule python_module modules/mod_python.so tilecache 目录设置: 在httpd.conf中添加
AddHandler python-program .pyPythonHandler TileCache.ServicePythonOption TileCacheConfig “D:\ms4w\Apache\htdocs\tilecache\tilecache.cfg”PythonPath “['D:\ms4w\Apache\htdocs\tilecache'] + sys.path”PythonDebug OnOptions Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from allAddHandler cgi-script .cgi .plAddHandler mod_python .py 修改TileCache目录下的tilecache.cfg文件,这是个配置文件,当有用户请求时,tilecache会载入这个文件,现将部分内容修改为:[cache]type=GoogleDisk #默认是Disk,googledisk是以z/x/y.extension的方式存储base=D:\Program Files\Apache2.2\htdocs\tilecache\cache\ #缓存的路径[basic] #图层的名称type=WMSLayer #url=http://127.0.0.1:8399/arcgis/services/mywmsmap/MapServer/WMSServer? #wms的urllayers=topp:states #wms所拥有的图层extension=pngresolutions=156543.033900000,78271.516950000,39135.758475000,19567.879237500,9783.939618750,4891.969809375,2445.984904688,1222.992452344,611.496226172,305.748113086,152.874056543,76.437028271,38.218514136,19.109257068,9.554628534,4.777314267,2.388657133,1.194328567,0.59716428337097171575,0.298582142 #划分比例尺srs=EPSG:4326 #投影模式bbox=-420103.879475, 252938.165464, 597869.960825, 432529.265417 #显示的范围size=256,256level=20 如果不使用resolutions,也可以用maxResolution设定最大的比例尺,系统会根据level自动声称resolutions,但如果同 时设置,resolutions会覆盖level。bbox和resolutions要根据不同的投影来计算。 接下来就用openlayers来显示,创建一个map,在option中resolutions和bbox都要和配置文件中的相同。OpenLayers里有现在样例,这里就不再列出代码了。也可以用以下链接进行测试访问:http://localhost/tilecache/tilecache.cgi?LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=90,0,180,90&WIDTH=256&HEIGHT=256注意这里的basic要和tilecache.cfg文件中所设置的图层名称[basic]一致。
2008年11月20日 06点11分 2
level 8
LionGG 楼主
在Apache上安装TileCachehttp://blog.csdn.net/chiangbt/archive/2008/07/31/2750473.aspx确保IIS没有运行,如果IIS占用了80端口,你需要让Apache使用另一个,否则会冲突的。 安装Apache (direct download link) . 查看apache 站点 获得最新版本。 确保Apache httpd服务在安装后启动,运行C:\Program Files\Apache Software Foundation\Apache2.2\bin\ApacheMonitor.exe 确保启动正常。 安装Python。 安装TileCache。 解压tilecache,复制其内容到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\.中。 修改C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\tilecache.cgi 文件第一行为#!C:/Python25/python.exe -u。 将C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\index.html 复制到C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ ,这将会覆盖缺省的index.html文件。 修改index.html的第28行:layer = new OpenLayers.Layer.WMS( “VMap0〃, “/cgi-bin/tilecache.cgi?”, {layers: ‘basic’, format: ‘image/png’ } ); 好了,现在浏览http://localhost/,其缓存将存储在c:\tmp\tilecache。你现在可以编辑tilecache.cfg了。
2008年11月20日 06点11分 4
level 8
LionGG 楼主
也谈 TileCache 的安装、配置和使用
http://www.cnblogs.com/dulvyizhihua/archive/2009/01/05/1369002.html
镀铝一枝花
2009年01月06日 15点01分 6
level 4
请问下,tilecache 和geowebcache相比之下哪个性能更好,java的直接在geoserver里面了,哪为什么还要用tilecache呢?谢谢。
2014年07月17日 03点07分 7
1