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

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