Questions tagged «tool-validation»

3
使用工具验证而不使用频率在ArcGIS中生成多值选择列表?
我正在尝试改编ESRI博客网站上的模型和脚本组合,标题为 “生成多值选择列表”。 但是,我得出的结论是,嵌入式脚本中使用的部分验证依赖于“频率”工具才能正常运行,但这仅适用于Advanced许可(lam)。博客文章解释了工作流程以及在何处下载模型和脚本(但我会根据要求将它们愉快地发布在此处)。据我所知,我所追求的功能的核心是生成一个多值选择列表: ..取决于验证脚本是否正常运行。没有验证,我无法从字段中获取值以列表形式显示。有什么我可以从验证脚本中删除的东西来获得我想要的功能,还是有解决方法?我不熟悉验证过程。这是验证的代码(我打算作为代码示例发布,但是看起来可能更容易理解): [ 编者注:这是实际的验证码,图片不正确] import arcpy class ToolValidator(object): """Class for validating a tool's parameter values and controlling the behavior of the tool's dialog.""" def __init__(self): """Setup arcpy and the list of tool parameters.""" self.params = arcpy.GetParameterInfo() def initializeParameters(self): """Refine the properties of a tool's parameters. This method is …

1
在Python工具箱工具中设置值表的默认值
我创建了一个Python工具箱工具来对字段重新排序,并使用重新排序的字段创建新的要素类。该工具运行良好,并且我可以使用值表让用户按他们选择的顺序排列字段,也可以为每个字段填写排名值。但是,此工具的烦人之处在于,在重新排序之前,所有字段都必须一次添加到值表中。 我试图将其设置为默认情况下将所有字段引入值表,并且可以在重新排序之前删除所有不需要的字段。以前有人做过这样的事吗?我试图在UpdateParameters方法中实现这一点。这是我正在尝试的代码: import arcpy import os class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Reorder Fields" self.alias = "Reorder Fields" # List of tool classes associated with this toolbox self.tools = [ReorderFields] class ReorderFields(object): def __init__(self): """Define …

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) 这也是工具属性的图像,带有默认的验证代码-我需要更改此验证代码吗? 我寻找了有关更改此验证码的信息,但找不到有关将其用于格式化下拉列表的信息。

1
在执行ArcGIS Python脚本工具期间是否提示用户输入?
在为脚本工具指定了所有参数之后,我想提示用户输入。我已经看到很多论坛帖子和关于此的stackexchange问​​题,他们都认为这是不必要的,但是我认为我的情况是个例外。我想让用户有机会确认数据,例如有多少组GPS坐标。它们将是是/否的问题(“此数据是否明显不正确?”),脚本工具参数输入表单似乎不适用于此情况。 我知道Tkinter的事件处理程序会导致ArcGIS问题,而其他framworks也有类似的问题。我发现的一种解决方法是让您的脚本调用另一个作为独立进程运行的脚本,并显示来自第二个进程的GUI,但这似乎有点过于骇人听闻了。 显然wxPython 确实可以工作,但是python不包含它。我需要能够分发这些脚本而没有ArcGIS以外的任何其他要求,因此这对我不起作用。 为了澄清,最重要的用途是在我的软件验证检查无法验证数据时提示用户。例如,我有一个要验证的ID列表,但格式不一致。如果我无法在软件中进行验证(例如,ID与常见模式之一不符),我希望能够用是/否对话框提示用户。在我不知情的情况下,可能会创建新的ID格式。 另一个示例:我有一个文件,其中除其他外,其中包含开始和停止时间的表。我想分别验证表的每一行,并将所有这些数据以及其他检查填充到警告窗口中会很快变得难看。
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.