Найти попутчиков (AllSource)

Краткая информация

Извлекает уникальные идентификаторы, которые перемещаются в пространстве и времени с указанными пользователем интервалами в наборе данных точек трека.

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

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

    Подробнее о настройке свойств времени для данных

  • При выборе поля, которое будет использоваться в качестве уникального идентификатора, выберите целочисленное или текстовое поле. Это позволит более эффективно группировать объекты и получить оптимальный результат. Оптимально, если набор данных будет содержать ID трека. Хорошим примером идентификатора трека является идентификатор морской мобильной службы, или MMSI. Поле Name из файлов .gpx, позывные самолетов или другие уникальные значения могут быть сгруппированы в треки. Уникальные идентификаторы не должны быть уникальны для каждой строки. Если это так, сформировать треки не удастся и либо не будут определены попутчики, либо, в редких случаях, будет сгенерировано значительное число ложно-положительных данных.

  • При задании небольших пространственных и временных интервалов обработка будет выполняться быстрее. Например, при задании разницы во времени в 10 минут и пространственной разницы, равной 100 метрам, обработка будет выполнена быстрее, чем в случае задания разницы во времени 1 час и пространственной разницы, равной 1 километру.

  • Для оптимизации Расстояния поиска и Разницы во времени и получения достоверного числа попутчиков, учитывайте следующее:

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

    Сравнение меньших и больших значений параметров
    Значения параметров для пешеходов должны быть меньше, а для крупных объектов - больше.

  • Параметр Фильтр минимальной продолжительности совместного движения позволяет задать минимальное время, в течение которого объекты должны перемещаться вместе, прежде чем станут рассматриваться как попутчики. Например, если для минимальной продолжительности совместного движения задано 15 минут, время от первого события определения попутчиков до последнего должно составлять минимум 15 минут, чтобы инструмент вернул трек как достоверного попутчика. Если встречается большое количество ложно положительных результатов от таких объектов, как порты, парковки, или имеются попутчики с очень малым числом треков, рекомендуется применить Фильтр минимальной продолжительности совместного движения и снова запустить инструмент. Значение Фильтра минимальной продолжительности совместного движения поможет удалить большинство небольших фрагментов треков.

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

    Проходные и пересекающиеся объекты
    Проходные и пересекающиеся объекты не являются попутчиками

  • Выходные объекты соответствуют местоположениям объектов-попутчиков. К выходным объектам будут добавлены - в дополнение к другим описательным полям - еще два поля, которые содержат информацию о разнице во временном и пространственном положении между путешественником и его возможным попутчиком.

    Выходные объекты будут включать следующие поля:

    • traveler_id - уникальный идентификатор объекта-путешественника. Это идентификатор объекта, с которым перемещается объект-попутчик, называемый исходным объектом.
    • cotraveler_id - уникальный идентификатор объекта-попутчика. Это идентификатор попутчика объекта-путешественника, называемый целевым объектом.
    • X – координата х объекта-путешественника. Координаты должны быть в единицах проекции Входных объектов.
    • Y – координата у объекта-путешественника. Координаты должны быть в единицах проекции Входных объектов.
    • X_cotraveler - координата x объекта-попутчика. Координаты должны быть в единицах проекции Входных объектов.
    • Y_cotraveler - координата y объекта-попутчика. Координаты должны быть в единицах проекции Входных объектов.
    • traveler_time - дата и время для объекта-путешественника.
    • cotraveler_time - дата и время для объекта-попутчика.
    • distance_difference - расстояние между объектом во Входных объектах и предполагаемым попутчиком. Расстояние должно быть задано в линейных единицах Входных объектов.
    • time_difference - разница во времени между объектом во Входных объектах и предполагаемым попутчиком. Разница во времени выражается в секундах и может быть как положительной, так и отрицательной. Положительные значения указывают объекты, которые следуют после путешественника. Отрицательные значения указывают объекты, которые опережают путешественника.
    • cotraveling_pair_id – уникальный идентификатор, создаваемый для каждой пары объектов-попутчиков.

    Идентификатор cotraveling_pair_id генерируется для обеспечения опции фильтрации и определения всех возможных комбинаций попутчиков. Два объекта попутчика (A, B) будут обладать одинаковым идентификатором как для (A, B), так и для (B, A).

    Идентификатор cotraveling_pair_id для пары попутных треков
    Когда пара треков определяется как попутчики, все комбинации этой пары будут иметь одинаковый идентификатор cotraveling_pair_id.

    Может быть создана дополнительная суммарная таблица. Сводная таблица будет включать следующие поля:

    • unique_pair_id – уникальный идентификатор, создаваемый для каждой пары объектов-попутчиков. Два объекта попутчика (A, B) будут обладать одинаковым идентификатором как для (A, B), так и для (B, A).
    • traveler_id - уникальный идентификатор объекта-путешественника. Это идентификатор объекта, с которым перемещается объект-попутчик, называемый исходным объектом.
    • cotraveler_id - уникальный идентификатор объекта-попутчика. Это идентификатор попутчика объекта-путешественника, называемый целевым объектом.
    • time_diff_max – максимальное разделение во времени между путешественником и попутчиком.
    • time_diff_min – минимальное разделение во времени между путешественником и попутчиком.
    • time_diff_mean – среднее разделение во времени между путешественником и попутчиком.
    • time_diff_std – стандартное отклонение разделения во времени между путешественником и попутчиком.
    • dist_diff_max – максимальное расстояние между путешественником и попутчиком.
    • dist_diff_min – минимальное расстояние между путешественником и попутчиком.
    • dist_diff_mean – среднее расстояние между путешественником и попутчиком.
    • dist_diff_std – стандартное отклонение расстояния между путешественником и попутчиком.
    • unique_pair_id_count – общее количество объектов, определенных как попутчики по отношению к полю unique_pair_id.

  • Выходные данные инструмента Найти попутчиков могут быть визуализированы как диаграмма связей.

    Более подробно о диаграммах связей

    Диаграммы связей позволяют разделять сложные наборы данных на компоненты для облегчения визуализации и изучения взаимоотношений в данных. Это делается через создание типов элементов и типов отношений. Типы элементов представляют собой отдельные объекты, такие как люди, места, организации и уникальные идентификаторы. Поля traveler_id и cotraveler_id являются примерами типов данных, которые могут быть преобразованы в типы элементов. Другая часть диаграммы связей - это типы отношений. Типы отношений на диаграмме связей соединяют отдельные типы элементов друг с другом. Визуализация выходных данных инструмента Найти попутчиков позволяет лучше понять связи элементов и наличие значимых кластеров, что облегчает дальнейшее исследование.

    После создания диаграммы связей, для выходных данных инструмента Найти попутчиков можно создать типы элементов и отношений. Рекомендуется включить параметр Создать таблицу суммирования. Результатов работы инструмента Найти попутчиков может быть много, что снизит производительность работы диаграммы связей. При использовании дополнительного значения Создать таблицу суммирования или Выходной класс объектов, рекомендуется добавить тип элемента из полей traveler_id и cotraveler_id, создав элемент с несколькими полями.

    Чтобы создать тип отношений, используя Выходную таблицу суммирования или Выходной класс объектов, используйте тип Ключевой элемент. Задайте значение Поле ключевого элемента источника на traveler_id, а Поле ключевого целевого элемента на cotraveler_id.

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

