Сводка
Выполняет наложение полигонального слоя на другой слой для суммирования числа точек, длин линий и площадей полигонов, а также вычисляющий статистику атрибутивных полей этих объектов внутри полигонов.
Примеры использования инструмента Суммировать в пределах:
- Используя слой границ водоразделов и слой с границами типов землепользования, можно определить общую площадь земель различных типов для каждой водосборной области.
- При наличии слоя земельных участков в округе и слоя с границами городов, можно вычислить среднюю стоимость свободных участков в черте каждого города.
- Имеется слой округов и слой дорог, вычисляется общая протяженность дорог каждого типа в пределах округов.
Иллюстрация
Использование
Инструмент Суммировать в пределах можно использовать, если у вас есть два слоя: входные полигоны и входные объекты суммирования, и вы накладываете их друг на друга. После наложения этих слоев посмотрите на нижележащие и посчитайте число входных суммируемых объектов, попадающих внутрь входных полигонов. Вы можете не только посчитать число объектов, но и вычислить несложную статистику атрибутов входных объектов, которые суммируются: сумму, среднее значение, максимум, минимум и т.д.
Инструменты Суммировать в пределах и Суммировать близлежащие очень похожи. С помощью инструмента Суммировать в пределах вы суммируете объекты в пределах существующих полигонов, а при работе с инструментом Суммировать близлежащие – создаете области вокруг точек, линий и полигонов, а затем суммируете объекты в пределах этих вычисленных областей.
Вы можете создавать группы, задав для входных точек поле группы. Например, при суммировании преступлений, совершенных в пределах соседних границ, можно выбрать атрибут Crime_type, который может содержать пять разных видов преступлений. Каждая группа представляет уникальный тип преступления, и выбранный вами тип статистики может быть вычислен для каждого уникального значения в поле Crime_type.
Синтаксис
arcpy.analysis.SummarizeWithin(in_polygons, in_sum_features, out_feature_class, {keep_all_polygons}, {sum_fields}, {sum_shape}, {shape_unit}, {group_field}, {add_min_maj}, {add_group_percent}, {out_group_table})
Parameter | Объяснение | Тип данных |
in_polygons | Полигоны, использующиеся для суммирования объектов или части объектов во входном суммируемом слое. | Feature Layer |
in_sum_features | Точечные, линейные или полигональные объекты, которые будут суммироваться для каждого входного полигона. | Feature Layer |
out_feature_class | Выходной класс полигональных объектов с идентичными входным полигонам геометрией и атрибутами, а также новыми атрибутами, содержащими информацию о числе точек, длине линий, площади полигонов внутри каждой зоны и статистическим данными этих объектов. | Feature Class |
keep_all_polygons (Дополнительный) | Определяет, будут ли скопированы в выходной класс объектов все входные точки либо только содержащие как минимум одну из входных точек.
| Boolean |
sum_fields [[summary_field, statistic_type],...] (Дополнительный) | Список имен атрибутивных полей входных суммируемых объектов и типы статистического суммирования, которые вы хотите выполнить для этих полей – для всех точек в пределах каждого полигона. Поля суммирования должны быть числовыми. Текстовые поля и поля других типов не поддерживаются. Статистические типы включают:
| Value Table |
sum_shape (Дополнительный) | Определяет, будет ли содержать выходной класс объектов такие атрибуты, как число точек, длина линий и площадь полигонов – суммированные для каждого входного полигона.
| Boolean |
shape_unit (Дополнительный) | Единицы, в которых будут вычисляться суммированные атрибуты объекта. Если входными данными являются точки, единицы не обязательны, поскольку в этом случае добавляется только число точек в пределах каждого входного полигона. Если входными данными являются линии, укажите единицу измерения длины. Если входными данными являются полигоны, укажите единицу измерения площади.
| String |
group_field (Дополнительный) | Атрибутивное поле входных суммированных объектов, используемое для группировки. Объекты, имеющие одинаковые значения поля группы, комбинируются и суммируются с другими объектами с теми же значениями поля группы. При выборе поля группы создается дополнительная выходная таблица, местоположение которой нужно указать в параметре out_grouped_table. | Field |
add_min_maj (Дополнительный) | Эта опция активна в случае, если вы выбрали поле группы. Это позволит вам определить, какое значение поля группы относится к меньшинству (редко встречается), а какое – к большинству (часто встречается) для каждого входного полигона.
| Boolean |
add_group_percent (Дополнительный) | Эта опция активна в случае, если вы выбрали поле группы. Это позволит вам вычислить процент для каждого значения атрибута каждой группы.
| Boolean |
out_group_table (Дополнительный) | Если указано поле группы, требуется выходная таблица группировки. Выходная таблица, содержащая поля суммирования для каждой группы суммированных объектов для каждого входного полигона. Таблица будет содержать следующие поля атрибутов:
| Table |
Пример кода
Окно скрипта Python и демонстрация выполнения функции SummarizeWithin.
import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.SummarizeWithin_analysis('neighborhoods', 'crimes', 'neighborhood_crimes')
Пример автономного скрипта для использования функции SummarizeWithin.
# Description: Use SummarizeWithin to summarize the crimes in each city neighborhood
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data/city.gdb'
# Set local variables
polys = 'neighborhoods'
points = 'crimes'
outFeatureClass = 'crimes_aggregated'
keepAll = 'KEEP_ALL'
sumFields = [['Damages', 'SUM'], ['VICTIM_AGE', 'MEAN']]
addShapeSum = 'ADD_SHAPE_SUM'
groupField = 'Crime_type'
addMinMaj = 'ADD_MIN_MAJ'
addPercents = 'ADD_PERCENT'
outTable = 'crimes_aggregated_groups'
arcpy.SummarizeWithin_analysis(polys, points, outFeatureClass, keepAll,
sumFields, addShapeSum, '', groupField,
addMinMaj, addPercents, outTable)
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да