Schema
Краткая информация
Схема набора данных.
Обсуждение
Каждый выходной параметр типа класса пространственных объектов, таблица, растр или рабочая область имеет объект Schema. Только у выходных классов пространственных объектов, таблиц, растров и рабочих областей есть объект схемы, у других типов его нет. Объект Schema создается при проверке инструмента геообработки. К схеме осуществляется доступ через объект 'параметр', и устанавливаются правила для описания выходных данных инструмента. После установки правил схемы в процессе проверки код внутренней проверки геообработки проверяет установленные правила и обновляет описание выходных данных.
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
additionalChildren (Чтение / Запись) |
Список наборов данных, которые будут добавлены в схему рабочей области. |
String |
|
additionalFields (Чтение / Запись) |
Дополнительные поля, которые будут созданы инструментом. Эти поля являются дополнительными к полям, добавленными при применении свойства |
Field |
|
cellSize (Чтение / Запись) |
Размер ячейки выходных данных. Используйте это свойство, когда значение свойства |
Double |
|
cellSizeRule (Чтение / Запись) |
Определяет размер ячейки выходных растров или гридов.
|
String |
|
clone (Чтение / Запись) |
Определяет, будет ли использоваться точная копия (клон) описания в первом зависимом параметре. Значение по умолчанию равно |
Boolean |
|
extent (Чтение / Запись) |
Экстент, который будет использоваться, когда значение свойства |
Extent |
|
extentRule (Чтение / Запись) |
Задает, как будет управляться свойство
|
String |
|
featureType (Чтение / Запись) |
Указывает тип выходного объекта, если значение свойства
|
String |
|
featureTypeRule (Чтение / Запись) |
Определяет тип объекта выходного класса объектов. Это правило не влияет на выходные растровые данные или таблицы.
|
String |
|
fieldsRule (Чтение / Запись) |
Определяет, какие поля будут в выходном классе объектов или таблице.
|
String |
|
geometryType (Чтение / Запись) |
Указывает тип геометрии выходных данных. Значение может быть |
String |
|
geometryTypeRule (Чтение / Запись) |
Определяет тип геометрии (например, точка или полигон) выходного класса объектов.
|
String |
|
rasterFormatRule (Чтение / Запись) |
Определяет формат выходного растра: |
String |
|
rasterRule (Чтение / Запись) |
Определяет тип данных в выходных растровых данных.
|
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 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