动态加载工具箱 转载

 

#  -*- coding: cp936 -*-
#
 动态加载工具箱
#
 billschen@163.com
#
 billschen.com
#
 ----------------------------------------------------------
#
 当我们将写好的Python脚本放做成工具箱,
#
 供级我们的同事使用的时候,可能会有些麻烦.
#
 因为我们写的脚本通常需要加载ArcGis的一些工具箱.
#
 但是,每台机的arcGis安装路径可能会不相同.因此
#
 如果使用以下的表达式
#
 gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")
#
 则可以造成工具箱无法正常加载,因为如果别人机子上的arcGis不是安装于这个路径之下的话,
#
 那么,怎样才能解决这个问题呢?.总不至于要对方重装ArcGis软件吧?
#
 笔者经过研究,发现一个方法,仅供参考.
#
 arcgisscripting 模块有一个属性:__file__
#
 该属性返回的是 arcgisscripting.dll 这个DLL文件所有的位置.
#
 如:C:\Program Files\ArcGIS\bin\arcgisscripting.dll
#
 显然,可以利用这个属性检查出计算机安装arcGis所在的路径.
#
 然后动态地加载工具箱, 代码如下所示
#
 ----------------------------------------------------------

import  os, sys, string
import  arcgisscripting
gp 
=  arcgisscripting.create()

#  定义需要加载工具箱的路径名称
toolNameList  = [
    r
' ArcToolbox\Toolboxes\Data Management Tools.tbx ' ,
    r
' ArcToolbox\Toolboxes\Analysis Tools.tbx ' ]

arcGisScriptPath 
=  None
arcGisToolPath 
=  None

try :
    
#  获得 arcgisscripting.dll 所在的路径,目的是为了取得ArcGis的安装路径
    arcGisScriptPath  =  arcgisscripting. __file__
    
for  toolName  in  toolNameList:
        arcGisToolPath  
=  \
                       arcGisScriptPath.replace( \
                           r
' bin\arcgisscripting.dll ' , toolName)
        gp.AddToolbox(arcGisToolPath)
except :
    gp.AddMessage(
' 无法加载工具箱 ' + arcGisToolPath + ' ,请检查的你的ArcGis安装是否完整 ' )
    
del  gp
    sys.exit()


#  开始正式的处理工作

 

 

转载于:https://www.cnblogs.com/powermap/archive/2010/05/27/1745585.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值