标注 | 说明 | 数据类型 |
输入要素 | 输入运动轨迹点,用于分析是否为可能的汇合地点。 该图层必须已启用时间。 | Feature Layer |
输出面要素 | 输出面要素,用于表示标识的汇合地点范围。 | Feature Class |
输出点要素 | 表示各个汇合面的质心的输出点要素。 在给定汇合位置可以发生多次汇合。 要素类包含有关各个汇合的所有详细信息,包括参与者、持续时间以及开始和结束时间。 | Feature Class |
输入要素名称字段 | 此字段包含运动轨迹点的唯一标识符。 | Field |
搜索距离 (可选) | 运动轨迹在不再被视为汇合的一部分之前可以徘徊的最大距离。 默认值是 100 米。 | Linear Unit |
最短徘徊时间 (可选) | 运动轨迹点在被视为停留之前可以在区域中徘徊的最短时间。 这有助于确定多个唯一运动轨迹在同一时间和空间内停留的可能汇合地点。 默认值为 10 分钟。 | Time Unit |
时态关系 (可选) | 指定将用于匹配要素的时间条件。
| String |
最短汇合持续时间 (可选) | 最短汇合持续时间,用于要包含在输出中的汇合。 | Time Unit |
最长汇合持续时间 (可选) | 最长汇合持续时间,用于要包含在输出中的汇合。 | Time Unit |
摘要
用于标识多个唯一运动轨迹在定义时间内停留的位置。
使用情况
该工具用于标识运动轨迹点数据集中各个轨迹的停留位置,还用于标识多个唯一轨迹协同定位的位置。
要标识在空间和时间上一起运动的运动轨迹点,使用查找同行者工具。
必须在输入要素参数值上启用时间。
工具用于标识轨迹在空间和时间上重叠的可能汇合位置。 要标识汇合位置,必须至少为最短徘徊时间参数中指定的时间在空间和时间上协同定位至少两个唯一轨迹,并且轨迹不得超过搜索距离参数中指定的距离。 输出面要素类表示该面中发生的所有单个汇合并集的凸包。
输出点要素表示占用相同空间和时间的所有唯一对。 如果两个以上的唯一标识符占用相同的空间和时间,则将生成代表所有可能对的唯一对。 汇合面仅包括每个轨迹中同时满足最短徘徊时间和搜索距离参数值的部分,而非包括完整轨迹。
搜索距离参数表示轨迹在其不再被视为徘徊之前可以在一个面中徘徊的最大距离。 最短徘徊时间参数值表示轨迹必须在搜索距离值内才能满足徘徊条件的最短时间。 一旦行驶距离超出搜索距离值,但又小于最短徘徊时间值,则该轨迹将被视为行驶中而非徘徊中。 要优化搜索距离和最短徘徊时间参数以增加或减少总汇合次数,可以应用以下操作:
- 增大搜索距离值并减小最短徘徊时间值,可返回更多可能的汇合位置。
- 减小搜索距离值并增大最短徘徊时间值,可减少可能的汇合位置数量。
- 如果轨迹表示较大对象(例如船舶),则可能必须提供较大的搜索距离和最短徘徊时间值。 此外,对于表示船舶的轨迹,您可以使用查找同行者工具,因为船舶在航行过程中可能需要进行转运活动。
- 较小对象(例如行人和汽车)可能需要较小的搜索距离和最短徘徊时间值,因为人际交往可能很短暂,而较大的值可能会排除有价值的可能汇合详细信息。
最短汇合持续时间和最长汇合持续时间参数允许过滤会影响性能的过短或过长的汇合。 指定最短汇合持续时间或最长汇合持续时间值将过滤掉不符合指定阈值的汇合。 这对于滤除由于各种情况而产生的误报非常有用,例如:
- 停泊在靠近港口的海岸附近等待批准进入港口、但满足最小徘徊时间和搜索距离值中规定的必要条件的船只。
- 通宵行驶汽车上的的 GPS 设备以及停在同一停车场的车辆。
- 持续同行和进行夜间汇合的个人 GPS 轨迹是在他们的居住地生成的,这些轨迹与当前的分析无关。
输出区域要素参数值将包含以下输出字段:
- total_unique_ids- 位于给定面要素中的唯一运动轨迹点标识符数。
- total_meetings- 位于给定面要素中的唯一运动轨迹点标识符数。 例如,total_unique_ids 字段可能包含相对较少的计数,但是 total_meetings 字段计数可能很高,表示该位置已被选定数量的标识符多次使用。
- mean_meeting_duration- 汇合在该位置持续的平均时间(以秒为单位)。
- min_meeting_duration- 汇合在该位置持续的最短时间(以秒为单位)。
- max_meeting_duration- 汇合在该位置持续的最长时间(以秒为单位)。
- minimum_meeting_start- 第一次汇合在该位置的开始日期和时间。
- maximum_meeting_end- 最后一次汇合在该位置的结束日期和时间。
- meeting_area_id- 各个汇合面的全局唯一标识符。
输出点要素参数值将包含以下输出字段:
- participant_1- 为输入要素名称字段参数指定的区域中的第一个唯一标识符。
- participant_2- 为输入要素名称字段参数指定的给定区域中的第二个唯一标识符。
- meeting_duration- 汇合持续时间(以秒为单位)。
- meeting_start- 汇合的开始日期和时间。
- meeting_end- 汇合的结束日期和时间。
- meeting_id- 各个汇合的全局唯一标识符。
- meeting_area_id- 各个汇合面的全局唯一标识符。 该字段继承自为输出面要素参数指定的关联要素。
此工具由 Spark 作为支持。 可在台式计算机上并行使用多个核来完成分析。 运行查找汇合位置工具时,将在台式计算机上完成分析。 为获得最佳性能,应在桌面上提供数据。
可以在链接图表或时间轴中可视化输出。
链接图表允许将复杂数据集向下钻取到其组件部分,以帮助可视化和探索数据中的关系。 该项工作可通过创建实体类型和关系类型来完成。 实体类型可代表离散对象,例如人员、地点、组织和唯一标识符。 participant_1、participant_2 和 meeting_area_id 字段是可以转换为实体类型的数据类型的示例。 链接图表的另一部分是关系类型。 关系类型可在链接图表中将各个实体类型相互连接。 对查找汇合位置的输出进行可视化可了解所连接的实体以及是否存在需要进一步探索的相关聚类等情况。
一旦创建了链接图表,就可以根据输出点要素结果创建实体类型。 建议您使用 participant_1 和 participant_2 字段来创建一个多字段实体。 此外,还建议您根据输出面要素参数中指定的要素的 meeting_area_id 字段创建实体类型。
要创建关系类型,请选择“实体”键类型,然后将 participant_1 字段用作源实体关键字段值,并将 participant_2 字段用作目标实体关键字段值。 可以使用“实体”键类型创建另一个关系类型,以便将 participant_1、participant_2 和 meeting_area_id 字段与通过根据源实体关键字段选项中的 participant_1 和 participant_2 字段以及目标实体关键字段选项中的 meeting_area_id 字段创建的实体类型中的 meeting_area_id 字段进行关联。
要根据查找汇合位置工具的输出创建时间轴,请通过指定开始时间和结束时间在输出上启用时间。 对于输出面要素参数,请基于开始时间的 minimum_meeting_start 字段和结束时间的 maximum_meeting_end 字段来启用时间。 对于输出点要素参数,请将 meeting_start 字段用作开始时间,并将 meeting_end 字段用作结束时间。
参数
arcpy.intelligence.FindMeetingLocations(in_features, out_area_features, out_point_features, unique_name_field, {search_distance}, {minimum_loiter_time}, {temporal_relationship}, {min_meeting_duration}, {max_meeting_duration})
名称 | 说明 | 数据类型 |
in_features | 输入运动轨迹点,用于分析是否为可能的汇合地点。 该图层必须已启用时间。 | Feature Layer |
out_area_features | 输出面要素,用于表示标识的汇合地点范围。 | Feature Class |
out_point_features | 表示各个汇合面的质心的输出点要素。 在给定汇合位置可以发生多次汇合。 要素类包含有关各个汇合的所有详细信息,包括参与者、持续时间以及开始和结束时间。 | Feature Class |
unique_name_field | 此字段包含运动轨迹点的唯一标识符。 | Field |
search_distance (可选) | 运动轨迹在不再被视为汇合的一部分之前可以徘徊的最大距离。 默认值是 100 米。 | Linear Unit |
minimum_loiter_time (可选) | 运动轨迹点在被视为停留之前可以在区域中徘徊的最短时间。 这有助于确定多个唯一运动轨迹在同一时间和空间内停留的可能汇合地点。 默认值为 10 分钟。 | Time Unit |
temporal_relationship (可选) | 指定将用于匹配要素的时间条件。
| String |
min_meeting_duration (可选) | 最短汇合持续时间,用于要包含在输出中的汇合。 | Time Unit |
max_meeting_duration (可选) | 最长汇合持续时间,用于要包含在输出中的汇合。 | Time Unit |
代码示例
以下 Python 脚本演示了如何在独立脚本中使用 FindMeetingLocations 函数。
# Name: FindMeetingLocations.py
# Description: Identify possible meeting locations in a movement track point dataset.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Tracks.gdb"
# Set local variables
movement_points = "Movement_Points"
out_area_features = "Meeting_Locations"
out_point_features = "Meeting_Details"
point_id_field = "Created_By"
search_distance = "100 Meters"
min_loiter_time = "10 Minutes"
# Run tool
arcpy.intelligence.FindMeetingLocations(movement_points,
out_area_features,
out_point_features,
point_id_field,
search_distance,
min_loiter_time)