两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

 时间:2024-10-13 09:32:59

1、方法一:在ArcToolBox中重新创建该工具(最方便) 在ArcToolbox中,工具有两种组建方式,一种是Script(图标是一张纸),一种是Tool(图标是一个锤子),Script形式的工具都是以Python脚本为基础,存放在C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Script文件夹下。 在ArcGIS9.3中我们右键WriteFeaturesTOTextFile工具,选择Properties,在Souce这一项中,我们就可以看到它的本体就是Script文件夹下的名为WriteFeaturesToTextFile.py的脚本文件(如图)。 因此我们可以在ArcGIS10中以相同的方式重新创建这个工具,具体步骤如下。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

2、Step 1: 在ArcCatalog下的ToolBox根目录下,右键My Toolboxes→New→ToolBox,新建名为“Samples.tbx”的工具箱(这里是照着ArcGIS9.3恢复的,名字可以随意)。右键Samples工具箱→New→Toolset新建名为“Data ManageMent”的工具集,右键Data ManaMent工具集→Add→Script创建新的工具。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

3、Step 2: 弹出下面左图的的窗口,有4个选项要填,我们可以照着下面右图里ArcGIS9.3的属性填。Name是工具的名字(不能有空格),Label是工具在Arctoolbox中显示的名字,Description是对这个工具的介绍描述信息,Stylesheet是工具的样式表单,WriteFeaturesToTextFile工具是包含在Geopressing里头,我们选择C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Stylesheets文件夹下的geoprocessing_help.xsl文件。点击下一步。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具
两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

4、Step 3: Script就选择刚才提到的脚本文件,在C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Script文件夹下的WriteFeaturesToTextFile.py。点击下一步。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

5、Step 4: 弹出下面左图的窗口,需要这个工具的输入输出设置参数。同样的我们可以照着右图的ArcGIS9.3里的进行设置。WriteFeaturesToTextFile工具有3个参数需要设置。我们先看上面的表格,在Display Name里点击可以添加参数,在Data Type里设定参数的类型。添加以下三个参数:

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具
两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

6、① “Input Features”类型为Feature Layer② “Output Text Fiel”类型为Text File③ “Decimal Seperator Character”类型为String再看下面的表格,是设定每个参数的具体属性,前两个属性我们默认就行,第三个属性“Decimal Seperator Character”有三个地方需要自行设置:① “Type”选择“Optional”② “Default”填“locale decimal point”(固定值,不能多字少字,注意大小写)③ “Filter”选择“Value List”,然后点击后面的按钮,弹出如下窗口,把一共5个固定值填入。(这里是严格还原ArcGIS9.3里的WriteFeaturesToTextFile工具,根据自己的需要也可以不用填其他值,只要一个默认值就好)。点击确定。参数设置完毕。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

7、 然后点击Finish按钮完成整个工具的创建,就可以看到Data Management工具集下多了一个新的工具,点开就可以正常使用了(注意WriteFeaturesToTextFile的txt文件路径不能有中文)。也可以将Samples工具箱另存为Samples.tbx(一定要加后缀名),然后就能用U盘拷到其他电脑上用了。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具
两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

8、方法二:用Python直接执行功能(可以批处理) 相较于ArcGIS9.X来说,ArcGIS10.X在与Pyhon相契合方面有了很大进步,用户可以直接在ArcPy窗口中以Pyhon命令执行功能。这种方式有两个好处,一个是用户可以执行在ArcGIS基本功能基础上的其他自定义计算处理,另一个就是可以方便的批处理,这一点是ArcGIS Desktop做不到的。对于Script文件夹下的这些格式为.py的脚本文件,我们当然也可以直接用Python命令来调用它们。具体步骤如下:

9、Step 1: 先用记事本打开WrtiteFeaturesToTextFile.py文件(在C:\Program Files (x86像粜杵泳)\ArcGIS\Desktop10.2\ArcToolbox\Scripts文件夹下),观察发现该脚本中并没有函数,只是一段语句,所以我们就不能以function(参数1,参数2,参数3…)的方式来调用。那我们的参数设置在哪里呢?再细细观察发现,该模块用其实到了三个sys.argv[]参数,如下图所示,其中第一个参数sys.argv[1]就是输入的FeatureClass格式的shp文件,第二个参数sys.argv[2]就是输出的坐标文本文件,第三个参数sys.argv[3]就是坐标文件中的分隔符,可以看到,模块里定义了5个预设值,这就是我们在方法一中为什么要一字不差的设置好分隔符的原因了。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具

10、Step 2:打开ArcGIS里的Pyhon窗口,书写如下的代码即可。>>> import s烤恤鹇灭ys>>> sys.path.append('C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts')# 因为WriteFeaturesToTextFile.py不在Arcpy目录下,所以要先把Script文件夹的路径加进来,这样就可以找到该模块了,当然也可以手动修改环境变量>>> inputFC=r'E:\123.shp'>>> outFile=r'E:\abc.txt'>>> sep='locale decimal point'# 然后给我们的三个参数赋值>>> sys.argv.append(inputFC,outFile,sep)# 将我们的三个参数加进来>>> import WriteFeaturesToTextFile# 然后导入模块,执行语句就OK了第二种方法需要一定的编程基础,但是熟练了以后可以带来很大的方便。

两种方法在ArcGIS10.X中调用原ArcGIS9.X的工具
  • ArcGIS知识集:[3]影像镶嵌处理
  • ArcMap如何创建地址定位器
  • 图解利用ArcMap实现地图中插入表格
  • 在ArcGIS中如何对栅格目录进行色彩平衡
  • arcgis地图横向显示方法
  • 热门搜索
    童话天地手抄报 我爱阅读手抄报图片 心理健康手抄报资料 民族文化手抄报 少年中国说手抄报 国庆节手抄报简单又漂亮字少 地球日手抄报的文字 身边的科学手抄报 关于病毒的手抄报简单又漂亮 核心价值观手抄报内容