The Find Dwell Locations tool determines dwell locations from time-sequential points in a track. Dwell locations are defined as sequential observations with little or no movement over a certain period of time. Depending on the field of application, this may be referred to as stay points or idle detection. Tracks are identified by the Track ID key field. Each track can have 0, 1, or more dwell locations.

Depending on the dwell output type chosen, the resulting layer can display the dwell location as dwell points, all points including dwells, a convex hull of the dwell locations, or a mean center point of the dwell. The output contains the count of features within a dwell location, the start and end time of the dwell, the duration of the dwell, and any additional statistics that have been calculated.

## Workflow diagram

## Examples

- A transportation department is monitoring vehicle movement in near-real-time in order to identify dwell locations witnessed throughout the day. The Find Dwell Locations tool can be used to identify dwell locations where vehicles have not exceeded a certain speed threshold.

## Usage notes

- Track ID and Start Time key fields must be identified on the input dataset in order to use this tool.
- The input layer must be an instant time, interval time is not supported.
- If you choose to generate an output type of Dwell Features, All Features, or Mean Centers, the output will be a point layer. If you choose to generate Convex Hulls, the output will be a polygon layer.
- If generating an output type of Mean Centers or Convex Hulls, the resulting features will have interval time which creates fields called DwellStartTimeand DwellEndTime. These fields are identified as the START_TIME and END_TIME key fields respectively.
- The values for the Distance Tolerance andTime Span Tolerance parameters are combined to form a speed threshold. This speed threshold is utilized to identify dwell locations.
- Features that are missing Track ID or Start Time key field values will be ignored from processing.
- You can specify one or more fields to identify tracks in addition to the Track ID field. Tracks are represented by the unique combination of one or more track fields.
- By default, dwell locations are created using a geodesic method for distance calculation. It is recommended you use geodesic distance in the following circumstances:
- When tracks cross the International Date Line — When using the geodesic method, input layers that cross the International Date Line will have tracks that correctly cross the International Date Line. This is the default. Your input layer or processing spatial reference must be set to a spatial reference that supports wrapping around the International Date Line, for example, a global projection such as World Cylindrical Equal Area.
- When the dataset is not in a local projection — If the input data is in a local projection, use the planar distance method. For example, use the planar method to examine dwell locations within a single state. The input layer or processing spatial reference must be set to a spatial reference local to the dataset.

- Additional statistics can be calculated using the Summary Fields parameter. The summary fields statistics available depend on the field type you are summarizing. A string attribute field can utilize the statistics ANY, COUNT, and COUNT DISTINCT. A numeric attribute field can use the statistics ANY, COUNT, COUNT DISTINCT, SUM, SUM OF SQUARES, MIN, MAX, RANGE, VARIANCE, and STANDARD DEVIATION. A date attribute field can utilize the statistics ANY, COUNT, MIN, MAX, and RANGE.
- The output layer of dwell locations can be represented in one of four ways as illustrated in the following table:
Output Type Description Example All Features

Every feature is returned. The resulting features have time type instant.

Only a DwellObservationCount statistic is calculated for this output type. The count represents the number of features that belong to a single dwell. Non dwell features will have a count of 0.

Dwell Features

Only features part of a dwell are returned. The resulting features have time type instant.

Only a DwellObservationCount statistic is calculated for this output type. The count represents the number of features that belong to a single dwell.

Mean Centers

Each dwell has a single point returned representing the mean center of the dwell in distance and time. The resulting features have time type interval.

The DwellObservationCount of features in the dwell is always calculated. You can optionally calculate statistics on this type of dwell feature. By default, no statistics are calculated.

Convex Hulls

Each dwell is represented by a convex hull of the dwell features. The resulting features have time type interval.

The DwellObservationCount of features in the dwell is always calculated. You can optionally calculate statistics on this type of dwell feature. By default, no statistics are calculated.

## Parameters

Parameter | Description | Data Type |
---|---|---|

Input Layer | The input point layer with tracks from which to find dwells. The input layer must be a time-enabled layer with features that represent instants in time. | Features |

Distance Tolerance | The distance tolerance value used to determine dwell locations. The values in the Distance Tolerance and Time Span Tolerance parameters are combined to form a speed threshold. | String |

Time Span Tolerance | The time span tolerance value used to determine dwell locations. The values in the Distance Tolerance and Time Span Tolerance parameters are combined to form a speed threshold. | String |

Output Type | Specifies how the dwell features will be output. - Dwell Features — All of the input point features that are part of a dwell are returned.
- Mean Centers — Points representing the mean centers of each dwell group are returned. This is the default.
- Convex Hulls — Polygons representing the convex hull of each dwell group are returned.
- All Features — All of the input point features are returned.
| String |

