设为首页 收藏本站
查看: 1567|回复: 0

[经验分享] 电子地图的瓦片--在IIS上安装TileCache[转]

[复制链接]
累计签到:5 天
连续签到:1 天
发表于 2015-8-14 00:12:25 | 显示全部楼层 |阅读模式
TileCache是我在翻译《GIS for Web developer》一书时了解的一个GIS组件,它居于GIS服务器之前,可以将任何WMS服务的数据进行Cache处理,以产生瓦片式WebGIS效果。我在网络上寻找了许久关于TileCache安装和使用的资料,但是一直没有什么结果,后来好不容易在Google的缓存中寻找到一篇《Seting up TileCache on IIS》的文章,特翻译出来以共享之。  
  TileCache的缓存效果可以使得WMS服务的速度加快10-100倍,甚至更高,但它是使用python开发的一个开源工具,其开发者是Metacarta labs。我们下面将在IIS上使用TileCache。(我觉得IIS挺好用的,比起Apache来)
  

  • 下载最新版本的Python(2.5.1)【2.1版本不行】。我安装的是ESRI软件中包含的2.4版本,因此下面的版本号可以有所不同;
  • 运行Python installer fow windows并安装Python在默认目录"c:\python24"
    DSC0000.png
  • 安装完python后,需要设置其环境变量。如下图所示:
    DSC0001.png
  • 在变量Path中添加“;c:\python24\;”,注意前后的逗号
    DSC0002.png
  • 下载TileCache的最新版本2.0.4,解压到“C:\Inetpub\wwwroot\tilecache”中:
    DSC0003.png
  • 打开IIS的管理器,一个快捷方式是在运行中输入inetmgr;
  • 现在我们需要让IIS能够解析Python脚本,在“默认网站”右键中选择“属性”“主目录”“配置”按钮:
    DSC0004.png
  • 在弹出的映射对话框中点击“添加”,在对话框中如下设置,注意两个%s:
    DSC0005.png
  • 输入完成后,将出现下列情况,现在IIS就能解析Python了:
    DSC0006.png
  • 点击tilecache文件夹右键“属性”,弹出对话框:
    DSC0007.png
  • 在对话框中“目录”“应用程序设置”的“应用程序名称”应该是不存在的,点击旁边的“新建”按钮,出现下面情况:
    DSC0008.png
  • 打开命令行窗口,在c:\inetpub\adminscripts目录下顺序键入下面两个命令:

    • adsutil set w3svc/AllowPathInfoForScriptMappings True
    • adsutil set w3svc/1/AllowPathInfoForScriptMappings True

  • 将‘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’ 。像下面这样:
    DSC0009.png
  • 在tilecache文件夹中新建一个Cache文件夹,这样是产生Cache的目录。我们需要给这个文件夹一个“可写”的权限。
  • 编辑tilecache文件夹中的tilecache.cfg文件,将[cache]修改:
    DSC00010.png
    改为
    DSC00011.png
  • 修改处于[basic]下面的url值,[basic]是你想要缓存的图层名,这个设置必须正确。下面是来自Metacarta一个WMS服务上的图层,名为basic
    DSC00012.png
  • 编辑tilecache文件夹中的index.html文件,将tilecache.cgi?改为tilecache.py?
    DSC00013.png
  • 现在,恭喜你,你的Tilecache在IIS上的安装已经完成了。
    DSC00014.png
  • 查看Cache文件夹,已经有缓存产生了,basic文件夹表示的是basic图层,你可以看到许许多多文件夹:
    DSC00015.png
  • 现在让我们为整幅地图产生缓存,即手工来产生Cache,在命令行工具中输入下面的命令:
    python “C:\Inetpub\wwwroot\tilecache\tilecache_seed.py” “http://localhost/tilecache/tilecache.py?” basic 0 2
  • 这里的0,2是指地图的缓存级别,你可以自己设置,如果你设置成0 6,它将会产生7级的地图缓存,不过消耗的时间非常多。反正我是没这样做的。 修改index.html的内容,注意是TitleCache:

    DSC00016.jpg

  • 再次恭喜你,一切成功咯。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98610-1-1.html 上篇帖子: IIS 7的error解决 下篇帖子: IIS 使用域用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表