Создать слой запроса агрегации (Управление данными)

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

Создает слой запроса, динамически суммирующий, агрегирующий и фильтрующий таблицы СУБД на основе запросов к времени, диапазону и атрибутам из связанной таблицы, а затем присоединяет результат к векторному слою.

Более подробно об агрегации значений в связанные объекты

Использование

  • Слои запроса работают только с многопользовательскими базами данных. Этот инструмент не поддерживает в качестве входной рабочей области файловые базы геоданных.

  • Агрегированные результаты всегда вычисляются динамически на уровне базы данных.

  • Значение Выходного слоя будет состоять из полей, содержащих результаты статистической операции. Статистика по количеству входит в поле ROW_COUNT по умолчанию.

  • Статистические операции, доступные для этого инструмента: количество, сумма, среднее, минимум, максимум и средне-квадратичное отклонение.

  • Поле будет создано для каждого типа статистики с использованием следующих правил именования: COUNT_<field>, SUM_<field>, AVG_<field>, MIN_<field>, MAX_<field> и STDDEV_<field> (где <field> является именем входного поля, для которого вычисляется статистика).

  • Значение Связанное поле соединения используется в условии Группировать по в выражении SQL, которое создается этим инструментом. Статистика будет вычисляться по отдельности для каждого уникального значения атрибута из значения Связанное поле соединения.

  • Слой, созданный инструментом, является временным и исчезнет после завершения сеанса, если только проект не сохранен, слой не сохранне в файл слоя или не создана его копия с помощью инструментов Копировать строки или Копировать объекты.

Параметры

ПодписьОписаниеТип данных
Целевой класс объектов

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

Feature Class
Целевое поле соединения

Поле в целевом классе объектов, на котором основано соединение.

Field
Связанная таблица

Входная таблица, содержащая поля, для которых требуется вычислить статистику. Статистика присоединяется к значению Выходной слой.

Table; Feature Class
Связанное поле соединения

Поле из суммарной таблицы, содержащее значения, на которых будет основываться соединение. Агрегирование или суммарная статистика также вычисляется по отдельности для каждого уникального значения атрибута из этого поля.

Field
Выходной слой

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

Feature Layer
Поля для суммирования
(Дополнительный)

Указывает числовое поле или поля, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель. Могут быть заданы различные комбинации статистических показателей и полей. Пустые значения не включаются в расчет статистики.

Выходной слой будет включать поле ROW_COUNT, которое показывает общее количество (или частоту) для каждого уникального значения из значения Связанное поле соединения. Разница между полем ROW_COUNT и типом статистики Количество заключается в том, что ROW_COUNT включает нулевые значения, а поле Количество такие значения исключает.

Доступны следующие типы статистики:

  • Количество – число значений, участвующих в статистических вычислениях. Пересчитываются все значения, исключая пустые значения.
  • Сумма – сумма значений указанного поля.
  • Среднее – вычисляет среднее арифметическое указанного поля.
  • Минимум – минимальное значение во всех записях указанного поля.
  • Максимум – максимальное значение во всех записях указанного поля.
  • Стандартное отклонение – среднеквадратическое отклонение, вычисленное для значений в указанном поле.
Value Table
Определения параметров
(Дополнительный)

Определяет один или несколько параметров запроса для критерия или условий; записи, которые соответствуют этим критериям, будут использоваться при вычислении агрегированных результатов. Параметр запроса будут таким же, как и переменная SQL-выражения, для которого будет определяться значение при запуске запроса. Это позволяет динамически менять фильтры запросов для этого выходного слоя. Вы можете рассматривать параметр как предикат или условие в предложении SQL where. Например, Country_Name = 'Nigeria' в условии SQL where называется предикатом, в котором = is является оператором сравнения, Country_Name - это имя поля слева, а 'Nigeria' - это значение справа. Когда вы задаете более одного параметра, вы должны указать между ними логический оператор (такой как AND, OR, и т.п.).

Более подробно о задании параметров в слое запроса

Если на задано, то все записи из связанной таблицы будут использоваться при вычислении результатов агрегирования или суммирования.

Имеются в виду следующие два типа определений параметров:

