描述
数据集的 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 示例
将输出参数的 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
ToolValidator 类中的 Schema 示例
查询特定工具参数的方案
import arcpy
toolname = "Buffer_analysis"
parameter = 1
# Get the schema of the tool parameter
schema = arcpy.GetParameterInfo(toolname)[parameter].schema
properties = ['additionalChildren', 'additionalFields', 'cellSize',
'cellSizeRule', 'clone', 'extent', 'extentRule',
'featureType', 'featureTypeRule', 'fieldsRule',
'geometryType', 'geometryTypeRule', 'rasterFormatRule',
'rasterRule', 'type']
# Walk through all schema property and print out the value
for property in properties:
try:
print("{0} : {1}".format(property, eval("schema." + property)))
except NameError:
print property