banbanbai 发表于 2015-8-14 11:35:07

在IIS上安装TileCache,缓存地图

  参考了http://www.hmgis.cn/post/301.html
  以及tilecache官网的一些资料
  1.首先,这个tilecache是用python写的,所以必须要先安装python的环境。安装过arcgis desktop的话应该对python有所了解的。
安装完成后需要注意把安装目录加入到系统变量中(修改系统变量应该是要重启才能有效果的吧?)

  2.下载TileCache并且解压到“C:\Inetpub\wwwroot\tilecache”中

  3.在IIS中配置python的环境:打开IIS管理器,在“默认网站”右键中选择“属性”“主目录”选项卡中的“配置”按钮:
在弹出的映射对话框中点击“添加”,在对话框中如下设置,注意两个%s: (可以手动输入,也可以按浏览导航到安装目录)



  打开命令行窗口,在c:\inetpub\adminscripts目录下顺序键入下面两个命令:
adsutil set w3svc/AllowPathInfoForScriptMappings True 这个可能会报错,然后出现一些设置脚本的对话框,点击几个确认后再执行一遍就OK
adsutil set w3svc/1/AllowPathInfoForScriptMappings True


[*]测试:在tilecache目录下新建一个test.py文件

测试python配置
1print
2print 'Status: 200 OK'
3print 'Content-type: text/html'
4print
5
6print '<HTML><HEAD><TITLE>Python Sample</TITLE></HEAD>'
7print '<BODY>'
8
9print '<p>'
10print '<H1>Hello,World!</H1>'
11print '<br>'
12print '</BODY>'
13   在IIS中发布tilecache目录,浏览http://localhost/tilecache/test.py,如果出现 hello world 则说明在IIS中配置python成功
  4.tilecache的配置:

[*]将‘C:\Inetpub\wwwroot\tilecache\tilecache.cgi’文件重命名为‘C:\Inetpub\wwwroot\tilecache\tilecache.py’
[*]编辑tilecache.py文件,将第一行代码‘#!/usr/bin/env python’删除,将Service.Load中的参数修改为‘C:\\Inetpub\\wwwroot\\tilecache\\tilecache.cfg’
[*]编辑C:\Inetpub\wwwroot\tilecache\TileCache\Service.py文件,将Service.Load中的参数修改为‘C:\\Inetpub\\wwwroot\\tilecache\\tilecache.cfg’
[*]编辑C:\Inetpub\wwwroot\tilecache\tilecache.cfg文件,不同版本的tilecache可能会有一些不同,但是这个文件中的说明很是详细,照猫画虎就行。主要配置2个部分:放cache的目录和map服务。于是我们在C:\Inetpub\wwwroot\tilecache\目录下新建一个cache目录,并且修改tilecache.cfg中的节点下的base=C:\Inetpub\wwwroot\tilecache\cache。map服务由于测试,所以使用默认的basic
[*]编辑tilecache文件夹中的index.html文件,将tilecache.cgi?改为tilecache.py?
[*]设置cache目录的写入权限:

有可能也需要在windows目录下右键cache文件夹做权限设置(我就被这个问题折腾了1天。。)
5.测试:http://localhost/tilecache210/index.html 出现和tilecache官网右上角的demo一样的地图则说明配置成功,此时查看cache目录下就应该有缓存的地图
  在命令行工具中输入python “C:\Inetpub\wwwroot\tilecache\tilecache_seed.py”basic 0 2 即可对tilecache.cfg中配置的basic节点的地图进行缓冲,具体的参数说明如下
tilecache_seed.py <layer> [<zoom start> <zoom stop>]
可选参数     --version 显示tilecache的版本 -h, --help 帮助
-f,--force 即时已经存在缓存,仍然强制重新缓存
-b BBOX, --bbox=BBOX 只缓存指定的矩形块 -p PADDING, --pading=PADDING 缓存目标区域边缘的额外瓦片. 默认值为 0 (错失一些边缘的瓦片).设为1 则创建所有的边缘地带缓存,但有一些瓦片是完全在指定区域以外的
必填参数
layertilecache.cfg中的图层节点名zoom start,zoom end :级别
  
  
页: [1]
查看完整版本: 在IIS上安装TileCache,缓存地图