0

我是使用 Python 创建 Python 工具箱的初学者。我试图按照此视频中的说明http://www.youtube.com/watch?v=B6zbzPOnYYQ创建我的第一个 Python 工具箱 我尝试使用该视频中的代码创建此工具箱(从 24:00 到27:00)。但是,在编写了确切的代码并尝试运行它之后,我得到了这个错误;

Traceback (most recent call last):  File "<string>", line 24,
  in getParameterInfoAttributeError: 'module' object has no attribute 'Paramter' 

代码如下图所示

import arcpy

class Toolbox(object):
    def __init__(self):
        """Define the toolbox (the name of the toolbox is the name of the
        .pyt file)."""
        self.label = "Calculate Geomtery"
        self.alias = "Geometry"

        # List of tool classes associated with this toolbox
        self.tools = [CalculateGeometry]


class CalculateGeometry(object):
    def __init__(self):
        """Define the tool (tool name is the name of the class)."""
        self.label = "Calculate Geometry"
        self.description = ""
        self.canRunInBackground = True

    def getParameterInfo(self):
        # First parameter
    in_features = arcpy.Paramter(
        displayName="Input Features",
        name="in_features",
        datatype="Feature Layer",
        parameterType="Required",
        direction="Input")
    in_features.filter.list = ["Point", "Polyline", "Polygon"]

        # Second parameter
    field = arcpy.Paramter(
        displayName="Field Name",
        name="field_name",
        datatype="Field",
        parameterType="Required",
        direction="Input")

    field.parameterDependencies = [in_features.name]
    in_features.filter.list = ["Short", "Long", "Double", "Float", "Text"]

    # Third parameter
    geomProperty = arcpy.Paramter(
        displayName="Property",
        name="geomProperty",
        datatype="String",
        parameterType="Required",
        direction="Input")

    # Fourth parameter
    units = arcpy.Paramter(
        displayName="Units",
        name="units",
        datatype="String",
        parameterType="Optional",
        direction="Input",
        enabled=False)

    # Fifth parameter
    out_features = arcpy.Paramter(
        displayName="Output Features",
        name="out_features",
        datatype="Feature Layer",
        parameterType="Derived",
        direction="Output")

    out_features.parameterDependencies = [in_features.name]
    out_features.schema.clone = True

    params = [in_features, field, geomProperty, units, out_features]
    return params

    def isLicensed(self):
        """Set whether tool is licensed to execute."""
        return True

    def updateParameters(self, parameters):
        """Modify the values and properties of parameters before internal
        validation is performed.  This method is called whenever a parameter
        has been changed."""
        return

    def updateMessages(self, parameters):
        """Modify the messages created by internal validation for each tool
        parameter.  This method is called after internal validation."""
        return

    def execute(self, parameters, messages):
        """The source code of the tool."""
        return

任何帮助将非常感激

4

1 回答 1

1

从您的错误消息和文档中,我认为您拼错了这个词。

它应该是:arcpy.Parameter(parameters)

抱歉,我本可以发表评论,但没有足够的声誉。

于 2014-04-25T08:05:40.817 回答