Подпись | Описание | Тип данных |
Входные точечные объекты | Точечные объекты по которым будет выполняться кластеризация на основе плотности. | Feature Layer |
Выходные объекты | Выходной класс объектов, получающий результаты кластеризации. | Feature Class |
Метод кластеризации | Задает метод, который будет использован для определения кластеров.
| String |
Минимальное число объектов на кластер | Минимальное число точек, которые будут считаться кластером Любой кластер с меньшим числом точек, чем указанное количество, будет рассматриваться как шум. | Long |
Расстояние поиска (Дополнительный) | Максимальное расстояние, которое будет учитываться. Для параметра Метод кластеризации опции Заданное расстояние (DBSCAN) значение параметра Минимальное число объектов в кластере должно быть найдено в пределах этого расстояния для участия в кластере. Отдельные кластеры будут разделяться, как минимум, этим расстоянием. Если точка расположена дальше, чем это расстояние, от следующей ближайшей точки в кластере, она не будет включена в кластер. Для параметра Метод кластеризации в опции Мультимасштабный (OPTICS) этот параметр является необязательным и используется для максимального расстояния поиска при создании плота доступности. Для OPTICS, плот доступности, скомбинированный с параметром Кластерная чувствительность, определяет принадлежность объекта к кластеру. Если расстояние не задано, инструмент будет выполнять поиск по всем расстояниям, что увеличивает время обработки. Если оставить пустым, то будет использоваться расстояние по умолчанию, которое является наибольшим расстоянием между ядрами в наборе за исключением расстояний, попавших в максимальный и минимальный 1% (экстремумы в расстояниях между объектами). Если задано значение параметра Поле времени, то должно быть указано расстояние поиска и оно не должно включать значение по умолчанию. | Linear Unit |
Кластерная чувствительность | Целочисленное значение от 0 до 100, которое определяет компактность кластеров. Значение, близкое к 100, позволит получить большее количество более плотно расположенных кластеров. Значение, близкое к 0, позволит получить менее компактные кластеры. Если оно пустое, инструмент найдет значение чувствительности, используя расхождение Кульбака-Лейблера, которое находит значение, при котором добавление большего количества кластеров не добавляет дополнительную информацию. | Long |
Поле времени |
Поле, содержащее временную метку для каждой записи в наборе данных. Это поле должно иметь тип Date. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр Интервал времени поиска. | Field |
Интервал времени поиска | Временной интервал, который будет использоваться для определения того, будут ли точки формировать пространственно-временной кластер. Интервал времени поиска охватывает время до и после каждой точки. Например, интервал в 3 дня вокруг точки будет включать все точки, начинающиеся за 3 дня до и заканчивающиеся через 3 дня после времени точки.
Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Временной интервал точек в кластере может быть больше, чем временной интервал поиска, если каждая точка имеет соседей в кластере, которые находятся в пределах временного интервала поиска. | Time Unit |
Краткая информация
Находит кластеры точечных объектов в окружающем шуме, на основе пространственного распределения. Также для выявления пространственно-временных кластеров можно использовать время.
Более подробно о работе инструмента Кластеризация на основе плотности
Иллюстрация
Использование
Этот инструмент извлекает кластеры из значения параметра Входные точечные объекты и определяет окружающий шум.
У параметра Метод кластеризации есть три опции. Опция Заданное расстояние (DBSCAN) находит кластеры точек, расположенные в непосредственной близости, на основе заданного расстояния поиска. Опция Автонастройка (HDBSCAN) находит кластеры точек так же, как и DBSCAN, но использует меняющиеся расстояния, позволяя определить кластеры с меняющимися плотностями, на основе вероятности кластеров (или стабильности). Опция Мультимасштабный (OPTICS) упорядочивает входные точки на основе минимального расстояния до следующей точки. Затем строится плот доступности и извлекаются кластеры, на базе наименьшего числа точек, входящих в кластер, расстояния поиска и характеристик плота доступности (таких как уклоны и высоты пиков).
Этот инструмент создает выходной класс объектов с новым целочисленным полем CLUSTER_ID, где обозначается принадлежность точкам кластерам. Отображение по умолчанию основано на поле COLOR_ID. Разным кластерам присваиваются различные цвета. Цвета распределяются и повторяются таким образом, что каждый кластер визуально отличается от соседних.
-
Этот инструмент также создает сообщения и диаграммы, которые можно использовать для изучения характеристик идентифицированных кластеров. Чтобы получить доступ к сообщениям, поместите курсор мыши над индикатором выполнения и щелкните всплывающую кнопку или разверните раздел сообщений в панели Геообработка. Также вы можете открыть сообщения, касающиеся ранее запущенного инструмента Кластеризация на основе плотности, через историю геообработки. Доступ к диаграммам может быть через панель Содержание.
Дополнительные сведения о выходных сообщениях и диаграммах, а также об алгоритмах этого инструмента см. Как работает Кластеризация на основе плотности.
Если выбрана Автонастройка (HDBSCAN) для параметра Метод кластеризации, выходной класс объектов также будет содержать следующие поля: PROB, в котором хранится вероятность принадлежности точки к группе, OUTLIER, означающее,что точка может быть выбросом в своем кластере (чем выше значение, тем больше вероятность, что точка является выбросом) и EXEMPLAR, где обозначаются точки, наиболее характерные для данного кластера.
Если выбран Мультимасштабный (OPTICS) для параметра Метод кластеризации, выходной класс объектов также будет содержать следующие поля: REACHORDER, где указан способ упорядочивания Входных точечных объектов для анализа, и REACHDIST, где находится расстояние между каждой точкой и ближайшей не посещенной соседом.
Для обоих Vетодов кластеризации в опциях Заданное расстояние (DBSCAN) и Мультимасштабный (OPTICS), по умолчанию значением параметра Расстояние поиска является наибольшее значение основного расстояния, найденное в наборе данных, исключая те, которые попадают в верхний 1 процент (т.е., исключая наивысшие значения основных расстояний).
Для параметра Метод кластеризации в опциях Заданное расстояние(DBSCAN) и Мультимасштабный (OPTICS) время для каждой точки можно указать в параметре Поле времени. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр Интервал времени поиска.
- Для опции Заданное расстояние (DBSCAN) при поиске участников кластера значение параметра Минимальное число объектов на кластер должно быть найдено в значениях Расстояние поиска и Интервал времени поиска для формирования кластера.
- Для опции Мультимасштабный (OPTICS) все точки за пределами значения Интервал времени поиска будут исключены, когда точка вычисляет свое основное расстояние, ищет все расстояния соседей в рамках указанного значения Расстояние поиска и вычисляет расстояние достигаемости.
Если указано значение параметра Поле времени, то выходной класс объектов будет включать график Временной диапазон на кластер, в котором будут показаны временные диапазоны для каждого кластера пространство-время. Также будут включены четыре дополнительных поля: Mean Time, Start Time, End Time и Time Exaggeration. Для выходного класса объектов включена опция времени, поэтому рекомендуется задать время для поля Mean Time, чтобы кластеры можно было бы визуализировать во времени с помощью Бегунка времени. Пространственно-временные закономерности также можно показать в 3D сцене, задав Time Exaggeration как высоту объекта.
Параметр Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Например, если используется временной интервал в 3 дня, то в результате может получиться кластер с точками в диапазоне 10 дней или больше. Это связано с тем, что интервал времени поиска используется только для определения того, включается ли каждая отдельная точка в кластер. При формировании кластеров из нескольких точек общий диапазон времени кластера может оказаться больше, чем интервал времени поиска. Это аналогично тому, как пространственный кластер может быть больше, чем Расстояние поиска, поскольку у каждой точки есть соседи в пределах кластера, которые находятся ближе друг к другу, чем расстояние поиска.
-
Когда Входные объекты не имеют проекции (т.е. когда координаты заданы в градусах, минутах и секундах), или когда в качестве выходной системы координат используется Географическая система координат, расстояния будут рассчитываться с помощью хордовых измерений. Измерения хордовых расстояний применяются постольку, поскольку они могут быть быстро вычислены и дают хорошие оценки истинных геодезических расстояний, по крайней мере для точек, расстояние между которыми в пределах порядка тридцати градусов. Хордовые расстояния основаны на эллипосиде вращения. Если взять две любые точки на поверхности Земли, то хордовым расстоянием между ними будет длина прямой линии, проходящей через трехмерное тело Земли и соединяющей эти две точки. Хордовые расстояния выражаются в метрах.
Внимание:
Рекомендуется провести проецирование данных, если изучаемая область превышает 30 градусов. Хордовые расстояния не обеспечивают точных оценок геодезических расстояний, превышающих 30 градусов.
Этот инструмент включает в вычисления z-значения. При наличии z-значений результат будет в 3D.
Инструмент поддерживает параллельную обработку и использует до 50 % доступной мощности процессора по умолчанию. Количество используемых процессоров можно изменить при помощи параметра среды Коэффициент параллельной обработки.
Параметры
arcpy.stats.DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity, time_field, search_time_interval)
Имя | Описание | Тип данных |
in_features | Точечные объекты по которым будет выполняться кластеризация на основе плотности. | Feature Layer |
output_features | Выходной класс объектов, получающий результаты кластеризации. | Feature Class |
cluster_method | Задает метод, который будет использован для определения кластеров.
| String |
min_features_cluster | Минимальное число точек, которые будут считаться кластером Любой кластер с меньшим числом точек, чем указанное количество, будет рассматриваться как шум. | Long |
search_distance (Дополнительный) | Максимальное расстояние, которое будет учитываться. Для параметра cluster_method в опции DBSCAN значение параметра min_features_cluster должно попасть в пределы этого расстояния для участия в кластере. Отдельные кластеры будут разделяться, как минимум, этим расстоянием. Если точка расположена дальше, чем это расстояние, от следующей ближайшей точки в кластере, она не будет включена в кластер. Для параметра cluster_method в опции OPTICS этот параметр является необязательным и используется в качестве максимального расстояния поиска при создании плота доступности. Для OPTICS, плот доступности, скомбинированный с параметром cluster_sensitivity, определяет принадлежность объекта к кластеру. Если расстояние не задано, инструмент будет выполнять поиск по всем расстояниям, что увеличивает время обработки. Если оставить пустым, то будет использоваться расстояние по умолчанию, которое является наибольшим расстоянием между ядрами в наборе за исключением расстояний, попавших в максимальный и минимальный 1% (экстремумы в расстояниях между объектами). Если задано значение параметра time_field, то должно быть указано расстояние поиска и оно не должно включать значение по умолчанию. | Linear Unit |
cluster_sensitivity | Целочисленное значение от 0 до 100, которое определяет компактность кластеров. Значение, близкое к 100, позволит получить большее количество более плотно расположенных кластеров. Значение, близкое к 0, позволит получить менее компактные кластеры. Если оно пустое, инструмент найдет значение чувствительности, используя расхождение Кульбака-Лейблера, которое находит значение, при котором добавление большего количества кластеров не добавляет дополнительную информацию. | Long |
time_field |
Поле, содержащее временную метку для каждой записи в наборе данных. Это поле должно иметь тип Date. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр search_time_interval. | Field |
search_time_interval | Временной интервал, который будет использоваться для определения того, будут ли точки формировать пространственно-временной кластер. Интервал времени поиска охватывает время до и после каждой точки. Например, интервал в 3 дня вокруг точки будет включать все точки, начинающиеся за 3 дня до и заканчивающиеся через 3 дня после времени точки.
Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Временной интервал точек в кластере может быть больше, чем временной интервал поиска, если каждая точка имеет соседей в кластере, которые находятся в пределах временного интервала поиска. | Time Unit |
Пример кода
Скрипт окна Python, демонстрирующий использование функции DensityBasedClustering.
import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
В следующем автономном скрипте Python показано использование функции DensityBasedClustering.
# Clustering crime incidents in a downtown area using the DensityBasedClustering
# function
# Import system modules
import arcpy
import os
# Overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace
# Run Density-based Clustering with the HDBSCAN Cluster Method using a minimum
# of 15 features per cluster
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
# Run Density-based Clustering again using OPTICS with a Search Distance and
# Cluster Sensitivity to create tighter clusters
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_Optics", "OPTICS",
15, "1200 Meters", 70)
В следующем автономном скрипте Python показано использование функции DensityBasedClustering со временем.
# The following stand-alone Python script demonstrates how to use
# the DensityBasedClustering function with time to find space-time clusters.
# Time field and Search time interval only supported by DBSCAN and OPTICS methods
# Import system modules
import arcpy
import os
# Overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace
# Run Density-based Clustering with DBSCAN Cluster Method, and choose 50 as the minimum
# features per cluster, 200 meter search distance, and 10 minute search time interval
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_DBSCAN_Time",
"DBSCAN", 50, "200 Meters", None, "Pickup_Time", "10 Minutes")
# Run Density-based Clustering with OPTICS Method, and choose 50 as the minimum
# of features per cluster, 200 meter search distance, and 10 minute search time interval.
# Using 15 as the cluster sensitivity to create a higher number of dense clusters
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_OPTICS_Time",
"OPTICS", 50, "200 Meters", 15, "Pickup_Time", "10 Minutes")