Краткая информация
Схема набора данных.
Обсуждение
Каждый выходной параметр типа класса пространственных объектов, таблица, растр или рабочая область имеет объект Schema. Только у выходных классов пространственных объектов, таблиц, растров и рабочих областей есть объект схемы, у других типов его нет. Объект Schema создается при проверке инструмента геообработки. К схеме осуществляется доступ через объект 'параметр', и устанавливаются правила для описания выходных данных инструмента. После установки правил схемы в процессе проверки код внутренней проверки геообработки проверяет установленные правила и обновляет описание выходных данных.
Свойства
| Свойство | Описание | Тип данных |
| additionalChildren (чтение и запись) | Список наборов данных, которые будут добавлены в схему рабочей области. | String |
| additionalFields (чтение и запись) | Дополнительные поля, которые будут созданы инструментом. Эти поля являются дополнительными к полям, добавленными при применении свойства fieldsRule. | Field |
| cellSize (чтение и запись) | Размер ячейки выходных данных. Используйте это свойство, когда значение свойства cellSizeRule равно AsSpecified. | Double |
| cellSizeRule (чтение и запись) | Определяет размер ячейки выходных растров или гридов.
| String |
| clone (чтение и запись) | Определяет, будет ли использоваться точная копия (клон) описания в первом зависимом параметре. Значение по умолчанию равно False. | Boolean |
| extent (чтение и запись) | Экстент, который будет использоваться, когда значение свойства extentRule равно AsSpecified. Экстент можно задать в виде строки, разделенной пробелами, или списка из четырех значений. Последовательность — минимальный x, минимальный y, максимальный x и максимальный y. | Extent |
| extentRule (чтение и запись) | Задает, как будет управляться свойство extent.
| String |
| featureType (чтение и запись) | Указывает тип выходного объекта, если значение свойства featureTypeRule равно AsSpecified.
| String |
| featureTypeRule (чтение и запись) | Определяет тип объекта выходного класса объектов. Это правило не влияет на выходные растровые данные или таблицы.
| String |
| fieldsRule (чтение и запись) | Определяет, какие поля будут в выходном классе объектов или таблице.
| String |
| geometryType (чтение и запись) | Указывает тип геометрии выходных данных. Значение может быть Point, Multipoint, Polyline, или Polygon, когда значение свойства geometryTypeRule равно AsSpecified. | String |
| geometryTypeRule (чтение и запись) | Определяет тип геометрии (например, точка или полигон) выходного класса объектов.
| String |
| rasterFormatRule (чтение и запись) | Определяет формат выходного растра: GRID или Img. По умолчанию значением является Img, это формат ERDAS IMAGINE. | String |
| rasterRule (чтение и запись) | Определяет тип данных в выходных растровых данных.
| String |
| type (только чтение) | Определяет тип выходной схемы: Feature, Table, Raster, или Container (для рабочих областей и наборов данных объектов). | String |
Пример кода
В классе ToolValidator задайте схему выходного параметра в качестве первого входного параметра.
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 the value
for prop in properties:
try:
val = eval("schema." + prop)
print("{:<18} : {}".format(prop, val))
except (NameError, RuntimeError):
# Properties unsupported by the parameter data type will be ignored
pass