摘要
数据集的 schema。
说明
类型为要素类、表、栅格或工作空间的每个输出参数都具有 Schema 对象。只有输出要素类、表、栅格和工作空间具有 schema,其他类型则没有。将在地理处理工具验证中创建 Schema 对象。可以通过参数对象访问此方案,或者设置规则以便描述工具的输出。在验证中设置方案规则之后,地理处理内部验证代码会检查设置的规则并更新输出的描述。
属性
属性 | 说明 | 数据类型 |
additionalChildren (可读写) | 要添加到工作空间方案的数据集的 Python 列表 | String |
additionalFields (可读写) | 指示字段属性的附加字段。除了通过 fieldsRule 应用添加的字段以外,还可向输出添加其他字段。 | Field |
cellSize (可读写) | 当 cellSizeRule 为 AsSpecified 时,将该属性设置为要使用的像元大小。 | Double |
cellSizeRule (可读写) | 定义输出栅格或格网的像元大小。
| String |
clone (可读写) | 如果为真,则精确复制(克隆)第一个依存参数中的描述。默认值为 False。 | Boolean |
extent (可读写) | 当 extentRule 为 AsSpecified 时,将该属性设置为要使用的范围。可使用以空格分隔的字符串或者使用含有四个值的 Python 列表对象来设置范围。顺序为 xmin、ymin、xmax、ymax。 | Extent |
extentRule (可读写) | 指示管理范围属性的方式。
| String |
featureType (可读写) | 当 featureTypeRule 为 AsSpecified 时,FeatureType 中的值用于指定输出的要素类型。
| String |
featureTypeRule (可读写) | 该设置用于确定输出要素类的要素类型。此规则对输出栅格或输出表不起作用。
| String |
fieldsRule (可读写) | 用于确定将在输出要素类或输出表上存在的字段。
| String |
geometryType (可读写) | 当 geometryTypeRule 为 AsSpecified 时,将该属性设置为要使用的几何类型(Point、Multipoint、Polyline 或 Polygon)。 | String |
geometryTypeRule (可读写) | 该设置用于确定输出要素类的几何类型(例如点或面)。
| String |
rasterFormatRule (可读写) | 该属性确定输出栅格格式,GRID 或 Img。默认值为 Img,它是 ERDAS IMAGINE 格式。 | String |
rasterRule (可读写) | 该属性将确定输出栅格中包含的数据类型(整型或浮点型)。
| String |
type (只读) | 方案类型:“要素”、“表”、“栅格”、“容器”(针对工作空间和要素数据集)。 | String |
代码示例
在 ToolValidator 类中,将输出参数的 schema 设置为第一个输入参数。
def initializeParameters(self):
# Set the dependencies for the output and its schema properties. The two
# input parameters are feature classes.
self.params[2].parameterDependencies = [0, 1]
# Feature type, geometry type, and fields all come from the first dependency
# (parameter 0), the input features.
self.params[2].schema.featureTypeRule = "FirstDependency"
self.params[2].schema.geometryTypeRule = "FirstDependency"
self.params[2].schema.fieldsRule = "FirstDependency"
# The extent of the output is the intersection of the input features and
# the clip features (parameter 1).
self.params[2].schema.extentRule = "Intersection"
return
可以使用 GetParameterInfo 函数查询特定工具输出参数的方案。
import arcpy
toolname = "Buffer_analysis"
parameter_index = 1
# Get the schema of the tool parameter
schema = arcpy.GetParameterInfo(toolname)[parameter_index].schema
properties = ['additionalChildren', 'additionalFields', 'cellSize',
'cellSizeRule', 'clone', 'extent', 'extentRule',
'featureType', 'featureTypeRule', 'fieldsRule',
'geometryType', 'geometryTypeRule', 'rasterFormatRule',
'rasterRule', 'type']
# Walk through all schema properties and print out the value
for prop in properties:
try:
val = eval("schema." + prop)
print("{:<18} : {}".format(prop, val))
except (NameError, RuntimeError):
# Properties unsupported by the parameter datatype will be ignored
pass