Investigate a crime by finding cotravelers

Add the data

You'll start by reviewing a fictitious dataset of cell phone locations at the area of interest: Camp Lemonnier in Djibouti, Africa. This data contains the movement of the cellular devices and their owners throughout the day that the crime was committed.

First, you'll download the data and add it to a project in ArcGIS AllSource.


All of the data used in this tutorial is fictitious and designed for educational use only.

  1. Download the Camp Lemonnier Intelligence Data.

    A zipped folder named Camp_Lemonnier_Intelligence.gdb is downloaded to your computer. The .gdb extension means the folder contains a geodatabase, which is a folder format for storing geographic data.

  2. Extract the zipped folder to a location you can easily remember, such as your Documents folder.

    Next, you'll create a project in ArcGIS AllSource and add the data to it.

  3. Start ArcGIS AllSource. If prompted, sign in using your licensed ArcGIS account.

    ArcGIS AllSource is an optional product that can be installed when you install ArcGIS Pro. To learn more about installing ArcGIS AllSource, go to the Install ArcGIS Pro documentation page. If you don't have ArcGIS Pro or an ArcGIS organizational account, see options for software access.

    When you start ArcGIS AllSource, you're given the option to create a new project or open an existing one. If you've created a project before, you'll see a list of recent projects.

  4. Under Blank Templates, click Map.

    Map template

    The Create a New Project window appears.

  5. For Name, type Cotravelers Analysis Project. Click OK.

    The project, which will contain all of the maps and data for this workflow, is created. Because you chose the Map template, the project includes a blank map.

    You'll add data about cell phone locations from the geodatabase that you downloaded.

  6. On the ribbon, click the Data tab. In the Add group, click the Add Data button.

    Add Data button

    The Add Data window appears. You can add data from the project, your portal (ArcGIS Online), or your computer.

  7. Under Computer, browse to the location of the extracted geodatabase that you downloaded. Double-click Camp_Lemonnier_Intelligence.gdb.

    Location of the Camp_Lemonnier_Intelligence geodatabase in the Add Data window

    The geodatabase contains three feature datasets: Administrative_Data, Cell_Phone_Data, and Vehicle_Data. For now, you want to analyze cell phone data.

  8. Double-click Cell_Phone_Data.

    Cell_Phone_Data feature dataset

    A feature dataset contains multiple feature classes. Feature classes are collections of geographic features (such as points, lines, or polygons) that can be added to a map. The Cell_Phone_Data feature dataset has nine feature classes, but you'll only use one, Cell_Phone_Data_All, for this analysis.


    Another feature class in the dataset, Cell_Phone_Data_Find_Cotravelers_100ft_10s, contains the final result of your cotraveler analysis. After you finish the workflow, you can add this feature class to the map and compare your results.

  9. Click Cell_Phone_Data_All to select it.

    Cell_Phone_Data_All feature class

  10. Click OK.

    The feature class is added to the map. The map zooms to the extent of the data.

    Default map


    Your layer may have a different color than the example images.

    The layer includes a large number of points (more than 1 million) concentrated in and around an American military base named Camp Lemonnier in Djibouti, a small African nation. This base is your area of interest for this workflow.

    Each point represents the location of a cell phone at a certain point in time. Multiple points may correspond to the same cell phone as it moved throughout the day. You can learn more about a layer by opening its attribute table.

  11. In the Contents pane, right-click All Cell Phone Data and choose Attribute Table.

    Attribute Table option

    The attribute table appears. Attributes are textual or numeric data associated with each feature. In the table, each row represents an individual feature, while each column represents an attribute field.

    Fields in the attribute table

    This table includes fields describing the shape, latitude, longitude, and unique ID (OBJECTID) of each cell phone record. It also has a Time field, which has the date and time that the cell phone's location was captured, and a POI (person of interest) field, which identifies the person to whom the cell phone belonged. In a real dataset, the POI field would include the person's name, but because this data is fictitious, a number was used instead.

    In the example image, the first four cell phone records all belonged to the same person, identified as Person-102. These records were taken on September 9, 2017, with the first record occurring at 10:19 p.m. and the fourth at 11:44 p.m.

  12. Close the table.

