Label | Explanation | Data Type |
Input Features
| The input movement track points that will be analyzed for possible meeting locations. This layer must be time enabled. | Feature Layer |
Output Area Features
| The output area features that represent the extent of the identified meeting location. | Feature Class |
Output Point Features
| The output point features that represent the centroid of the area of the individual meeting. Multiple meetings can occur at a given meeting location. This feature class contains all of the details regarding the individual meetings including participants, duration, and start and end times. | Feature Class |
In Features Name Field | The field containing the unique identifiers for movement track points. | Field |
Search Distance
(Optional) | The maximum distance a movement track can loiter before it is no longer considered part of a meeting. The default is 100 meters. | Linear Unit |
Minimum Loiter Time
(Optional) | The minimum amount of time a movement track point can loiter in an area before it is considered to be dwelling. This helps identify possible meeting locations where multiple unique movement tracks are dwelling in the same time and space. The default is 10 minutes. | Time Unit |
Temporal Relationship
(Optional) | Specifies the time criteria that will be used to match features.
| String |
Minimum Meeting Duration
(Optional) | The minimum meeting duration that will be used for the meeting to be included in the output. | Time Unit |
Maximum Meeting Duration
(Optional) | The maximum meeting duration that will be used for the meeting to be included in the output. | Time Unit |
Summary
Identifies locations where multiple unique movement tracks have dwelled for a defined time period.
Usage
The tool identifies the dwell locations of individual tracks in a movement track point dataset and also identifies where multiple unique tracks are colocated.
To identify movement track points that are moving together through space and time, use the Find Cotravelers tool.
Time must be enabled on the Input Features parameter value.
The tool identifies possible meeting locations where tracks overlap in space and time. To identify a meeting location, a minimum of two unique tracks must be colocated in both space and time for at least the amount of time specified in the Minimum Loiter Time parameter and travel no more than the distance specified in the Search Distance parameter. The output area feature class represents a convex hull of the union of all individual meetings that have occurred in that area.
The output point features represent all unique pairs that were occupying the same space and time. If more than two unique identifiers were occupying the same space and time, unique pairs will be generated that represent all possible pairs. Meeting areas include only the portion of each track that meets both the Minimum Loiter Time and Search Distance parameter values, not the full track.
The Search Distance parameter represents the maximum distance that a track can loiter in an area before it is no longer considered loitering. The Minimum Loiter Time parameter value represents the minimum amount of time that a track must be within the Search Distance value to meet the criteria for loitering. Once the distance traveled exceeds the Search Distance value while being less than the Minimum Loiter Time value, the track is considered to be traveling, not loitering. To optimize the Search Distance and Minimum Loiter Time parameters to increase or decrease the total number of meetings, the following actions can be applied:
- Increase the Search Distance value and decrease the Minimum Loiter Time value to return more possible meeting locations.
- Decrease the Search Distance value and increase the Minimum Loiter Time value to decrease the number of possible meeting locations.
- If the tracks represent large objects such as ships, larger Search Distance and Minimum Loiter Time values may be necessary. Additionally, for tracks representing ships, you can use the Find Cotravelers tool, as the ships may be undergoing transshipment activity while being under way.
- Smaller objects such as pedestrians and cars may need smaller Search Distance and Minimum Loiter Time values, as interpersonal contact may be brief and large values may exclude valuable possible meeting details.
The Minimum Meeting Duration and Maximum Meeting Duration parameters allow for the filtering of excessively short or excessively long meetings that can impact performance. Specifying a Minimum Meeting Duration or Maximum Meeting Duration value will filter out meetings that do not meet the threshold specified. This can be useful for filtering out false positives generated due to a variety of circumstances such as the following:
- Vessels moored off the coast near a port awaiting approval to proceed into port but meet the necessary qualifications specified in the Minimum Loiter Time and Search Distance values.
- GPS devices for automobiles that are left running overnight with vehicles that are parked in the same parking lot.
- GPS tracks for individuals who are persistently cohabitating and nightly meetings are being generated at their place of residence that are not relevant to the current analysis.
The Output Area Features parameter value will include the following fields:
- total_unique_ids—The number of unique movement track point identifiers located in the given area feature.
- total_meetings—The number of unique movement track point identifiers located in the given area feature. For example, the total_unique_ids field may contain a relatively low count, while the total_meetings field count may be high, indicating that the location was used numerous times by a select number of identifiers.
- mean_meeting_duration—The average (mean) amount of time, in seconds, meetings lasted at the location.
- min_meeting_duration—The shortest amount of time, in seconds, a meeting lasted at the location.
- max_meeting_duration—The longest amount of time, in seconds, a meeting lasted at the location.
- minimum_meeting_start—The date and time of the beginning of the first meeting at the location.
- maximum_meeting_end—The date and time of the end of the last meeting at the location.
- meeting_area_id—A globally unique identifier for the individual meeting areas.
The Output Point Features parameter value will include the following fields:
- participant_1—The first unique identifier in the area specified for the In Features Name Field parameter.
- participant_2—The second unique identifier in the given area as specified for the In Features Name Field parameter.
- meeting_duration—The length of the meeting in seconds.
- meeting_start—The date and time of the beginning of the meeting.
- meeting_end—The date and time of the end of the meeting.
- meeting_id—A globally unique identifier for the individual meeting.
- meeting_area_id—The globally unique identifier for the individual meeting area. This is inherited from the associated feature specified for the Output Area Features parameter.
This tool is powered by Spark. Analysis is completed on your desktop machine using multiple cores in parallel. When running Find Meeting Locations, the analysis is completed on your desktop machine. For optimal performance, data should be available on your desktop.
The output can be visualized in a link chart or a time line.
Link charts allow complex datasets to be drilled down to their component pieces to help visualize and explore the relationships in the data. This is done through the creation of entity types and relationship types. Entity types represent discrete objects, such as people, places, organizations, and unique identifiers. The participant_1, participant_2, and meeting_area_id fields are examples of types of data that can be turned into an entity type. The other part of a link chart is the relationship types. Relationship types connect the individual entity types to each other in the link chart. Visualizing the outputs fromFind Meeting Locations can help you understand which entities are connected and if there are relevant clusters that warrant further exploration.
Once a link chart is created, entity types can be created from the Output Point Features results. It is recommended that you use the participant_1 and participant_2 fields to create a multifield entity. It is also recommended that you create an entity type from the meeting_area_id field from the features specified in the Output Area Features parameter.
To create a relationship type, select the Entities key type and use the participant_1 field as the Source entity key field value and the participant_2 field as the Target entity key field value. Another relationship type can be created to associate the participant_1, participant_2, and meeting_area_id fields using the Entities key type and the meeting_area_id field from the entity type created from the participant_1 and participant_2 fields in the Source entity key field option and the meeting_area_id field in the Target entity key field option.
To create a time line from the outputs of the Find Meeting Locations tool, enable time on the outputs by specifying a start and end time. For the Output Area Features parameter, enable time based on the minimum_meeting_start field for the start time and the maximum_meeting_end field for the end time. For the Output Point Features parameter, use the meeting_start field as the start time and the meeting_end field as the end time.
Parameters
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})
Name | Explanation | Data Type |
in_features | The input movement track points that will be analyzed for possible meeting locations. This layer must be time enabled. | Feature Layer |
out_area_features | The output area features that represent the extent of the identified meeting location. | Feature Class |
out_point_features | The output point features that represent the centroid of the area of the individual meeting. Multiple meetings can occur at a given meeting location. This feature class contains all of the details regarding the individual meetings including participants, duration, and start and end times. | Feature Class |
unique_name_field | The field containing the unique identifiers for movement track points. | Field |
search_distance (Optional) | The maximum distance a movement track can loiter before it is no longer considered part of a meeting. The default is 100 meters. | Linear Unit |
minimum_loiter_time (Optional) | The minimum amount of time a movement track point can loiter in an area before it is considered to be dwelling. This helps identify possible meeting locations where multiple unique movement tracks are dwelling in the same time and space. The default is 10 minutes. | Time Unit |
temporal_relationship (Optional) | Specifies the time criteria that will be used to match features.
| String |
min_meeting_duration (Optional) | The minimum meeting duration that will be used for the meeting to be included in the output. | Time Unit |
max_meeting_duration (Optional) | The maximum meeting duration that will be used for the meeting to be included in the output. | Time Unit |
Code sample
The following Python script demonstrates how to use the FindMeetingLocations function in a stand-alone script.
# 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)