Feature Layer
Выходной класс пространственных объектов

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

Feature Class
Поле ID

Поле из параметра Входные объекты для получения уникальных идентификаторов точек трека. Это поле будет скопировано в выходной класс объектов.

Field
Расстояние поиска
(Дополнительный)

Максимальное расстояние между объектами, при котором они будут считаться попутчиками. Значение по умолчанию – 100 футов.

Linear Unit
Разница во времени
(Дополнительный)

Максимальная разница во времени между объектами, при котором они будут считаться попутчиками. Значением по умолчанию является 10 секунд.

Time Unit
Тип входных данных
(Дополнительный)

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

  • Один класс объектовПопутчики будут определяться в одном классе объектов. Это значение по умолчанию
  • Два класса объектовПопутчики будут определяться в двух классах объектов.
String
Вторичные объекты
(Дополнительный)

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

  • Попутчики перемещающиеся во входных объектах.
  • Попутчики перемещающиеся во вторичных объектах.
  • Попутчики перемещаются между входными объектами и вторичными объектами.

Feature Layer
Поле Secondary ID
(Дополнительный)

Поле из параметра Вторичные объекты для получения уникальных идентификаторов точек трека. Это поле будет скопировано в выходной класс объектов.

Field
Создать суммарную таблицу
(Дополнительный)

Задает, будет ли создаваться выходная суммарная таблица.

  • Отмечено - суммарная таблица будет создана.
  • Не отмечено - суммарная таблица не будет создана. Это значение по умолчанию

Boolean
Выходная суммарная таблица
(Дополнительный)

Выходная таблица, которая будет хранить итоговую информацию. Этот параметр активен только при включенном параметре Создать суммарную таблицу. Выходные файлы должны быть таблицами в файловой базе геоданных, текстовыми файлами или файлами значений, разделенных запятыми (.csv).