TRACK_ID Fields | Select the field(s) to uniquely identify features that will be processed. This parameter will be populated automatically if a TRACK_ID key field has been set on the input layer. | String |

Method | Specifies the distance calculation method. - Geodesic
- Planar (Euclidean)
| String |

Summary Fields | Specifies the statistics that will be calculated for specified fields. Different statistics are available depending on whether the field type is a string, numeric, or date field. - ANY — This is a sample string from a field of type string.
- COUNT — Calculates the number of nonnull values. It can be used on numeric fields or strings. The count of [null, 0, 2] is 2.
- COUNT DISTINCT — Calculates the number of distinct, nonnull values. It can be used on numeric fields or strings. The count distinct result of [null, 4, 3, 4] is 2.
- SUM — The sum of numeric values in a field. The sum of [null, 1, 3] is 4.
- SUM OF SQUARES — The sum, over all observations, of the squared differences of each observation from the overall mean. The sum of squares of [null, 2.2, 3.1, 4.7] is 3.206.
- MIN — The minimum value of a numeric field. The minimum of [0, 2, null] is 0.
- MAX — The maximum value of a numeric field. The maximum value of [0, 2, null] is 2.
- MEAN — The mean of numeric values. The mean of [0,2, null] is 1.
- RANGE — The range of a numeric field. This is calculated as the minimum value subtracted from the maximum value. The range of [0, null, 1] is 1. The range of [null, 4] is 0.
- VARIANCE — The variance of a numeric field in a track. The variance of [1] is null. The variance of [null, 1,1,1] is 1.
- STANDARD DEVIATION — The standard deviation of a numeric field. The standard deviation of [1] is null. The standard deviation of [null, 1,1,1] is 1.
| String |

## Output layer

The dwell output layer created will contain different fields depending upon the Output Type chosen. If an output type of Dwell Features or All Features is chosen, all input fields will be retained and additional fields representing information about the dwell will be added. If an output type of Mean Centers or Convex Hulls is chosen, the Track ID field of the input layer will be retained and additional fields representing the entire dwell event will be added. The below tables outline what fields will be added.

#### Output fields added when the Dwell Features or All Features output type are chosen

Field Name | Description | Field Type |
---|---|---|

All input fields are retained | All input fields from the input dataset are retained. | any |

DwellID | A sequentially numbered Dwell ID value is created to uniquely identify the different dwells. | String |

MeanX | The mean X (longitude) value of the points that make up the dwell. | Float64 |

MeanY | The mean Y (latitude) value of the points that make up the dwell. | Float64 |

DwellDuration | The duration of the dwell event in milliseconds. | Int64 |

MeanDistance | The mean distance traveled between each point making up the dwell event. | Float64 |

DwellObservationCount | The number of observations that make up the dwell event. | Int32 |

#### Output fields added when the Mean Centers or Convex Hulls output types are chosen

Field Name | Description | Field Type |
---|---|---|

All input fields are retained | All input fields from the input dataset are retained. | any |

DwellID | A sequentially numbered ID value for the journey. The first journey for a given track is 1, the second journey is 2, and so forth. These ID's are used as the basis for the PreviousJourneyId and NextJourneyId attributes. | String |

MeanX | The mean X (longitude) value of the points that make up the dwell. | Float64 |

MeanY | The mean Y (latitude) value of the points that make up the dwell. | Float64 |

DwellDuration | The duration of the dwell event in milliseconds. | Int64 |

MeanDistance | The mean distance traveled between each point making up the dwell event. | Float64 |

DwellObservationCount | The number of observations that make up the dwell event. | Int32 |

DwellStartTime | The start time of the dwell. This field is identified on the output as the Start Time key field. | Date |

DwellEndTime | The end time of the dwell. This field is identified on the output as the End Time key field. | Date |

## Limitations

- The input layer must contain point features with time-enabled features of type instant.
- Features that do not have time will not be included in the analysis.
- When calculating a convex hull and a dwell location is completely stationary (one unique location) or composed of two unique points that are colinear, a small value based on the tolerance of the spatial reference used in an analysis will be used as the width, height, or diameter to create output polygons instead of convex hulls. These polygons are used for visualization and do not represent the spatial extent of the dwell. Examples of these cases are described in the following table:
Input case Description Example Coincident (one spatially unique point)

If the input features are stacked (coincident), the resulting convex hull will be an invalid polygon.

In this example, the coincident input features are represented by the red dot in the center of the yellow polygon. The yellow polygon represents the output convex hull result for coincident points. The blue polygon shows what a convex hull looks like when there are four noncoincident points in a single dwell location.

Colinear (two spatially unique points)

If the input features are in a line (most common with two spatially unique points), the resulting convex hull will be an invalid polygon.

In this example, colinear points are represented by red dots within the yellow polygon. The yellow polygon represents the output convex hull result for colinear points.