Подпись | Описание | Тип данных |
Целевой класс объектов | Класс объектов или пространственная таблица из многопользовательской базы геоданных. | 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, и т.п.). Более подробно о задании параметров в слое запроса Если на задано, то все записи из связанной таблицы будут использоваться при вычислении результатов агрегирования или суммирования. Имеются в виду следующие два типа определений параметров:
Доступны следующие свойства:
| Value Table |
Поля уникального идентификатора (Дополнительный) | Поля уникального идентификатора, которые будут использоваться для уникальной идентификации каждой строки в таблице. | String |
Тип формы (Дополнительный) | Определяет тип формы слоя запроса. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному типу геометрии. По умолчанию будет использован тип геометрии из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.
| String |
ID пространственной привязки (SRID) (Дополнительный) | Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. По умолчанию будет использоваться значение SRID из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | String |
Система координат (Дополнительный) | Система координат, которая будет использоваться выходным слоем запроса. По умолчанию будет использоваться пространственная привязка из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | Spatial Reference |
Координаты содержат M-значения (Дополнительный) | Определяет, будет ли выходной слой включать линейные измерения (m-значения).
| Boolean |
Координаты содержат Z-значения (Дополнительный) | Определяет, будет ли выходной слой включать значения высоты (z-значения).
| Boolean |
Экстент (Дополнительный) | Определяет экстент слоя. Экстент должен включать все объекты в таблице.
| Extent |
Краткая информация
Создает слой запроса, динамически суммирующий, агрегирующий и фильтрующий таблицы СУБД на основе запросов к времени, диапазону и атрибутам из связанной таблицы, а затем присоединяет результат к векторному слою.
Использование
Слои запроса работают только с многопользовательскими базами данных. Этот инструмент не поддерживает в качестве входной рабочей области файловые базы геоданных.
Агрегированные результаты всегда вычисляются динамически на уровне базы данных.
Значение Выходного слоя будет состоять из полей, содержащих результаты статистической операции. Статистика по количеству входит в поле ROW_COUNT по умолчанию.
Статистические операции, доступные для этого инструмента: количество, сумма, среднее, минимум, максимум и средне-квадратичное отклонение.
Поле будет создано для каждого типа статистики с использованием следующих правил именования: COUNT_<field>, SUM_<field>, AVG_<field>, MIN_<field>, MAX_<field> и STDDEV_<field> (где <field> является именем входного поля, для которого вычисляется статистика).
Значение Связанное поле соединения используется в условии Группировать по в выражении SQL, которое создается этим инструментом. Статистика будет вычисляться по отдельности для каждого уникального значения атрибута из значения Связанное поле соединения.
Слой, созданный инструментом, является временным и исчезнет после завершения сеанса, если только проект не сохранен, слой не сохранне в файл слоя или не создана его копия с помощью инструментов Копировать строки или Копировать объекты.
Параметры
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 такие значения исключает.
| 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, и т.п.). Более подробно о задании параметров в слое запроса Если на задано, то все записи из связанной таблицы будут использоваться при вычислении результатов агрегирования или суммирования. Имеются в виду следующие два типа определений параметров:
Доступны следующие свойства:
| Value Table |
oid_fields [oid_fields,...] (Дополнительный) | Поля уникального идентификатора, которые будут использоваться для уникальной идентификации каждой строки в таблице. | String |
shape_type (Дополнительный) | Определяет тип формы слоя запроса. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному типу геометрии. По умолчанию будет использован тип геометрии из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.
| String |
srid (Дополнительный) | Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. По умолчанию будет использоваться значение SRID из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | String |
spatial_reference (Дополнительный) | Система координат, которая будет использоваться выходным слоем запроса. По умолчанию будет использоваться пространственная привязка из первой записи результата. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | Spatial Reference |
m_values (Дополнительный) | Определяет, будет ли выходной слой включать линейные измерения (m-значения).
| Boolean |
z_values (Дополнительный) | Определяет, будет ли выходной слой включать значения высоты (z-значения).
| Boolean |
extent (Дополнительный) | Определяет экстент слоя. Экстент должен включать все объекты в таблице.
| Extent |
Пример кода
Следующий скрипт окна Python демонстрирует, как вычислить общее количество преступлений для каждого района из класса точечных объектов и присоединить результат к классу объектов полицейских участков.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
Следующий скрипт окна 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")
Следующий скрипт окна 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"]])
Следующий скрипт окна 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")