Enable time settings

To perform cotraveler analysis, your layer must be time-enabled. From exploring the attribute table, you know that your cell phone data has a time field. You can use this field to enable time settings for the layer.

  1. In the Contents pane, double-click All Cell Phone Data.

    The Layer Properties window appears. In this window, you can set many settings relating to the layer. First, you'll set whether the layer has a single time field or start and end time fields. Your data has only one time field.

  2. Click the Time tab.
  3. Under Filter using time, select Filter layer content based on attribute values.

    Filter using attribute values.

  4. For Layer Time, choose Each feature has a single time field.

    Layer Time parameter

    Next, you'll choose the time field from the list of attribute fields.

  5. Confirm that Time Field is set to Time.

    For a time field to be used to enable time settings, the field must follow certain rules. If you're performing this workflow with your own data and have trouble enabling time settings, try converting the time field into a date format.

  6. Click OK.

    The layer is time-enabled. A timeline appears at the top of the map. When you point to the timeline, it shows the earliest and latest dates for the data.


Find cotravelers

Now that your data is time-enabled, you're ready to perform cotraveler analysis to find POIs that traveled together.

  1. On the ribbon, click the Analysis tab. In the Tools group, click the Movement group, and click Find Cotravelers.

    Arrow to expand the tools gallery

    The Geoprocessing pane appears. The pane displays the Find Cotravelers tool. The tool requires several parameters. First, you'll choose the input dataset that you want to analyze. Then, you'll choose the name of the output feature class that the tool will create to contain the results of the analysis.

  2. For Input Features, choose All Cell Phone Data. For Output Feature Class, delete the text and type Cell_Phone_Cotravelers.

    Find Cotravelers input and output parameters

    Next, you'll choose an ID field for the input layer. When you looked at the attribute table, you saw the POI field, which identifies the person associated with each cell phone record. You'll use this field.

  3. For ID Field, choose POI.

    Find Cotravelers ID parameter

    The remaining parameters all have default settings. Depending on your data and analytical requirements, these parameters may need to be adjusted.

    The Search Distance parameter is the maximum distance that can separate features before they are considered to not be cotravelers. The default value is 100 feet, but depending on preexisting intelligence, you may consider a larger or smaller value. For this workflow, you'll use the default.

    The Time Difference parameter is the maximum time difference that can separate features before they are considered to not be cotravelers. The default value is 10 seconds. As with the search distance, you may consider a larger or smaller value for some workflows. For this workflow, you'll use the default.

    Your input features are contained in a single feature class, so you won't change the Input Type parameter. You may also choose to include a minimum cotraveling duration filter. This filter allows you to set a minimum time difference for features to be considered cotraveling. For this analysis, you won't need this filter, so you'll leave the parameter unchecked.

  4. Click Run.

    Because your dataset has a large number of features (more than 1 million), the tool may take several minutes to run.

    The tool runs. When it finishes, a notification appears at the bottom of the Geoprocessing pane.

    Message indicating the tool has finished


    To learn more about the analysis, including how long the tool took to run, click View Details.

    Additionally, the Cell_Phone_Cotravelers layer is added to the map and Contents pane. It may be difficult to see the output layer because of the number of points in the original layer.

  5. In the Contents pane, uncheck All Cell Phone Data.

    All Cell Phone Data layer turned off

    Unchecking the layer hides it on the map. (You can always show the layer again by checking it.) Now, the map only shows the cotravelers.

    Map with the cotraveler analysis result layer

    Each point on the map indicates a location and time where two distinct POIs were traveling together. The color of each point corresponds to the time difference between the two travelers in seconds. Red points indicate a time difference of about one second. You can learn more about the results through its table.

  6. In the Contents pane, right-click the Cell_Phone_Cotravelers layer and choose Attribute Table.

    The table appears.

    Cell_Phone_Cotravelers attribute table

    It contains a large number of fields, which are explained by the following list:

    • X: The x-coordinate of the traveling feature. The coordinate, as well as all other coordinates in the table, are in the same unit of measurement as the input layer's projection. In this case, that unit is meters. (You can check the unit by opening the input layer's Layer Properties window, clicking the Source tab, and expanding Spatial Reference.)
    • X_cotraveler: The x-coordinate of the feature that was cotraveling with the traveling feature.
    • Y: The y-coordinate of the traveling feature.
    • Y_cotraveler: The y-coordinate of the cotraveling feature.
    • cotraveler_id: The unique identifier for the cotraveling feature. The identifier is taken from the ID field you chose when setting the tool parameters. In this case, it comes from the POI field in the original layer.
    • cotraveler_time: The date and time when the cotraveling feature was at the point's location.
    • traveler_id: The unique identifier for the traveling feature.
    • traveler_time: The date and time when the traveling feature was at the point's location.
    • time_diff: The difference, in seconds, between the cotraveler_time and traveler_time fields. Positive numbers indicate that the cotraveler was at the location after the traveler, while negative numbers indicate that the cotraveler was at the location before the traveler.
    • distance_diff: The distance between the cotraveler and traveler features at the indicated times. The distance is in the same unit of measurement as the coordinates, in this case, meters.
    • unique_pair_id: A unique identifier generated for each unique pair of cotraveling features. Two cotraveling features (A, B) will share the same ID for both (A, B) and (B, A).

    Next, you'll use this information to help investigate a crime. For this scenario, assume that a robbery occurred in the area. Law enforcement personnel have already established an individual identified as Person-1189 as a suspect in the robbery. Now, they want to determine with whom the suspect met before and after the robbery, as it's possible that these individuals are coconspirators in the crime.

    You'll select any cotraveling features that include Person-1189 to find out this information.

  7. In the table, click Select By Attributes.

    Select By Attributes button

    The Select By Attributes window appears. Using this tool, you can create an expression to select features that have attribute values that you specify.

    You can create expressions that say many things. Your expression will prompt the tool to select features where the traveler_id field value is equal to Person-1189.

  8. In the expression box, create the expression Where traveler_id is equal to Person-1189.

    Expression to select features with a traveler_id value of Person-1189

  9. Click OK.

    All features in the table that match the expression are highlighted. Because there are so many records, you'll filter the table to show only selected records.

  10. At the bottom of the table, click the Show selected records button.

    Show selected records button

    The table is filtered. Only the 15 selected features are shown. For all of these features, the traveler is the suspect, Person-1189. Additionally, each feature has the same cotraveler: Person-998.

    Table showing selected features only

    In each of these features, the time difference and distance difference are 0, so it is likely that Person-1189 and Person-998 were traveling together, possibly in the same vehicle.

    The selected features are also highlighted on the map.

    Features selected on the map

    By looking at the map, investigators can determine how close these two people were to the site of the crime when they were traveling together.

    Based on your results, Person-998 may be someone for law enforcement officials to question in relation to the crime. Based on them traveling with the suspect around the time and place the crime occurred, they may either be an accomplice or have critical information for investigators to make their case.

  11. Close the table. On the Quick Access Toolbar, click the Clear button.

    Clear button

    The selected features are cleared.

  12. Click the Save button.

    Save button

    The project is saved.


    Alternatively, you can save the project with the keyboard shortcut Ctrl+S.

In this tutorial, you used ArcGIS AllSource to perform cotraveler analysis on cell phone data to find possible accomplices of a suspected criminal. In the real world, cotraveler analysis can be performed on a variety of datasets, not just cell phone records.

The dataset you downloaded at the beginning of the tutorial includes the Vehicle_Data_All_Vehicle_Data feature class (contained in the Vehicle_Data feature dataset). It contains vehicle locations over time. For an optional challenge, try performing the cotraveler analysis workflow on this feature class.

This workflow, in conjunction with other intelligence workflows that can be done in ArcGIS AllSource, can be used by law enforcement and military personnel to help track down offenders or insurgents.

You can find more tutorials in the tutorial gallery.