﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-awp001-随笔分类-GIS</title><link>http://www.blogjava.net/awp001/category/42265.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 20 Oct 2009 10:39:59 GMT</lastBuildDate><pubDate>Tue, 20 Oct 2009 10:39:59 GMT</pubDate><ttl>60</ttl><item><title>TileCache安装与配置全程攻略</title><link>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html</link><dc:creator>awp001</dc:creator><author>awp001</author><pubDate>Tue, 20 Oct 2009 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html</guid><wfw:comment>http://www.blogjava.net/awp001/comments/299028.html</wfw:comment><comments>http://www.blogjava.net/awp001/archive/2009/10/20/299028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/awp001/comments/commentRss/299028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/awp001/services/trackbacks/299028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;前阵子想得到全国70个大中城市的Google地图，开始接触TileCache，TileCache在建立分块地图缓存，提高客户端访问速度方面绝对是一个好帮手，只不过官方文档比较的难看懂，搜索的关于安装配置方面的文章，通过摸索发现实际上不是大多数人说的那样，或多或少的漏掉一些东西了，由于本人刚接触，才疏学浅，有描述不当的地方请大家指正。<br />
&nbsp;&nbsp;&nbsp;&nbsp;TileCache可以作为IIS和Apache的CGI插件，由于我的应用是Windows环境下的MapServer配合Apache服务器运行，所以以下都是在Windows环境下Apache服务器完成的安装配置过程的描述。理论上IIS也可以，至于在Linux平台下，应该区别不是很大。<br />
&nbsp;&nbsp;&nbsp;&nbsp; TileCache的官方网站是<a tabindex="-1" href="http://tilecache.org/">http://tilecache.org/</a>，在这里可以下载到最新版本的TileCache。<br />
&nbsp;&nbsp;&nbsp; 我的Apache服务器版本是2.2.8，接下来安装Python，我选择的2.3版本，建议安装在驱动器根目录下（如C:\Python23 ）。<br />
&nbsp;&nbsp;&nbsp;&nbsp;要在Apache服务器上启用Python还要下载安装一个Module，下载地址<a href="http://www.modpython.org/" target="_blank">http://www.modpython.org/</a>&nbsp; ，在下载页面选择合适的版本，由于我的环境是Apache2.2.8和Python2.3，于是我选择了mod_python-3.3.1.win32-py2.3-Apache2.2.exe，安装完成后在Apache\modules目录下可以看到mod_python.so文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在Apache安装目录下找到conf/httpd.conf文件，编辑该文件，在LoadModule部分增加如下设置：<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">LoadModule&nbsp;python_module&nbsp;modules</span><span style="color: #000000">/</span><span style="color: #000000">mod_python.so</span></div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;同时，还要为TileCache在Apache服务器建立虚拟目录，同样在conf/httpd.conf文件增加以下设置：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">#</span><span style="color: #008000">TileCache虚拟目录</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">Alias&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">tilecache</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">F:/GIS/TileCache/2.10/</span><span style="color: #800000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">Directory&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">F:/GIS/TileCache/2.10/</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;AddHandler&nbsp;mod_python&nbsp;.py<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;AddHandler&nbsp;python</span><span style="color: #000000">-</span><span style="color: #000000">program&nbsp;.py<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonHandler&nbsp;TileCache.Service<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonOption&nbsp;TileCacheConfig&nbsp;F:</span><span style="color: #000000">/</span><span style="color: #000000">GIS</span><span style="color: #000000">/</span><span style="color: #000000">TileCache</span><span style="color: #000000">/</span><span style="color: #000000">2.10</span><span style="color: #000000">/</span><span style="color: #000000">tilecache.cfg<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonDebug&nbsp;On<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;PythonPath&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">['F:/GIS/TileCache/2.10/']+sys.path</span><span style="color: #800000">"</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; AllowOverride&nbsp;None<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; Options&nbsp;Indexes&nbsp;FollowSymLinks&nbsp;Multiviews&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp; Order&nbsp;allow,deny&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;Allow&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;all<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">Directory</span><span style="color: #000000">&gt;</span></div>
<br />
这一部分是目前相关参考资料都没有完整的说明白的地方，<br />
第2行将虚拟目录指向TileCache的安装目录，请根据你的TileCache安装目录进行调整；<br />
注意第4行和第5行，mod_python .py和python-program .py中&#8220;.py&#8221;前面有空格；<br />
第7行指定TileCache配置文件路径；<br />
第9行很重要，指定PythonPath为安装目录和系统目录，不加上sys.path通常会出现&#8220;ImportError: No module named TileCache.Service&#8221;错误；<br />
同事为了允许匿名访问还要加上第12行。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;这样，Apache服务器的配置就完成了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;接下来要配置TileCache了，在TileCache安装目录编辑tilecache.cgi，将第一行更改成：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">#</span><span style="color: #008000">!C:/Python23/python.exe&nbsp;-u</span></div>
<br />
保存后，将扩展名改成.py<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;同样在TileCache安装目录编辑tilecache.cfg，进行以下配置：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">[cache]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />type</span><span style="color: #000000">=</span><span style="color: #000000">Disk<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />base</span><span style="color: #000000">=</span><span style="color: #000000">E:</span><span style="color: #000000">/</span><span style="color: #000000">TileCache</span></div>
其中，base就是分块地图的缓存物理位置。<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;这样，整个配置过程就完成了，重新启动Apache看看效果吧。用以下地址进行测试，如果出错的话，可以看到详细的出错提示，<br />
http://127.0.0.1/tilecache/tilecache.py?LAYERS=basic&amp;FORMAT=image%2Fpng&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetMap&amp;STYLES=&amp;EXCEPTIONS=application%2Fvnd.ogc.se_inimage&amp;SRS=EPSG%3A4326&amp;BBOX=-180,0,-90,90&amp;WIDTH=256&amp;HEIGHT=256<br />
一切正常以后可以访问http://127.0.0.1/tilecache/index.html进行浏览。 
<img src ="http://www.blogjava.net/awp001/aggbug/299028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/awp001/" target="_blank">awp001</a> 2009-10-20 15:04 <a href="http://www.blogjava.net/awp001/archive/2009/10/20/299028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>