Суммировать в пределах (Анализ)

Сводка

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

Примеры использования инструмента Суммировать в пределах:

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

Иллюстрация

Суммировать в пределах

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

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

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

  • Вы можете создавать группы, задав для входных точек поле группы. Например, при суммировании преступлений, совершенных в пределах соседних границ, можно выбрать атрибут 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
(Дополнительный)

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

  • KEEP_ALLВ выходной класс объектов будут скопированы все входные полигоны. Используется по умолчанию.
  • ONLY_INTERSECTINGВ выходной класс объектов будут скопированы только полигоны, пересекающие или содержащие как минимум один из входных суммированных объектов.
Boolean
sum_fields
[[summary_field, statistic_type],...]
(Дополнительный)

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

Поля суммирования должны быть числовыми. Текстовые поля и поля других типов не поддерживаются.

Статистические типы включают:

  • Сумма – добавляет итоговое значение для всех точек каждого полигона.
  • Среднее – вычисляется среднее значение для всех точек каждого полигона.
  • Минимум – находит минимальное значение среди всех точек каждого полигона.
  • Максимум – находит максимальное значение среди всех точек каждого полигона.
  • Стандартное отклонение – находит стандартное отклонение для всех точек каждого полигона.

Value Table
sum_shape
(Дополнительный)

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

  • ADD_SHAPE_SUMДобавлять суммированные атрибуты объекта в выходной класс объектов. Используется по умолчанию.
  • NO_SHAPE_SUMНе добавлять суммированные атрибуты объекта в выходной класс объектов.
Boolean
shape_unit
(Дополнительный)

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

Если входными данными являются линии, укажите единицу измерения длины. Если входными данными являются полигоны, укажите единицу измерения площади.

  • METERSМетры
  • KILOMETERSКилометры
  • FEETФуты
  • YARDSЯрды
  • MILESМили
  • ACRESАкры
  • HECTARESГектары
  • SQUAREMETERSКвадратные метры
  • SQUAREKILOMETERSКвадратные километры
  • SQUAREFEETКвадратные футы
  • SQUAREYARDSКвадратные ярды
  • SQUAREMILESКвадратные мили
String
group_field
(Дополнительный)

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

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

Field
add_min_maj
(Дополнительный)

Эта опция активна в случае, если вы выбрали поле группы. Это позволит вам определить, какое значение поля группы относится к меньшинству (редко встречается), а какое – к большинству (часто встречается) для каждого входного полигона.

  • NO_MIN_MAJНе добавлять к выходным данным поля меньшинства и большинства. Используется по умолчанию.
  • ADD_MIN_MAJДобавить к выходным данным поля меньшинства и большинства.
Boolean
add_group_percent
(Дополнительный)

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

  • NO_PERCENTАтрибутивное поле процентов не добавляется. Используется по умолчанию.
  • ADD_PERCENTАтрибутивное поле процентов добавляется к выходным данным.
Boolean
out_group_table
(Дополнительный)

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

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

  • Join_ID – идентификатор, соответствующий полю ID, добавленному в выходной класс объектов.
  • Поле группы.
  • Поле суммирования геометрии.
  • Одно поле для каждого из суммируемых полей.
  • Поле процентов.

Table

Пример кода

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

Окно скрипта Python и демонстрация выполнения функции SummarizeWithin.

import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.SummarizeWithin_analysis('neighborhoods', 'crimes', 'neighborhood_crimes')
SummarizeWithin, пример 2 (автономный скрипт)

Пример автономного скрипта для использования функции 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)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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