惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
腾讯CDC
博客园 - 司徒正美
A
About on SuperTechFans
H
Help Net Security
J
Java Code Geeks
C
Check Point Blog
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
博客园 - 【当耐特】
雷峰网
雷峰网

博客园 - powermap

永通牌防伪识别小窍加油加油 收集的Django资源(转) ETL中实现xls文件生成SHAPE(面) 动态生成文件名,使输出不至于覆盖原有文件 python学习(1)--sys.argv 由经纬度计算Google卫星地图中瓦片Tile的地址 2008年土地变更调查 我的宝宝 标准农田上图工作 小植物和暴力熊 - powermap - 博客园 好久没有没来了 以彼之道 还施彼生 攻破变更软件2006 数据导入 关于arccatalog topolopy 我的家 手机设计与制造全过程曝光 Geographic coordinate system和projected coordinate system ArcGis Modelbuilder: getting started Arcgis安装出现的问题 使用ArcGIS的Raster Caclutaor剪切栅格文件
动态加载工具箱 转载
powermap · 2010-05-27 · via 博客园 - powermap

# -*- 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 
= Nonetry:
    
# 获得 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()
# 开始正式的处理工作