Краткая информация
Схема набора данных.
Обсуждение
Каждый выходной параметр типа класса пространственных объектов, таблица, растр или рабочая область имеет объект Schema. Только у выходных классов пространственных объектов, таблиц, растров и рабочих областей есть объект схемы, у других типов его нет. Объект Schema создается для вас при проверке инструмента геообработки. К схеме осуществляется доступ через объект 'параметр', и устанавливаются правила для описания выходных данных инструмента. После установки правил схемы в процессе проверки код внутренней проверки геообработки проверяет установленные правила и обновляет описание выходных данных.
Свойства
Свойство | Описание | Тип данных |
additionalChildren (чтение и запись) | Список Python с базами данных, добавляемыми в схему рабочей области. | String |
additionalFields (чтение и запись) | Указывает дополнительные поля для свойства fields. Помимо полей, добавленных при применении, в выходные данные можно добавить дополнительные поля. | Field |
cellSize (чтение и запись) | Установите размер ячейки, используемый, если значение cellSizeRule равно AsSpecified. | Double |
cellSizeRule (чтение и запись) | Определяет размер ячейки выходного набора растровых данных или сеток.
| String |
clone (чтение и запись) | Если значение равно True, создается точная копия (клон) описания первого влияющего параметра. Значением по умолчанию является 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. | String |
geometryTypeRule (чтение и запись) | Этот параметр определяет тип геометрии (например, точка или полигон) выходного класса объектов.
| String |
rasterFormatRule (чтение и запись) | Определяет формат выходных растровых данных, GRID или Img. По умолчанию используется Img, т. е. формат ERDAS IMAGINE. | String |
rasterRule (чтение и запись) | Определяет тип данных (integer или float) в выходных растровых данных.
| String |
type (только чтение) | Тип схемы: объект, таблица, растр или контейнер (для наборов данных рабочих областей и объектов). | 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 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