Сводка
Конвертирует данные о событиях, такие как преступления или случаи заболеваний, во взвешенные точечные данные.
Иллюстрация
Использование
Инструмент Собрать события (Collect Events) объединяет совпадающие точки: он создает новый Выходной класс объектов (Output Feature Class), содержащий все уникальные местоположения, найденные во Входном классе объектов (Input Feature Class). Затем он добавляет поле ICOUNT для хранения суммы всех инцидентов в каждом уникальном местоположении.
Инструмент объединяет только те объекты, которые имеют в точности одинаковые координаты X и Y центроида. Для замыкания близко расположенных объектов друг на друга перед запуском инструмента Собрать события (Collect Events) можно применить инструмент Интегрировать (Integrate).
В частности, инструменты Анализ горячих точек (Getis-Ord Gi*), Анализ кластеров и выбросов (Локальный индекс I Морана) и Пространственная автокорреляция (Общий индекс I Морана) требуют взвешенные точки, а не отдельные случаи. Инструмент Собрать события (Collect Events) может быть использован для создания весов, когда входной класс объектов состоит из совпадающих объектов.
Хотя этот инструмент работает с полигональными или линейными данными, он наилучшим образом подходит для событий, случаев и других точечных данных. Для линейных и полигональных объектов, совпадение объектов основано для совпадения геометрических центроидов объектов. Для мультиточек, полилиний или полигонов, состоящих их нескольких частей, центроиды рассчитываются как средневзвешенное среднее значение центра всех частей объекта. При определении весов точечные объекты имеют равный вес (1). Для линейных объектов это длина сегмента. Для полигональных – площадь.
Когда Входной класс объектов не имеет проекции (т.е. когда координаты заданы в градусах, минутах и секундах), или когда в качестве выходной системы координат используется Географическая система координат, расстояния будут рассчитываться с помощью хордовых измерений. Измерения хордовых расстояний применяются постольку, поскольку они могут быть быстро вычислены и дают очень хорошие оценки истинных геодезических расстояний, по крайней мере, для точек, расстояние между которыми в пределах порядка тридцати градусов. Хордовые расстояния основаны на эллипсоиде вращения. Если взять две любые точки на поверхности Земли, то хордовым расстоянием между ними будет длина прямой линии, проходящей через трехмерное тело Земли и соединяющей эти две точки. Хордовые расстояния выражаются в метрах.
Если следует рассматривать каждую отдельную точку в облаке точек или каждую часть составного объекта как простой объект, следует вначале запустить инструмент Составной в простые (Multipart to Singlepart), а затем для полученного класса простых объектов Собрать события (Collect Events). Дополнительная информация приведена в разделе Обработка данных мультиточек.
В дополнение к Выходному классу объектов (Output Feature Class), эта функция выводит (в качестве производных выходных значений) имя поля, содержащего количество объектов, а также максимальное количество объектов на одно местоположение. Эти полученные выходные значения очень полезны, когда вы используете этот инструмент в моделях или скриптах.
При запуске инструмента в ArcMap, выходной класс объектов автоматически добавляется к таблице содержания с методом отображения по умолчанию, примененного к полю ICOUNT. Схема отображения градуированного цветового круга определена файлом слоя в <ArcGIS>/ArcToolbox/Templates/Layers. Метод отображения по умолчанию, если это необходимо, можно применить заново путем импорта символов слоя шаблона.
Синтаксис
arcpy.stats.CollectEvents(Input_Incident_Features, Output_Weighted_Point_Feature_Class)
Параметр | Объяснение | Тип данных |
Input_Incident_Features | Объекты, отражающие данные о событиях или случайные данные. | Feature Layer |
Output_Weighted_Point_Feature_Class | Выходной класс объектов, который содержит взвешенные точечные данные. | Feature Class |
Производные выходные данные
Имя | Объяснение | Тип данных |
Results_Field | Имя поля количества | Field |
Z_Max_Value | Значение максимального количества, найденного в любом из местоположений. | Double |
Пример кода
CollectEvents, пример 1 (окно Python)
Следующий скрипт окна Python демонстрирует, как использовать инструмент CollectEvents.
import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
CollectEvents, пример 2 (автономный скрипт)
Следующий автономный Python скрипт демонстрирует, как использовать инструмент CollectEvents.
# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = "C:/Data"
try:
# Set the current workspace (to avoid having to specify the full path to the feature classes each time)
arcpy.env.workspace = workspace
# Copy the input feature class and integrate the points to snap
# together at 500 feet
# Process: Copy Features and Integrate
cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp")
integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
# Use Collect Events to count the number of calls at each location
# Process: Collect Events
ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
# Add a unique ID field to the count feature class
# Process: Add Field and Calculate Field
af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
"NON_NULLABLE", "NON_REQUIRED", "#",
"911Count.shp")
cf = arcpy.CalculateField_management("911Count.shp", "MyID", "!FID!", "PYTHON")
# Create Spatial Weights Matrix for Calculations
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6,
"NO_STANDARDIZATION")
# Hot Spot Analysis of 911 Calls
# Process: Hot Spot Analysis (Getis-Ord Gi*)
hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp",
"GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE",
"#", "#", "euclidean6Neighs.swm")
except arcpy.ExecuteError:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да