Schema

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

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

Обсуждение

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

Более подробно об объекте Schema

Свойства

СвойствоОписаниеТип данных
additionalChildren
(чтение и запись)

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

String
additionalFields
(чтение и запись)

Указывает дополнительные поля для свойства fields. Помимо полей, добавленных при применении, в выходные данные можно добавить дополнительные поля.

Field
cellSize
(чтение и запись)

Установите размер ячейки, используемый, если значение cellSizeRule равно AsSpecified.

Double
cellSizeRule
(чтение и запись)

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

  • AsSpecifiedРазмер ячейки указывается в свойстве cellSize.
  • FirstDependencyРазмер ячейки вычисляется на основе первого зависимого параметра. Если первым зависимым параметром является растр, используется его размер ячейки. Для других типов зависимых параметров, таких как классы или наборы данных пространственных объектов, экстент данных используется для вычисления размера ячейки. Если первый влияющий параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.
  • Макс.Самый большой размер ячейки зависимых параметров.
  • Мин.Самый маленький размер ячейки зависимых параметров.
  • СредаРазмер ячейки рассчитывается на основе переменной среды размера ячейки.
String
clone
(чтение и запись)

Если значение равно True, создается точная копия (клон) описания первого влияющего параметра. Значением по умолчанию является False.

Boolean
extent
(чтение и запись)

Установите экстент, используемый, если значение extentRule равно AsSpecified. Можно задать экстент в виде строки, разделенной пробелами, или объекта списка Python с четырьмя значениями. Последовательность такова: xmin, ymin, xmax, ymax.

Extent
extentRule
(чтение и запись)

Указывает, как осуществляется управление свойством экстента.

  • AsSpecifiedВыходной экстент указывается в свойстве Extent.
  • FirstDependencyВыходной экстент будет совпадать с первым влияющим параметром. Если первый влияющий параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.
  • ПересечениеВыходным экстентом будет геометрическое пересечение всех влияющих параметров.
  • ОбъединениеВыходным экстентом будет геометрическое объединение всех влияющих параметров.
  • СредаВыходной экстент рассчитывается на основе переменной среды выходного экстента.
String
featureType
(чтение и запись)

Если значением featureTypeRule является AsSpecified, значение FeatureType используется для указания типа объекта выходных данных.

  • Простое (Simple)Выходные данные будут содержать простые объекты. Тип геометрии объектов указывается с помощью geometryTypeRule.
  • АннотацииВыходные данные будут содержать объекты аннотаций.
  • РазмерВыходные данные будут содержать объекты размеров.
String
featureTypeRule
(чтение и запись)

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

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

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

  • НетПоля не выводятся (кроме идентификатора объекта).
  • FirstDependencyВыходные поля будут совпадать с первым влияющим параметром. Если первый влияющий параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.
  • FirstDependencyFIDsТолько ObjectID первого зависимого входного параметра будет записан в выходные данные.
  • ВсеВыводятся все поля в списке зависимых параметров.
  • AllNoFIDsВыводятся все поля кроме ObjectID.
  • AllFIDsOnlyВыводятся все поля ObjectID, но другие поля из входных параметров не записываются.
String
geometryType
(чтение и запись)

Установите этот тип геометрии (Точка, Мультиточка, Полилиния или Полигон), если значение geometryTypeRule равно AsSpecified.

String
geometryTypeRule
(чтение и запись)

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

  • НеизвестныйЭто установка по умолчанию. Обычно вы должны иметь возможность определить тип геометрии в updateParameters() на основе значений других параметров. Для правила задается значение Unknown, только если у вас недостаточно информации для определения типа геометрии, например как в initializeParameters().
  • FirstDependencyТип геометрии будет совпадать с первым влияющим параметром. Если первый влияющий параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.
  • Макс.Изучает геометрии всех зависимых параметров и задает выходной тип геометрии как наибольший обнаруженный тип.
  • Мин.Изучает геометрии всех зависимых параметров и задает выходной тип геометрии как наименьший обнаруженный тип.
  • AsSpecifiedТип геометрии определяется свойством geometryType.
String
rasterFormatRule
(чтение и запись)

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

String
rasterRule
(чтение и запись)

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

  • FirstDependencyТип данных (integer или float) будет совпадать с первым влияющим параметром. Если первый влияющий параметр содержит несколько значений (список значений), будет использоваться первое значение в этом списке.
  • Макс.Если имеются зависимые параметры типа integer и float, Max создает выходные данные типа float.
  • Мин.Если имеются зависимые параметры типа integer и float, Min создает выходные данные типа integer.
  • Целочисленное (Integer)Выходной растр содержит целые числа.
  • Число с плавающей точкой (Float)Выходной растр содержит числа с плавающей запятой.
String
type
(только чтение)

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

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 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

Связанные разделы