Доступны следующие свойства:

  • Тип параметра—параметр может быть типа Диапазон или Дискретный.
  • Имя - имя параметра, которое аналогично имени переменной. Имя не может содержать пробелы или специальные символы. Когда выходной слой запроса будет создан, а SQL-выражение источника слоя проверено, это имя из SQL-выражения, которое определяет выходной слой запроса, будет идти с префиксом ::r: (для параметра дипазона) или :: (для параметра дискретный).
  • Псевдоним — псевдоним имени параметра. Псевдоним может включать пробелы и специальные символы.
  • Поле или выражение - имя поля или допустимое SQL-выражение, которое будет использоваться в левой части предиката или условия в выражении where.
  • Тип данных — тип данных поля или выражения, который указан в столбце Поле или выражение. Если значение Тип параметра будет указано как Диапазон, то значение столбца Тип данных не может быть String.
    • Date — тип данных поля или выражения будет Date (дата время).
    • String — тип данных поля или выражения будет String (текст).
    • Integer — тип данных поля или выражения будет Integer (целые числа).
    • Double — тип данных поля или выражения будет Double (дробные числа).
  • Начальное значение — начальное значение по умолчанию для столбца Диапазон. Это значение, которое будет использоваться в случае, когда бегунок времени или диапазона не включен. Если значения столбцов Start Value и End Value опущены, а бегунок времени или диапазона отключен, все записи из связанной таблицы будут использоваться для вычисления агрегированных результатов. Если столбец Тип параметра задан как Discrete, то это значение игнорируется.
  • End Value — конечное значение по умолчанию для параметра Диапазон. Это значение, которое будет использоваться в случае, когда бегунок времени или диапазона не включен. Если значения столбцов Start Value и End Value опущены, а бегунок времени или диапазона отключен, все записи из связанной таблицы будут использоваться для вычисления агрегированных результатов. Если столбец Тип параметра задан как Discrete, то это значение игнорируется.
  • Оператор для параметра Дискретный — оператор сравнения, который будет использоваться между значением столбца Поле или выражение и значением в предикате или условии SQL.
    • Нет — выберите Нет, когда Тип параметра задан как Диапазон.
    • Равно — сравнивает равенство поля или выражения значению.
    • Не равно — проверяет, не равно ли поле или выражение значению.
    • Больше, чем — проверяет, превышает ли поле или выражение значение.
    • Меньше, чем — проверяет, является ли поле или выражение ниже значения.
    • Включить значения — определяет, соответствует ли значение из поля или выражения какому-либо значению в списке.
  • Дискретные значения по умолчанию — когда значение Тип параметра будет Дискретный, вы должны указать значение по умолчанию. Когда Оператор для параметра Дискретный задан как Включить значения, вы можете указать несколько значений, разделенных запятыми, например, VANDALISM,BURGLARY/THEFT.
  • Оператор для следующего параметр — логический оператор между этим и следующим параметрами. Этот столбец применим только в тех случаях, когда у вас больше одного определения параметра.
    • None — выберите None, если у вас больше нет параметров.
    • And — скомбинировать два условия и выбрать запись, если верны оба условия.
    • Or — скомбинировать два условия и выбрать запись, если хотя бы одно условие верно.
Value Table
Поля уникального идентификатора
(Дополнительный)

Поля уникального идентификатора, которые будут использоваться для уникальной идентификации каждой строки в таблице.

String
Тип формы
(Дополнительный)

Определяет тип формы слоя запроса. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному типу геометрии. По умолчанию будет использован тип геометрии из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

  • ТочкаВыходной слой запроса использует точечную геометрию.
  • МультиточкаВыходной слой запроса использует мультиточечную геометрию.
  • ПолигонВыходной слой запроса использует полигональную геометрию.
  • ПолилинияВыходной слой запроса использует полилинейную геометрию.
String
ID пространственной привязки (SRID)
(Дополнительный)

Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. По умолчанию будет использоваться значение SRID из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

String
Система координат
(Дополнительный)

Система координат, которая будет использоваться выходным слоем запроса. По умолчанию будет использоваться пространственная привязка из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