Table
Использовать Фильтр минимальной продолжительности совместного движения
(Дополнительный)

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

  • Отмечено - фильтр минимальной продолжительности совместного движения используется.
  • Не отмечено - фильтр минимальной продолжительности совместного движения не используется. Это значение по умолчанию

Boolean
Минимальная продолжительность совместного движения
(Дополнительный)

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

Time Unit

arcpy.intelligence.FindCotravelers(input_features, out_featureclass, id_field, {search_distance}, {time_difference}, {input_type}, {secondary_features}, {secondary_id_field}, {create_summary_table}, {out_summary_table}, {include_min_cotraveling_duration}, {min_cotraveling_duration})
ИмяОписаниеТип данных
input_features

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

Feature Layer
out_featureclass

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

Feature Class
id_field

Поле из параметра input_features для получения уникальных идентификаторов точек трека. Это поле будет скопировано в выходной класс объектов.

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

Максимальное расстояние между объектами, при котором они будут считаться попутчиками. Значение по умолчанию – 100 футов.

Linear Unit
time_difference
(Дополнительный)

Максимальная разница во времени между объектами, при котором они будут считаться попутчиками. Значением по умолчанию является 10 секунд.

Time Unit
input_type
(Дополнительный)

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

  • ONE_FEATURECLASSПопутчики будут определяться в одном классе объектов. Это значение по умолчанию
  • TWO_FEATURECLASSESПопутчики будут определяться в двух классах объектов.
String
secondary_features
(Дополнительный)

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

  • Попутчики перемещающиеся во входных объектах.
  • Попутчики перемещающиеся во вторичных объектах.
  • Попутчики перемещаются между входными объектами и вторичными объектами.

Feature Layer
secondary_id_field
(Дополнительный)

Поле из параметра secondary_features для получения уникальных идентификаторов точек трека. Это поле будет скопировано в выходной класс объектов.

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

Задает, будет ли создаваться выходная суммарная таблица.

  • NO_SUMMARY_TABLEСуммарная таблица не будет создана. Это значение по умолчанию
  • CREATE_SUMMARY_TABLEСуммарная таблица будет создана.
Boolean
out_summary_table
(Дополнительный)

Выходная таблица, которая будет хранить итоговую информацию. Этот параметр включается только тогда, когда параметр create_summary_table имеет значение CREATE_SUMMARY_TABLE. Выходные файлы должны быть таблицами в файловой базе геоданных, текстовыми файлами или файлами значений, разделенных запятыми (.csv).

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

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

  • Отмечено - фильтр минимальной продолжительности совместного движения используется.
  • Не отмечено - фильтр минимальной продолжительности совместного движения не используется. Это значение по умолчанию

Задает применение фильтра минимальной продолжительности совместного движения.

  • MIN_COTRAVELING_DURATIONФильтр минимальной продолжительности совместного движения используется.
  • NO_MIN_COTRAVELING_DURATIONФильтр минимальной продолжительности совместного движения не используется. Это значение по умолчанию
Boolean
min_cotraveling_duration
(Дополнительный)

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

Time Unit

Пример кода

FindCotravelers, пример (автономный скрипт)

В следующем скрипте Python показано, как используется функция FindCotravelers в автономном скрипте без выходной суммарной таблицы и с одним входным классом объектов.


# Name: FindCotravelers.py
# Description: Identify cotravelers in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
output_point_features = "Cotravelers"
id_field = "device_id"

# Run tool
arcpy.intelligence.FindCotravelers(source_features,
                                   output_point_features,
                                   id_field)
FindCotravelers, пример (автономный скрипт)

В следующем скрипте Python показано, как используется функция FindCotravelers в автономном скрипте с выходной суммарной таблицей и с двумя входными классами объектов.


# Name: FindCotravelers.py
# Description: Identify cotravelers in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
unknown_features = "Unknown_Tracks"
output_point_features = "Cotravelers"
id_field_name = "device_id"
unknown_id_field = "MMSI"
search_distance = "75 Feet"
time_difference = "5 Seconds"
summary_table = "CREATE_SUMMARY_TABLE"
summary_table_name = "Tracks_Summary_Table"
filter_duration = "MIN_COTRAVELING_DURATION"
cotraveling_duration = "30 Minutes"


# Run tool
arcpy.intelligence.FindCotravelers(source_features,
                                   output_point_features,
                                   id_field_name,
                                   search_distance,
                                   time_difference,
                                   "TWO_FEATURECLASSES",
                                   unknown_features,
                                   unknown_id_field,
                                   summary_table,
                                   summary_table_name,
                                   filter_duration,
                                   cotraveling_duration)