Skip to main content

Schema

Краткая информация

Схема набора данных.

Обсуждение

Каждый выходной параметр типа класса пространственных объектов, таблица, растр или рабочая область имеет объект Schema. Только у выходных классов пространственных объектов, таблиц, растров и рабочих областей есть объект схемы, у других типов его нет. Объект Schema создается при проверке инструмента геообработки. К схеме осуществляется доступ через объект 'параметр', и устанавливаются правила для описания выходных данных инструмента. После установки правил схемы в процессе проверки код внутренней проверки геообработки проверяет установленные правила и обновляет описание выходных данных.

Подробнее об объекте Schema

Свойства

Имя Объяснение Тип данных

additionalChildren

(Чтение / Запись)

Список наборов данных, которые будут добавлены в схему рабочей области.

String

additionalFields

(Чтение / Запись)

Дополнительные поля, которые будут созданы инструментом. Эти поля являются дополнительными к полям, добавленными при применении свойства fieldsRule.

Field

cellSize

(Чтение / Запись)

Размер ячейки выходных данных. Используйте это свойство, когда значение свойства cellSizeRule равно AsSpecified.

Double

cellSizeRule

(Чтение / Запись)

Определяет размер ячейки выходных растров или гридов.

  • AsSpecified—Размер выходной ячейки будет указан в свойстве cellSize.

  • FirstDependency—Размер ячейки будет вычисляться на основе первого зависимого параметра. Если зависимый параметр — растр, будет использован размер ячейки этого растра. Для других типов зависимых параметров, таких как классы объектов или наборы классов объектов, для вычисления размера ячейки будет использоваться экстент данных. Если первый зависимый параметр содержит несколько значений (список значений), будет использовано первое значение.

  • Max—Будет использован наибольший размер ячейки зависимых параметров.

  • Min—Будет использоваться наименьший размер ячейки зависимых параметров.

  • Environment—Размер ячейки будет рассчитан на основе параметра среды Размер ячейки.

String

clone

(Чтение / Запись)

Определяет, будет ли использоваться точная копия (клон) описания в первом зависимом параметре. Значение по умолчанию равно False.

Boolean

extent

(Чтение / Запись)

Экстент, который будет использоваться, когда значение свойства extentRule равно AsSpecified. Экстент можно задать в виде строки, разделенной пробелами, или списка из четырех значений. Последовательность — минимальный x, минимальный y, максимальный x и максимальный y.

Extent

extentRule

(Чтение / Запись)

Задает, как будет управляться свойство extent.

  • AsSpecified—Выходной экстент будет указан в свойстве extent.

  • FirstDependency—Выходной экстент будет совпадать с первым зависимым параметром. Если первый зависимый параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.

  • Intersection—Выходным экстентом будет геометрическое пересечение всех влияющих параметров.

  • Union—Выходным экстентом будет геометрическое объединение всех влияющих параметров.

  • Environment—Выходной экстент будет вычислен на основе параметра среды Экстент.

String

featureType

(Чтение / Запись)

Указывает тип выходного объекта, если значение свойства featureTypeRule равно AsSpecified.

  • Simple—Выходные данные будут содержать простые объекты. Тип геометрии объектов указывается с помощью свойства geometryTypeRule.

  • Annotation—Выходные данные будут содержать объекты аннотаций.

  • Dimension—Выходные данные будут содержать объекты размеров.

String

featureTypeRule

(Чтение / Запись)

Определяет тип объекта выходного класса объектов. Это правило не влияет на выходные растровые данные или таблицы.

  • Unknown—Тип объекта будет неизвестен.Как правило, тип геометрии в методе updateParameters можно определить на основе значений других параметров. Установите свойство на Unknown только в том случае, если для определения типа объекта недостаточно информации, как например в методе initializeParameters. Используется по умолчанию.

  • AsSpecified—Тип объекта будет определяться свойством featureType.

  • FirstDependency—Тип объекта будет таким же, как и первый влияющий параметр. Если первый зависимый параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.

String

fieldsRule

(Чтение / Запись)

Определяет, какие поля будут в выходном классе объектов или таблице.

  • None—Никакие поля не будут выводиться, кроме полей идентификатора объекта.

  • FirstDependency—Выходные поля будут совпадать с первым влияющим параметром. Если первый зависимый параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.

  • FirstDependencyFIDs—Только идентификатор объекта первого зависимого входного параметра будет записан в выходные данные.

  • All—Выводятся все поля в списке зависимых параметров.

  • AllNoFIDs—Все поля, кроме поля идентификации объекта, будут записаны в выходной файл.

  • AllFIDsOnly—Все поля идентификатора объекта будут записаны в выходные данные, но никакие другие поля записаны не будут.

String

geometryType

(Чтение / Запись)

Указывает тип геометрии выходных данных. Значение может быть Point, Multipoint, Polyline, или Polygon, когда значение свойства geometryTypeRule равно AsSpecified.

String

geometryTypeRule

(Чтение / Запись)

Определяет тип геометрии (например, точка или полигон) выходного класса объектов.

  • Unknown—Тип геометрии будет неизвестен.Как правило, тип геометрии в методе updateParameters можно определить на основе значений других параметров. Установите свойство на Unknown только в том случае, если для определения типа геометрии недостаточно информации, например в методе initializeParameters. Используется по умолчанию.

  • FirstDependency—Тип геометрии будет совпадать с первым зависимым параметром. Если первый зависимый параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.

  • Max—Устанавливает тип выходной геометрии на максимальный тип всех зависимых параметров.

  • Min—Проверяет геометрии всех зависимых параметров и устанавливает тип выходной геометрии на минимальный найденный тип.

  • AsSpecified—Тип геометрии будет определен значением свойства geometryType.

String

rasterFormatRule

(Чтение / Запись)

Определяет формат выходного растра: GRID или Img. По умолчанию значением является Img, это формат ERDAS IMAGINE.

String

rasterRule

(Чтение / Запись)

Определяет тип данных в выходных растровых данных.

  • FirstDependency—Тип данных (integer или float) будет совпадать с первым зависимым параметром. Если первый зависимый параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.

  • Max—Если имеются зависимые параметры, включающие целые числа и числа с плавающей точкой, тип данных будет float.

  • Min—Если имеются зависимые параметры, включающие целые числа и числа с плавающей точкой, тип данных будет integer.

  • Integer—Тип данных будет integer.

  • Float—Тип данных будет float.

String

type

(Только для чтения)

Определяет тип выходной схемы: Feature, Table, Raster, или Container (для рабочих областей и наборов данных объектов).

String

Пример кода

Схема, пример 1

В классе 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
Схема, пример 2

Запросите схему выходного параметра конкретного инструмента с помощью функции 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