Questions tagged «python-script-tool»

Python脚本工具已添加到ArcGIS for Desktop的标准工具箱(* .tbx)中

3
为什么要通过Python脚本工具来学习/使用Python工具箱?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我已经编写了一些Python工具箱(这是ArcGIS 10.1中的新增功能),但是还没有决定是否/何时应该在标准工具箱中编写而不是Python脚本工具。 我以为在线帮助开头带有一些点,可能会启发我: 创建后,Python工具箱中的工具具有许多优势 但是,列出的五个优点似乎都是无法使用Python编写工具的原因,而且似乎都没有一个比Python脚本工具更能说明Python Toolboxes的优点。 我能想到的两个优点是: 现在,我可以在一个Python脚本中编写“纯” Python工具,而不必像使用工具验证那样将其连接到单独编写的对话框中,但是我很乐于务实而不是单纯 我现在可以使用代码(Python或任何能够编写文本文件的语言)来自动编写Python工具箱,但是我还没有遇到这样做的要求 我是否忽略了导致Esri提供Python Toolbox功能的引人注目的案例,如果是的话,它是什么?

2
使按钮将Python脚本称为命令而不是脚本工具?
我相信在Arc9.3中,可以使用VBA脚本创建命令。要添加自定义命令,请导航至“自定义”>“工具栏”>“自定义...”,然后单击“ UIControls”。但是,UIControls在版本10中不存在。 我正在为地图册项目创建两个单独的脚本。一个脚本会将布局设置保存到表中,另一个脚本将使用同一表中的设置更新布局。我希望这两个脚本都是分配给工具栏中按钮的命令。我将它们创建为脚本工具,但是只要单击它们,它们就会将脚本作为地理处理工具运行。它打开了一个进度窗口,执行时间比在Python命令行窗口中运行代码要长10倍。我不需要进度窗口或更长的执行时间。 如何使脚本不被视为“工具”,而是类似于“保存”按钮的命令?

1
作为ArcGIS工具的Python脚本性能与独立版本相比
有没有人研究过在ArcToolbox中运行Python脚本与作为独立脚本运行时的区别?我必须编写一个快捷脚本,通过提取波段1将一组RGB图像转换为单个波段。作为一个独立的脚本读写PC,它可以在约350秒内处理1000张相同大小的图像。从ArcToolbox运行相同的脚本大约需要1250秒。 import arcpy import csv from os import path arcpy.env.workspace = in_folder image_list = arcpy.ListRasters() #Create a CSV file for timing output with open(outfile, 'wb') as c: cw = csv.writer(c) cw.writerow(['tile_name', 'finish_time']) #Start the timer at 0 start_time = time.clock() for image in image_list: #Extract band 1 to create a …

5
在ArcGIS Python脚本工具的下拉框中是否选择了图层的完整路径?
我在ArcGIS中有一个基于Python脚本的工具。该工具的参数之一是输入栅格文件,我已将其设置为栅格层(使用工具箱中的工具属性)。这意味着当我执行该工具时,我可以选择从当前加载的栅格图层的下拉列表中选择该参数,或者通过导航在文件系统中查找新的栅格图层。 然后,我使用标准arcpy.GetParameterAsText(0)代码将参数放入我的Python脚本中。当我通过文件系统进行浏览,如对话框中的文本选择一个文件也能正常工作是对文件的完整路径,但是,当我刚刚从下拉列表中选择我回来的文本只是文件名(如file.tif) 。 我正在运行的代码需要知道文件的完整路径-如何获得此文件? 如果我可以假定文件始终在工作区中,则可以将文件名附加到arcpy.env.workspace,但是我不能假设。我是否需要遍历所有已加载的层,直到找到具有相同名称的层,然后找到其完整路径,或者是否有更简单的方法?

2
在Python脚本工具中为ArcGIS Desktop创建复选框参数吗?
我正在通过编写的Python脚本创建ArcGIS工具。我想知道是否可以有一个复选框参数。 我想要一个参数,用户可以在其中选择要素类,然后从要素类中选择模型中最上层的字段,然后希望用户能够选择他们想要脚本的层并使用从最上层字段派生的复选框结构运行。 python和ArcGIS Desktop可以做到吗?

1
在Python脚本工具的参数中设置下拉列表?
我正在尝试从我编写的python脚本创建一个工具,该工具将使用我创建的列表,并将其用作完成的工具中的下拉菜单,作为输入之一(例如,请参见随附的图片): 我正在使用的列表是一个很大的列表,其中包括佛蒙特州的所有城镇,我从表格中的脚本中生成它(请参见下面的代码)。我怀疑目前我的问题只是设置工具“属性”以获取此列表并使用它为用户创建一个下拉列表。这是创建用于参数的列表的代码块-有人看到该工具的此代码结束有任何问题吗? import arcpy arcpy.env.workspace = "Z:\\OPS\\TechnicalServices\\Culverts\\GetCulverts\\GetCulverts.gdb" towns = "Database Connections\\GDB_GEN.sde\\GDB_Gen.VTRANS_ADMIN.townindex" arcpy.MakeFeatureLayer_management(towns,"towns_lyr") NameList = [] NameListArray = set() rows = arcpy.SearchCursor("towns_lyr") for row in rows: value = row.getValue("TOWNNAME") if value not in NameListArray: NameList.append(value) town = NameList town = arcpy.GetParameterAsText(0) 这也是工具属性的图像,带有默认的验证代码-我需要更改此验证代码吗? 我寻找了有关更改此验证码的信息,但找不到有关将其用于格式化下拉列表的信息。


2
使用Python和ArcGIS Desktop实施具有多列的MultiValue参数?
我正在使用ArcGIS(9.3)Python脚本。输入之一是功能列表。对于每个功能,我需要选择一个相应的字段。将参数设置为MultiValue可在UI中为所有正在处理的功能提供漂亮的表格。如何在MultiValue表中添加另一列以为每个功能选择一个字段? 交叉发布:http : //forums.arcgis.com/threads/30907-MultiValue-Parameter-with-Multiple-Columns 来自ArcGIS论坛的Esri答案: 不幸的是,针对此的解决方案最近才在10.1中使用脚本工具的ValueTable输入实现。您将需要具有一些自定义验证的两个多值参数,才能使此功能适用于9.3.1。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.