Spatial Reference
Координаты содержат M-значения
(Дополнительный)

Определяет, будет ли выходной слой включать линейные измерения (m-значения).

  • Отмечено – слой будет включать m-значения.
  • Не отмечено – слой не будет включать m-значения. Это значение по умолчанию
Boolean
Координаты содержат Z-значения
(Дополнительный)

Определяет, будет ли выходной слой включать значения высоты (z-значения).

  • Отмечено – в слое будут содержаться z-значения.
  • Не отмечено – в слое не будут содержаться z-значения. Это значение по умолчанию
Boolean
Экстент
(Дополнительный)

Определяет экстент слоя. Экстент должен включать все объекты в таблице.

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене. Эта опция доступна только при наличии активной карты.
  • Нарисовать экстент Закончить прямым углом - экстент будет основан прямоугольнике, нарисованном на карте или сцене. Эта опция создает класс пространственных объектов в базе геоданных проекта и добавляет слой на карту. Класс объектов будет иметь ту же систему координат, что и карта.
    Примечание:

    Данная опция не доступна в диалоговом окне Параметры среды. Он доступен только из параметра инструмента, с экстентом в качестве типа данных, или на вкладке Среды диалогового окна инструмента.

    Примечание:

    Если включена опция Включать и отключать редактирование на вкладке Редактирование, вы должны включить редактирование на вкладке ленты Редактирование, чтобы нарисовать экстент.

  • Экстент слоя Layer — Экстент будет основан на активном слое карты. Используйте раскрывающийся список, чтобы выбрать доступный слой, или используйте опцию Экстент данных во всех слоях, чтобы получить объединенный экстент всех активных слоев карты, за исключением базовой карты. Эта опция доступна только при наличии активной карты со слоями.

    У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов слоя.
    • Выбранные объектыArea from Selected Features - экстент всех выбранных объектов слоя.
    • Отображаемые объекты Extent Indicator - экстент всех отображаемых объектов слоя.
      Примечание:

      Экстенты опций Выбранные объекты Area from Selected Features и Отображаемые объекты Extent Indicator доступны только для векторных слоев.

  • Обзор Обзор — Экстент будет основан на существующем наборе данных.
  • Буфер обмена Вставить - экстент может быть скопирован в буфер обмена и вставлен из него.
    • Копировать экстент Копировать - копирует координаты экстента и систему координат в буфер обмена.
    • Использовать Вставить экстент Вставить - вставляет координаты экстента и, дополнительно, систему координат из буфера обмена. Если значения буфера обмена не содержат систему координат, экстент будет использовать систему координат карты.
    Примечание:

    Координаты экстента копируются в буфер обмена и вставляются из него с использованием того же форматирования и порядка, что и для объекта ArcPy Extent: x-min, y-min, x-max, y-max и пространственная привязка.

  • Сбросить экстент Сбросить — Экстент будет сброшен до значения по умолчанию.
  • Координаты, введенные вручную – Координаты должны быть числовыми значениями и находиться в системе координат активной карты.
    Внимание:

    На карте могут использоваться единицы отображения, отличные от введенных координат. Использование направления по сторонам света (N, S, E, W) не поддерживается. Используйте знак отрицательного значения для координат юга и запада.

Extent

arcpy.management.MakeAggregationQueryLayer(target_feature_class, target_join_field, related_table, related_join_field, out_layer, {statistics}, {parameter_definitions}, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {m_values}, {z_values}, {extent})
ИмяОписаниеТип данных
target_feature_class

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

Feature Class
target_join_field

Поле в целевом классе объектов, на котором основано соединение.

Field
related_table

Входная таблица, содержащая поля, для которых требуется вычислить статистику. Статистика присоединяется к значению out_layer.

Table; Feature Class
related_join_field

Поле из суммарной таблицы, содержащее значения, на которых будет основываться соединение. Агрегирование или суммарная статистика также вычисляется по отдельности для каждого уникального значения атрибута из этого поля.

Field
out_layer

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

Feature Layer
statistics
[[statistic_type, field],...]
(Дополнительный)

