Find Meeting Locations (AllSource)

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.

    Learn more about setting the time properties on data

  • 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.

    Complex shapes of meeting areas
    An overhead view of the complex shapes that meeting areas can take is shown.

    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 portion of track that is colocated
    Only the portion of the track that is identified as being colocated in space and time is highlighted in the meeting area.

  • 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.
      Increase search results
      To increase search results, the Search Distance value must be increased while the Minimum Loiter Time value must be decreased to allow for the maximum possible results returned.
    • 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.
      Low and high search distance and loiter time
      For smaller objects, such as people, Search Distance and Minimum Loiter Time values can be smaller to account for the small amount of variation that is needed. Larger objects, such as ships, can have higher values.

  • 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.

    Learn more about link charts

    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

LabelExplanationData 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.

  • OverlapsWhen a target time interval starts and ends before the start and end of the join time interval, the target time will overlap the join time.
  • IntersectsWhen any part of a target time occurs at the same time as the join time, the target time will intersect the join time. This is the default.
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

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})
NameExplanationData 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.

  • OVERLAPSWhen a target time interval starts and ends before the start and end of the join time interval, the target time will overlap the join time.
  • INTERSECTSWhen any part of a target time occurs at the same time as the join time, the target time will intersect the join time. This is the default.
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

FindMeetingLocations example (stand-alone script)

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)