Указывает числовое поле или поля, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель. Могут быть заданы различные комбинации статистических показателей и полей. Пустые значения не включаются в расчет статистики.

Выходной слой будет включать поле ROW_COUNT, которое показывает общее количество (или частоту) для каждого уникального значения из значения related_join_field. Разница между полем ROW_COUNT и типом статистики COUNT заключается в том, что ROW_COUNT включает нулевые значения, а поле COUNT такие значения исключает.

  • COUNT – число значений, участвующих в статистических вычислениях. Пересчитываются все значения, исключая пустые значения.
  • SUM – значения для указанного поля будут суммироваться.
  • AVG – среднее значение для указанного поля.
  • MIN – минимальное значение во всех записях указанного поля.
  • MAX – максимальное значение во всех записях указанного поля.
  • STDDEV – среднеквадратическое отклонение, вычисленное для значений в указанном поле.
Value Table
parameter_definitions
[[parameter_def_type, name, alias, field_or_expression, data_type, start_value, end_value, operator, default_value, operator_for_next_parameter],...]
(Дополнительный)

Определяет один или несколько параметров запроса для критерия или условий; записи, которые соответствуют этим критериям, будут использоваться при вычислении агрегированных результатов. Параметр запроса будут таким же, как и переменная SQL-выражения, для которого будет определяться значение при запуске запроса. Это позволяет динамически менять фильтры запросов для этого выходного слоя. Вы можете рассматривать параметр как предикат или условие в предложении SQL where. Например, Country_Name = 'Nigeria' в условии SQL where называется предикатом, в котором = is является оператором сравнения, Country_Name - это имя поля слева, а 'Nigeria' - это значение справа. Когда вы задаете более одного параметра, вы должны указать между ними логический оператор (такой как AND, OR, и т.п.).

Более подробно о задании параметров в слое запроса

Если на задано, то все записи из связанной таблицы будут использоваться при вычислении результатов агрегирования или суммирования.

Имеются в виду следующие два типа определений параметров:

Доступны следующие свойства:

  • Тип параметра — параметр может быть типа RANGE или DISCRETE.
  • Имя - имя параметра, которое аналогично имени переменной. Имя не может содержать пробелы или специальные символы. Когда выходной слой запроса будет создан, а SQL-выражение источника слоя проверено, это имя из SQL-выражения, которое определяет выходной слой запроса, будет идти с префиксом ::r: (для параметра дипазона) или :: (для параметра дискретный).
  • Псевдоним — псевдоним имени параметра. Псевдоним может включать пробелы и специальные символы.
  • Поле или выражение - имя поля или допустимое SQL-выражение, которое будет использоваться в левой части предиката или условия в выражении where.
  • Тип данных — тип данных поля или выражения, который указан в столбце Поле или выражение. Если значение Тип параметра будет указано как RANGE, то значение столбца Тип данных не может быть STRING.
    • DATE — тип данных поля или выражения будет Date (дата время).
    • STRING—тип данных поля или выражения будет String (текст).
    • INTEGER — тип данных поля или выражения будет Integer (целые числа).
    • DOUBLE — тип данных поля или выражения будет Double (дробные числа).
  • Начальное значение—начальное значение по умолчанию для столбца RANGE. Это значение, которое будет использоваться в случае, когда бегунок времени или диапазона не включен. Если значения столбцов Start Value и End Value опущены, а бегунок времени или диапазона отключен, все записи из связанной таблицы будут использоваться для вычисления агрегированных результатов. Если столбец Тип параметра задан как DISCRETE, то это значение игнорируется.
  • End Value — конечное значение по умолчанию для параметра RANGE. Это значение, которое будет использоваться в случае, когда бегунок времени или диапазона не включен. Если значения столбцов Start Value и End Value опущены, а бегунок времени или диапазона отключен, все записи из связанной таблицы будут использоваться для вычисления агрегированных результатов. Если столбец Тип параметра задан как DISCRETE, то это значение игнорируется.
  • Оператор для параметра Дискретный — оператор сравнения, который будет использоваться между значением столбца Поле или выражение и значением в предикате или условии SQL.
    • NONE — выберите NONE, когда Тип параметра задан как RANGE.
    • EQUAL TO — сравнивает равенство поля или выражения значению.
    • NOT EQUAL TO — проверяет, не равно ли поле или выражение значению.
    • GREATER THAN — проверяет, превышает ли поле или выражение значение.
    • LESS THAN — проверяет, является ли поле или выражение меньше, чем значение.
    • INCLUDE VALUES — определяет, соответствует ли значение из поля или выражения какому-либо значению в списке.
  • Дискретные значения по умолчанию — когда значение Тип параметра будет DISCRETE, вы должны указать значение по умолчанию. Когда Оператор для параметра Дискретный задан как INCLUDE VALUES, вы можете указать несколько значений, разделенных запятыми, например, VANDALISM,BURGLARY/THEFT.
  • Оператор для следующего параметра—логический оператор между этим и следующим параметрами. Этот столбец применим только в тех случаях, когда у вас больше одного определения параметра.
    • NONE — выберите NONE, если у вас больше нет параметров.
    • AND - Соединяет два условия и выбирает запись, в которой оба условия являются истинными.
    • OR - Соединяет два условия и выбирает запись, где истинно хотя бы одно условие.
Value Table
oid_fields
[oid_fields,...]
(Дополнительный)

Поля уникального идентификатора, которые будут использоваться для уникальной идентификации каждой строки в таблице.

String
shape_type
(Дополнительный)

Определяет тип формы слоя запроса. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному типу геометрии. По умолчанию будет использован тип геометрии из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

  • POINTВыходной слой запроса использует точечную геометрию.
  • MULTIPOINTВыходной слой запроса использует мультиточечную геометрию.
  • POLYGONВыходной слой запроса использует полигональную геометрию.
  • POLYLINEВыходной слой запроса использует полилинейную геометрию.
String
srid
(Дополнительный)

Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. По умолчанию будет использоваться значение SRID из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

String
spatial_reference
(Дополнительный)

Система координат, которая будет использоваться выходным слоем запроса. По умолчанию будет использоваться пространственная привязка из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

Spatial Reference
m_values
(Дополнительный)

Определяет, будет ли выходной слой включать линейные измерения (m-значения).

  • INCLUDE_M_VALUESСлой будет включать m-значения.
  • DO_NOT_INCLUDE_M_VALUESСлой не будет включать m-значения. Это значение по умолчанию
Boolean
z_values
(Дополнительный)

Определяет, будет ли выходной слой включать значения высоты (z-значения).

  • INCLUDE_Z_VALUESВ слое будут содержаться z-значения.
  • DO_NOT_INCLUDE_Z_VALUESВ слое не будут содержаться z-значения. Это значение по умолчанию
Boolean
extent
(Дополнительный)

Определяет экстент слоя. Экстент должен включать все объекты в таблице.

  • MAXOF – Будет использоваться максимальный экстент всех входных данных.
  • MINOF – Будет использоваться минимальная область, которая является общей для всех входных данных.
  • DISPLAY — Экстент равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent — будет использоваться экстент указанного объекта.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent

Пример кода

MakeAggregationQueryLayer, пример 1 (окно Python)

Следующий скрипт окна Python демонстрирует, как вычислить общее количество преступлений для каждого района из класса точечных объектов и присоединить результат к классу объектов полицейских участков.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
MakeAggregationQueryLayer, пример 2 (окно Python)

Следующий скрипт окна Python демонстрирует, как вычислить общее количество преступлений для каждого района и для каждого типа преступлений из класса точечных объектов и присоединить результат к классу объектов полицейских участков.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes", 
    None, 
    "DISCRETE crime_type # Category STRING # # 'INCLUDE VALUES' 'VANDALISM, BURGLARY/THEFT' NONE")
MakeAggregationQueryLayer, пример 3 (окно Python)

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

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "weather_stations", "station_id", "observed_rainfall", "station_id", 
    "Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]])
MakeAggregationQueryLayer, пример 4 (окно Python)

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

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "weather_stations", "station_id", "observed_rainfall", "station_id", 
    "Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]], 
    "RANGE TimeVar # collection_date DATE 1/1/2020 12/1/2020 NONE # NONE")

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